1 2022-11-18 Andrew Pinski <apinski@marvell.com>
4 * function.cc (aggregate_value_p): Return 0 if
5 the function type was an error operand.
7 2022-11-18 Andrew Pinski <apinski@marvell.com>
12 * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
13 if gimplify_expr had return GS_ERROR.
14 (gimplify_call_expr): Likewise.
16 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
19 Use <GPI:w> for destination format.
20 * config/aarch64/iterators.md (w_sz): Delete.
22 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24 * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
25 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
26 Adjust output template.
27 (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
28 Adjust output template.
29 * config/aarch64/iterators.md (w_sz): New mode attr.
31 2022-11-18 Richard Biener <rguenther@suse.de>
33 PR tree-optimization/107647
34 * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
35 allow FMA generation with -ffp-contract=fast for FP types.
36 (complex_mul_pattern::matches): Likewise.
38 2022-11-18 Jinyang He <hejinyang@loongson.cn>
41 * config/loongarch/sync.md
42 (atomic_cas_value_exchange_7_<mode>): New define_insn.
43 (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
44 atomic_cas_value_cmp_and_7_si.
46 2022-11-17 Andrew Pinski <apinski@marvell.com>
49 * match.pd (perm + vector op pattern): Clear the sbitmap before
52 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
54 PR tree-optimization/107732
55 * range-op-float.cc (foperator_abs::op1_range): Early exit when
58 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
60 * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
61 (*bclridisi_nottwobits): New pattern, handling the sign-bit.
62 * config/riscv/predicates.md (const_nottwobits_operand):
65 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
67 * config/riscv/bitmanip.md: Add a splitter to generate
68 polarity-reversed masks from a set bit using bexti + addi.
70 2022-11-17 mtsamis <manolis.tsamis@vrull.eu>
72 * config/riscv/riscv.cc (struct machine_function): Add array to store
73 register wrapping information.
74 (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
75 (riscv_get_separate_components): New function.
76 (riscv_components_for_bb): Likewise.
77 (riscv_disqualify_components): Likewise.
78 (riscv_process_components): Likewise.
79 (riscv_emit_prologue_components): Likewise.
80 (riscv_emit_epilogue_components): Likewise.
81 (riscv_set_handled_components): Likewise.
82 (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
83 (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
84 (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
85 (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
86 (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
87 (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
89 2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
91 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
92 Add mode size check to condition.
93 (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
95 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
97 PR tree-optimization/68097
98 * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
99 range_of_stmt for floats.
101 2022-11-17 Lili Cui <lili.cui@intel.com>
103 * config/i386/x86-tune.def
104 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
105 (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
107 2022-11-17 Tamar Christina <tamar.christina@arm.com>
109 PR tree-optimization/107717
110 * match.pd: Ensure same SSA_NAME.
112 2022-11-17 Tamar Christina <tamar.christina@arm.com>
114 * match.pd: Replace GET_MODE_WIDER_MODE with
117 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
119 * range-op-float.cc (range_operator_float::fold_range): Make check
120 for maybe_isnan more readable.
122 2022-11-17 Kewen Lin <linkw@linux.ibm.com>
124 * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
125 tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
127 2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn>
129 * config/riscv/riscv.cc (riscv_expand_epilogue):
130 Do not emit useless add sp, sp, 0 instrutions.
132 2022-11-17 Jeff Law <jlaw@ventanamicro.com>
134 * config/sh/sh_treg_combine.cc: Include tm-preds.h.
135 (t_reg_operand): Remove bogus prototype.
136 (negt_reg_operand): Likewise.
138 2022-11-16 Marek Polacek <polacek@redhat.com>
141 * doc/invoke.texi: Document -Winvalid-constexpr.
143 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
145 * config/riscv/bitmanip.md: Add split covering
146 "(a & (1 << BIT_NO)) ? 0 : 1".
148 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
150 * config/riscv/bitmanip.md (*bext<mode>): Add an additional
151 pattern that allows the 3rd argument to zero_extract to be
152 an Xmode register operand.
154 2022-11-16 Richard Biener <rguenther@suse.de>
156 PR tree-optimization/107686
157 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
158 VEC_UNPACK support to integral typed bitfield refs.
160 2022-11-16 Richard Biener <rguenther@suse.de>
163 * tree-into-ssa.cc (maybe_register_def): Use new temporary if
164 we require an uninitialized value for a parameter decl.
166 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
169 * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
171 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
174 * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
176 (znver1_fp_op_mul_load): Ditto.
177 (znver1_mmx_mul): Ditto.
178 (znver1_mmx_load): Ditto.
179 (znver1_ssemul_ss_ps): Ditto.
180 (znver1_ssemul_ss_ps_load): Ditto.
181 (znver1_ssemul_avx256_ps): Ditto.
182 (znver1_ssemul_avx256_ps_load): Ditto.
183 (znver1_ssemul_sd_pd): Ditto.
184 (znver1_ssemul_sd_pd_load): Ditto.
185 (znver2_ssemul_sd_pd): Ditto.
186 (znver2_ssemul_sd_pd_load): Ditto.
187 (znver1_ssemul_avx256_pd): Ditto.
188 (znver1_ssemul_avx256_pd_load): Ditto.
189 (znver1_sseimul): Ditto.
190 (znver1_sseimul_avx256): Ditto.
191 (znver1_sseimul_load): Ditto.
192 (znver1_sseimul_avx256_load): Ditto.
193 (znver1_sseimul_di): Ditto.
194 (znver1_sseimul_load_di): Ditto.
196 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
199 * config/i386/znver.md (znver1_fdiv): New automaton.
200 (znver1-fdiv): New unit.
201 (znver1_fp_op_div): Correct unit and cycles in the reservation.
202 (znver1_fp_op_div_load): Ditto.
203 (znver1_fp_op_idiv_load): Ditto.
204 (znver2_fp_op_idiv_load): Ditto.
205 (znver1_ssediv_ss_ps): Ditto.
206 (znver1_ssediv_ss_ps_load): Ditto.
207 (znver1_ssediv_sd_pd): Ditto.
208 (znver1_ssediv_sd_pd_load): Ditto.
209 (znver1_ssediv_avx256_ps): Ditto.
210 (znver1_ssediv_avx256_ps_load): Ditto.
211 (znver1_ssediv_avx256_pd): Ditto.
212 (znver1_ssediv_avx256_pd_load): Ditto.
214 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
215 Andrew Stubbs <ams@codesourcery.com>
217 * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
218 * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
219 sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
220 (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
221 (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
223 2022-11-16 David Malcolm <dmalcolm@redhat.com>
225 * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
227 2022-11-16 Max Filippov <jcmvbkbc@gmail.com>
230 * config/m68k/predicates.md (symbolic_operand): Return false
231 when UNSPEC is under the CONST node.
233 2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu>
235 * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
237 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
239 * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
240 besides tailing '$nohost' as being for reverse offload.
242 2022-11-16 Jakub Jelinek <jakub@redhat.com>
244 PR tree-optimization/107668
245 * range-op-float.cc (float_binary_op_range_finish): Set VARYING
246 also when r is UNDEFINED.
248 2022-11-16 Kewen Lin <linkw@linux.ibm.com>
250 PR rtl-optimization/90259
251 * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
252 parameter fun, and call function purge_all_dead_edges.
253 (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
254 as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
256 2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu>
258 * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
259 add the pause machine-dependent builtin with no result and no
260 arguments; mark it as always present (pause is a true hint
261 that encodes into a fence-insn, if not supported with the new
263 * config/riscv/riscv-ftypes.def: Add type for void -> void.
264 * config/riscv/riscv.md (riscv_pause): Add risc_pause and
266 * doc/extend.texi: Document __builtin_riscv_pause.
267 * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
269 2022-11-15 David Faust <david.faust@oracle.com>
271 * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
272 variable in error case.
274 2022-11-15 David Malcolm <dmalcolm@redhat.com>
277 * doc/invoke.texi (Static Analyzer Options): Add
278 -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch. Add
279 "socket", "bind", "listen", "accept", and "connect" to the list of
280 functions known to the analyzer.
282 2022-11-15 David Malcolm <dmalcolm@redhat.com>
285 * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
286 (GTFILES): Add analyzer/analyzer-language.cc.
287 * doc/analyzer.texi: Document __analyzer_dump_named_constant.
289 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
291 * json.h (class string): Add M_LEN member to store the length of
292 the data. Add constructor taking an explicit length.
293 * json.cc (string::string): Implement the new constructor.
294 (string::print): Support printing strings that are not
295 null-terminated. Escape embdedded null bytes on output.
296 (test_writing_strings): Test the new null-byte-related features of
299 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
301 * diagnostic.cc (diagnostic_get_location_text): Use
302 special_fname_builtin () rather than a hardcoded string (which was
303 also incorrectly left untranslated previously.)
304 * input.cc (special_fname_builtin): New function.
305 (expand_location_1): Use special_fname_builtin () rather than a
307 (test_builtins): Likewise.
308 * input.h (special_fname_builtin): Declare.
310 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
312 * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
313 location in return value of linemap_resolve_location().
315 2022-11-15 Jonathan Wakely <jwakely@redhat.com>
317 * doc/cpp.texi (Pragmas): Use @item and @itemx for region
320 2022-11-15 Maciej W. Rozycki <macro@embecosm.com>
322 * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
325 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
327 * config/aarch64/atomics.md
328 (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
329 (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
331 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
332 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
334 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
335 (TARGET_RCPC): New Macro.
336 * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
337 (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
338 (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
339 * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
340 * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
343 2022-11-15 Hongyu Wang <hongyu.wang@intel.com>
346 * match.pd: New perm + vector op patterns for int and fp vector.
348 2022-11-15 Andrew Pinski <apinski@marvell.com>
350 * doc/invoke.texi: Remove Score option section.
352 2022-11-15 Andrew Pinski <apinski@marvell.com>
354 * doc/extend.texi: Remove picoChip builtin section.
355 * doc/invoke.texi: Remove picoChip option section.
357 2022-11-15 Andrew Pinski <apinski@marvell.com>
359 * doc/extend.texi: Remove MeP documentation.
360 * doc/invoke.texi: Remove MeP Options documentation.
362 2022-11-15 Andrew Pinski <apinski@marvell.com>
364 * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
366 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
369 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
371 * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
373 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
374 * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
375 * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
377 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
380 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
382 * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
383 constants to identify supported fusion patterns.
384 (struct riscv_tune_param): Add fusible_op field.
385 (riscv_macro_fusion_p): Implement.
386 (riscv_fusion_enabled_p): Implement.
387 (riscv_macro_fusion_pair_p): Implement and recognize fusible
388 idioms for Ventana VT1.
389 (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
390 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
391 riscv_macro_fusion_pair_p.
393 2022-11-14 Maciej W. Rozycki <macro@embecosm.com>
395 * ira-build.cc (create_insn_allocnos): Fix documentation.
397 2022-11-14 Tamar Christina <tamar.christina@arm.com>
399 * match.pd: Remove returns.
401 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
403 * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
405 * config/riscv/riscv.md: Add UNSPEC_ORC_B.
407 2022-11-14 Tamar Christina <tamar.christina@arm.com>
409 * target.def: Fix typo.
411 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
413 * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
414 constants to identify supported fusion patterns.
415 (struct riscv_tune_param): Add fusible_op field.
416 (riscv_macro_fusion_p): Implement.
417 (riscv_fusion_enabled_p): Implement.
418 (riscv_macro_fusion_pair_p): Implement and recognize fusible
419 idioms for Ventana VT1.
420 (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
421 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
422 riscv_macro_fusion_pair_p.
424 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
426 * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
428 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
429 * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
430 * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
432 2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
434 * config/aarch64/aarch64-option-extensions.def (cssc): Define.
435 * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
436 (TARGET_CSSC): Likewise.
437 * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
438 (abs<mode>2): Adjust for the above.
439 (aarch64_umax<mode>3_insn): New define_insn.
440 (umax<mode>3): Adjust for the above.
441 (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
442 (popcount<mode>2): Adjust for the above.
443 (<optab><mode>3): New define_insn.
444 * config/aarch64/constraints.md (Usm): Define.
446 * doc/invoke.texi (AArch64 options): Document +cssc.
447 * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
448 * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
449 (aarch64_sminmax_operand): Likewise.
450 (aarch64_uminmax_immediate): Likewise.
451 (aarch64_uminmax_operand): Likewise.
453 2022-11-14 Tamar Christina <tamar.christina@arm.com>
455 * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
457 2022-11-14 Tamar Christina <tamar.christina@arm.com>
459 * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
460 * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
462 2022-11-14 Tamar Christina <tamar.christina@arm.com>
464 * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
465 * expmed.cc (expand_divmod): Likewise.
466 * explow.cc (round_push, align_dynamic_address): Likewise.
467 * expr.cc (force_operand, expand_expr_divmod): Likewise.
468 * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
470 * target.h: Include tree-core.
471 * target.def (can_special_div_by_const): New.
472 * targhooks.cc (default_can_special_div_by_const): New.
473 * targhooks.h (default_can_special_div_by_const): New.
474 * tree-vect-generic.cc (expand_vector_operation): Use it.
475 * doc/tm.texi.in: Document it.
476 * doc/tm.texi: Regenerate.
477 * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
478 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
480 2022-11-14 Tamar Christina <tamar.christina@arm.com>
482 * generic-match-head.cc: Include langooks.
483 * gimple-match-head.cc: Likewise.
484 * match.pd: Add fneg/fadd rule.
486 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
488 * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
489 * config/arm/arm-tables.opt: Regenerate.
490 * config/arm/arm-tune.md: Likewise.
491 * doc/invoke.texi: Document Cortex-X1C CPU.
493 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
495 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
497 * config/aarch64/aarch64-tune.md: Regenerate.
498 * doc/invoke.texi: Document Cortex-X3 CPU.
500 2022-11-14 Andrew Pinski <apinski@marvell.com>
502 * doc/invoke.texi: Fix @opindex
505 2022-11-14 Andrew Pinski <apinski@marvell.com>
507 * doc/invoke.texi: Remove the front - from
510 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
512 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
513 * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
514 * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
515 Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
516 registers and then +1/-1).
517 * config/aarch64/aarch64-tune.md: Regenerate.
518 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
519 idiom-matcher for the new fusion pair.
520 * doc/invoke.texi: Add ampere1a.
522 2022-11-14 Richard Biener <rguenther@suse.de>
524 * match.pd: Remove duplicates.
526 2022-11-14 Martin Liska <mliska@suse.cz>
528 * doc/contrib.texi: Port from Sphinx.
529 * doc/cpp.texi: Likewise.
530 * doc/install.texi: Likewise.
531 * doc/invoke.texi: Likewise.
533 2022-11-14 Martin Liska <mliska@suse.cz>
536 2022-11-14 Martin Liska <mliska@suse.cz>
538 * doc/cpp/character-sets.rst: New file.
539 * doc/cpp/conditional-syntax.rst: New file.
540 * doc/cpp/conditional-uses.rst: New file.
541 * doc/cpp/conditionals.rst: New file.
542 * doc/cpp/conf.py: New file.
543 * doc/cpp/copyright.rst: New file.
544 * doc/cpp/deleted-code.rst: New file.
545 * doc/cpp/diagnostics.rst: New file.
546 * doc/cpp/environment-variables.rst: New file.
547 * doc/cpp/gnu-free-documentation-license.rst: New file.
548 * doc/cpp/header-files.rst: New file.
549 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
550 * doc/cpp/header-files/computed-includes.rst: New file.
551 * doc/cpp/header-files/include-operation.rst: New file.
552 * doc/cpp/header-files/include-syntax.rst: New file.
553 * doc/cpp/header-files/once-only-headers.rst: New file.
554 * doc/cpp/header-files/search-path.rst: New file.
555 * doc/cpp/header-files/system-headers.rst: New file.
556 * doc/cpp/header-files/wrapper-headers.rst: New file.
557 * doc/cpp/implementation-defined-behavior.rst: New file.
558 * doc/cpp/implementation-details.rst: New file.
559 * doc/cpp/implementation-limits.rst: New file.
560 * doc/cpp/index.rst: New file.
561 * doc/cpp/indices-and-tables.rst: New file.
562 * doc/cpp/initial-processing.rst: New file.
563 * doc/cpp/invocation.rst: New file.
564 * doc/cpp/line-control.rst: New file.
565 * doc/cpp/macros.rst: New file.
566 * doc/cpp/macros/concatenation.rst: New file.
567 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
568 * doc/cpp/macros/function-like-macros.rst: New file.
569 * doc/cpp/macros/macro-arguments.rst: New file.
570 * doc/cpp/macros/macro-pitfalls.rst: New file.
571 * doc/cpp/macros/object-like-macros.rst: New file.
572 * doc/cpp/macros/predefined-macros.rst: New file.
573 * doc/cpp/macros/stringizing.rst: New file.
574 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
575 * doc/cpp/macros/variadic-macros.rst: New file.
576 * doc/cpp/obsolete-features.rst: New file.
577 * doc/cpp/other-directives.rst: New file.
578 * doc/cpp/overview.rst: New file.
579 * doc/cpp/pragmas.rst: New file.
580 * doc/cpp/preprocessor-output.rst: New file.
581 * doc/cpp/the-preprocessing-language.rst: New file.
582 * doc/cpp/tokenization.rst: New file.
583 * doc/cpp/traditional-lexical-analysis.rst: New file.
584 * doc/cpp/traditional-macros.rst: New file.
585 * doc/cpp/traditional-miscellany.rst: New file.
586 * doc/cpp/traditional-mode.rst: New file.
587 * doc/cpp/traditional-warnings.rst: New file.
588 * doc/cppinternals/conf.py: New file.
589 * doc/cppinternals/copyright.rst: New file.
590 * doc/cppinternals/cppinternals.rst: New file.
591 * doc/cppinternals/cpplib.rst: New file.
592 * doc/cppinternals/files.rst: New file.
593 * doc/cppinternals/index.rst: New file.
594 * doc/cppinternals/indices-and-tables.rst: New file.
595 * doc/cppinternals/internal-representation-of-macros.rst: New file.
596 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
597 * doc/cppinternals/lexing-a-line.rst: New file.
598 * doc/cppinternals/lexing-a-token.rst: New file.
599 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
600 * doc/cppinternals/macro-expansion-overview.rst: New file.
601 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
602 * doc/cppinternals/multiple-include-optimization.rst: New file.
603 * doc/cppinternals/overview.rst: New file.
604 * doc/cppinternals/representation-of-line-numbers.rst: New file.
605 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
606 * doc/gcc/binary-compatibility.rst: New file.
607 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
608 * doc/gcc/c-implementation-defined-behavior.rst: New file.
609 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
610 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
611 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
612 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
613 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
614 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
615 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
616 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
617 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
618 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
619 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
620 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
621 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
622 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
623 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
625 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
626 * doc/gcc/conditionally-supported-behavior.rst: New file.
627 * doc/gcc/conf.py: New file.
628 * doc/gcc/contributing-to-gcc-development.rst: New file.
629 * doc/gcc/contributors-to-gcc.rst: New file.
630 * doc/gcc/copyright.rst: New file.
631 * doc/gcc/exception-handling.rst: New file.
632 * doc/gcc/extensions-to-the-c++-language.rst: New file.
633 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
634 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
635 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
637 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
639 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
640 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
642 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
643 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
644 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
645 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
646 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
648 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
649 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
650 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
651 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
652 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
653 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
655 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
657 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
658 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
659 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
660 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
662 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
664 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
666 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
667 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
668 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
669 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
670 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
671 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
673 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
674 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
675 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
677 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
679 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
681 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
683 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
685 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
687 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
689 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
691 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
693 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
695 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
697 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
699 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
701 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
703 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
705 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
707 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
709 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
711 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
713 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
715 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
717 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
719 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
721 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
723 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
725 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
727 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
729 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
731 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
733 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
735 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
737 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
739 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
741 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
743 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
745 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
747 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
748 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
750 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
752 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
753 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
754 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
755 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
757 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
758 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
760 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
761 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
762 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
764 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
765 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
766 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
767 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
769 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
770 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
772 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
774 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
775 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
776 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
777 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
779 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
780 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
782 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
784 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
786 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
788 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
789 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
791 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
792 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
794 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
795 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
797 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
798 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
800 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
801 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
802 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
803 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
805 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
807 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
809 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
811 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
813 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
815 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
817 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
819 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
821 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
823 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
825 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
827 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
829 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
831 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
833 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
835 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
837 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
839 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
841 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
843 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
845 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
847 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
849 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
851 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
853 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
855 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
857 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
859 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
861 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
863 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
865 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
867 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
869 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
871 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
873 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
875 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
876 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
877 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
879 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
881 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
883 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
885 * doc/gcc/funding.rst: New file.
886 * doc/gcc/gcc-command-options.rst: New file.
887 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
888 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
889 * doc/gcc/gcc-command-options/description.rst: New file.
890 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
891 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
892 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
893 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
894 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
896 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
897 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
898 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
899 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
900 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
901 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
902 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
903 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
904 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
905 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
906 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
907 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
908 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
909 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
910 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
911 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
912 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
913 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
914 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
915 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
917 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
918 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
919 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
920 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
921 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
922 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
923 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
924 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
925 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
926 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
927 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
928 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
929 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
930 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
931 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
932 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
933 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
934 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
935 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
936 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
937 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
938 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
939 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
940 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
941 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
942 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
944 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
945 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
946 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
947 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
948 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
949 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
950 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
951 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
952 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
953 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
954 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
955 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
956 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
957 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
958 * doc/gcc/gcc-command-options/option-summary.rst: New file.
959 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
960 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
961 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
963 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
964 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
965 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
966 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
967 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
968 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
969 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
970 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
971 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
973 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
974 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
975 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
976 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
978 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
979 * doc/gcc/gcc.rst: New file.
980 * doc/gcc/gcov-dump.rst: New file.
981 * doc/gcc/gcov-tool.rst: New file.
982 * doc/gcc/gcov.rst: New file.
983 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
984 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
985 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
986 * doc/gcc/gcov/invoking-gcov.rst: New file.
987 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
988 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
989 * doc/gcc/general-public-license-3.rst: New file.
990 * doc/gcc/gnu-free-documentation-license.rst: New file.
991 * doc/gcc/gnu-objective-c-features.rst: New file.
992 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
993 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
994 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
995 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
996 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
997 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
998 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
999 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
1000 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
1001 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
1002 * doc/gcc/gnu.rst: New file.
1003 * doc/gcc/have-you-found-a-bug.rst: New file.
1004 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
1005 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
1006 * doc/gcc/index.rst: New file.
1007 * doc/gcc/indices-and-tables.rst: New file.
1008 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
1009 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
1010 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
1012 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
1014 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
1016 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
1017 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
1018 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
1019 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
1020 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
1022 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
1023 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
1024 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
1025 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
1026 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
1027 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
1029 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
1030 * doc/gcc/lto-dump.rst: New file.
1031 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
1032 * doc/gcc/reporting-bugs.rst: New file.
1033 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
1034 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
1035 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
1036 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
1037 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
1038 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
1040 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
1041 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
1042 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
1043 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
1044 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
1045 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
1046 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
1047 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
1049 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
1050 * doc/gccint/analyzer-internals.rst: New file.
1051 * doc/gccint/collect2.rst: New file.
1052 * doc/gccint/conf.py: New file.
1053 * doc/gccint/contributing-to-gcc-development.rst: New file.
1054 * doc/gccint/contributors-to-gcc.rst: New file.
1055 * doc/gccint/control-flow-graph.rst: New file.
1056 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
1057 * doc/gccint/control-flow-graph/edges.rst: New file.
1058 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
1059 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
1060 * doc/gccint/control-flow-graph/profile-information.rst: New file.
1061 * doc/gccint/copyright.rst: New file.
1062 * doc/gccint/debugging-the-analyzer.rst: New file.
1063 * doc/gccint/funding.rst: New file.
1064 * doc/gccint/gcc-and-portability.rst: New file.
1065 * doc/gccint/general-public-license-3.rst: New file.
1066 * doc/gccint/generic.rst: New file.
1067 * doc/gccint/generic/attributes-in-trees.rst: New file.
1068 * doc/gccint/generic/c-and-c++-trees.rst: New file.
1069 * doc/gccint/generic/declarations.rst: New file.
1070 * doc/gccint/generic/deficiencies.rst: New file.
1071 * doc/gccint/generic/expressions.rst: New file.
1072 * doc/gccint/generic/functions.rst: New file.
1073 * doc/gccint/generic/language-dependent-trees.rst: New file.
1074 * doc/gccint/generic/overview.rst: New file.
1075 * doc/gccint/generic/statements.rst: New file.
1076 * doc/gccint/generic/types.rst: New file.
1077 * doc/gccint/gimple-api.rst: New file.
1078 * doc/gccint/gimple.rst: New file.
1079 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
1080 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
1081 * doc/gccint/gimple/exception-handling.rst: New file.
1082 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
1083 * doc/gccint/gimple/gimple-sequences.rst: New file.
1084 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
1085 * doc/gccint/gimple/operands.rst: New file.
1086 * doc/gccint/gimple/sequence-iterators.rst: New file.
1087 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
1088 * doc/gccint/gimple/temporaries.rst: New file.
1089 * doc/gccint/gimple/tuple-representation.rst: New file.
1090 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
1091 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
1092 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
1093 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
1094 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
1095 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
1096 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
1097 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
1098 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
1099 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
1100 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
1101 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
1102 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
1103 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
1104 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
1105 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
1106 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
1107 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
1108 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
1109 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
1110 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
1111 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
1112 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
1113 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
1114 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
1115 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
1116 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
1117 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
1118 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
1119 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
1120 * doc/gccint/gnu-free-documentation-license.rst: New file.
1121 * doc/gccint/guidelines-for-diagnostics.rst: New file.
1122 * doc/gccint/guidelines-for-options.rst: New file.
1123 * doc/gccint/host-common.rst: New file.
1124 * doc/gccint/host-configuration.rst: New file.
1125 * doc/gccint/host-filesystem.rst: New file.
1126 * doc/gccint/host-makefile-fragments.rst: New file.
1127 * doc/gccint/host-misc.rst: New file.
1128 * doc/gccint/index.rst: New file.
1129 * doc/gccint/indices-and-tables.rst: New file.
1130 * doc/gccint/interfacing-to-gcc-output.rst: New file.
1131 * doc/gccint/introduction.rst: New file.
1132 * doc/gccint/language-front-ends-in-gcc.rst: New file.
1133 * doc/gccint/link-time-optimization.rst: New file.
1134 * doc/gccint/link-time-optimization/design-overview.rst: New file.
1135 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
1136 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
1137 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
1138 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
1140 * doc/gccint/machine-descriptions.rst: New file.
1141 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
1142 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
1143 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
1144 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
1145 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
1146 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
1147 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
1148 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
1149 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
1150 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
1151 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
1152 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
1153 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
1154 * doc/gccint/machine-descriptions/iterators.rst: New file.
1155 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
1156 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
1157 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
1158 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
1160 * doc/gccint/machine-descriptions/predicates.rst: New file.
1161 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
1162 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
1163 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
1164 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
1165 * doc/gccint/makefile-fragments.rst: New file.
1166 * doc/gccint/match-and-simplify.rst: New file.
1167 * doc/gccint/memory-management-and-type-information.rst: New file.
1168 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
1170 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
1172 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
1174 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
1175 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
1177 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
1178 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
1180 * doc/gccint/option-file-format.rst: New file.
1181 * doc/gccint/option-properties.rst: New file.
1182 * doc/gccint/option-specification-files.rst: New file.
1183 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
1184 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
1185 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
1187 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
1188 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
1189 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
1190 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
1191 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
1192 * doc/gccint/plugins.rst: New file.
1193 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
1194 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
1195 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
1196 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
1197 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
1198 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
1199 * doc/gccint/plugins/loading-plugins.rst: New file.
1200 * doc/gccint/plugins/plugin-api.rst: New file.
1201 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
1202 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
1203 * doc/gccint/rtl-representation.rst: New file.
1204 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
1205 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
1206 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
1207 * doc/gccint/rtl-representation/bit-fields.rst: New file.
1208 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
1209 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
1210 * doc/gccint/rtl-representation/conversions.rst: New file.
1211 * doc/gccint/rtl-representation/declarations.rst: New file.
1212 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
1213 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
1214 * doc/gccint/rtl-representation/insns.rst: New file.
1215 * doc/gccint/rtl-representation/machine-modes.rst: New file.
1216 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
1217 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
1218 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
1219 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
1220 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
1221 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
1222 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
1223 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
1224 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
1225 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
1226 * doc/gccint/rtl-representation/vector-operations.rst: New file.
1227 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
1228 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
1229 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
1230 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
1232 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
1234 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
1236 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
1237 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
1239 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
1241 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
1242 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
1243 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
1245 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
1246 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
1248 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
1250 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
1252 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
1254 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
1256 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
1258 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
1260 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
1262 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
1264 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
1266 * doc/gccint/standard-header-file-directories.rst: New file.
1267 * doc/gccint/static-analyzer.rst: New file.
1268 * doc/gccint/target-macros.rst: New file.
1269 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
1270 * doc/gccint/target-macros/addressing-modes.rst: New file.
1271 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
1272 * doc/gccint/target-macros/anchored-addresses.rst: New file.
1273 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
1274 * doc/gccint/target-macros/condition-code-status.rst: New file.
1275 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
1276 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
1277 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
1278 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
1279 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
1280 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
1282 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
1283 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
1284 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
1286 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1288 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
1290 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1292 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1294 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1296 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1298 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1300 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
1302 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1304 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
1305 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
1306 * doc/gccint/target-macros/emulating-tls.rst: New file.
1307 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
1308 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
1309 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
1310 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
1311 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
1312 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1314 * doc/gccint/target-macros/position-independent-code.rst: New file.
1315 * doc/gccint/target-macros/register-classes.rst: New file.
1316 * doc/gccint/target-macros/register-usage.rst: New file.
1317 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
1318 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
1319 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1321 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
1323 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1325 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
1327 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1329 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1331 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1333 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1335 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1337 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1339 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1341 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1343 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1345 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1347 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1349 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1351 * doc/gccint/target-macros/storage-layout.rst: New file.
1352 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
1353 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
1354 * doc/gccint/target-makefile-fragments.rst: New file.
1355 * doc/gccint/testsuites.rst: New test.
1356 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
1357 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
1358 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
1359 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
1361 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
1363 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
1365 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
1367 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
1369 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
1371 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
1372 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
1373 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
1374 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
1375 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
1376 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
1377 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
1378 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
1379 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
1380 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
1382 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
1384 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
1386 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
1388 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
1390 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
1392 * doc/gccint/the-language.rst: New file.
1393 * doc/gccint/user-experience-guidelines.rst: New file.
1394 * doc/install/binaries.rst: New file.
1395 * doc/install/building.rst: New file.
1396 * doc/install/building/building-a-cross-compiler.rst: New file.
1397 * doc/install/building/building-a-native-compiler.rst: New file.
1398 * doc/install/building/building-in-parallel.rst: New file.
1399 * doc/install/building/building-the-ada-compiler.rst: New file.
1400 * doc/install/building/building-the-d-compiler.rst: New file.
1401 * doc/install/building/building-with-profile-feedback.rst: New file.
1402 * doc/install/conf.py: New file.
1403 * doc/install/configuration.rst: New file.
1404 * doc/install/copyright.rst: New file.
1405 * doc/install/downloading-gcc.rst: New file.
1406 * doc/install/final-installation.rst: New file.
1407 * doc/install/gnu-free-documentation-license.rst: New file.
1408 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
1409 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
1410 * doc/install/how-to-interpret-test-results.rst: New file.
1411 * doc/install/index.rst: New file.
1412 * doc/install/indices-and-tables.rst: New file.
1413 * doc/install/installing-gcc.rst: New file.
1414 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
1415 * doc/install/prerequisites.rst: New file.
1416 * doc/install/submitting-test-results.rst: New file.
1417 * doc/install/testing.rst: New file.
1419 2022-11-14 Martin Liska <mliska@suse.cz>
1421 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
1423 2022-11-14 Martin Liska <mliska@suse.cz>
1426 2022-11-14 Martin Liska <mliska@suse.cz>
1428 * common/common-target.def: Port to RST.
1429 * target.def: Port to RST.
1431 2022-11-14 Martin Liska <mliska@suse.cz>
1434 2022-11-09 Martin Liska <mliska@suse.cz>
1436 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
1437 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
1438 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
1439 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
1440 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
1441 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
1442 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
1443 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
1444 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
1445 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
1446 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1448 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1450 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1452 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1454 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1456 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1458 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1460 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
1461 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
1462 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
1463 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
1464 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
1465 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
1466 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
1467 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
1468 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1470 * doc/gccint/target-macros/register-classes.rst: Likewise.
1471 * doc/gccint/target-macros/register-usage.rst: Likewise.
1472 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
1473 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1475 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1477 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1479 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1481 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1483 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1485 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1487 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1489 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1491 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1493 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1495 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1497 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1499 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1501 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1502 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
1504 2022-11-14 Martin Liska <mliska@suse.cz>
1507 2022-11-14 Martin Liska <mliska@suse.cz>
1509 * Makefile.in: Support Sphinx based documentation.
1510 * configure: Regenerate.
1511 * configure.ac: Support Sphinx based documentation.
1512 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
1514 2022-11-14 Martin Liska <mliska@suse.cz>
1517 2022-11-09 Martin Liska <mliska@suse.cz>
1519 * doc/gccint/target-macros/tm.rst.in: New file.
1521 2022-11-14 Martin Liska <mliska@suse.cz>
1524 2022-11-14 Martin Liska <mliska@suse.cz>
1526 * doc/analyzer.texi: Removed.
1527 * doc/avr-mmcu.texi: Removed.
1528 * doc/bugreport.texi: Removed.
1529 * doc/cfg.texi: Removed.
1530 * doc/collect2.texi: Removed.
1531 * doc/compat.texi: Removed.
1532 * doc/configfiles.texi: Removed.
1533 * doc/configterms.texi: Removed.
1534 * doc/contrib.texi: Removed.
1535 * doc/contribute.texi: Removed.
1536 * doc/cpp.texi: Removed.
1537 * doc/cppdiropts.texi: Removed.
1538 * doc/cppenv.texi: Removed.
1539 * doc/cppinternals.texi: Removed.
1540 * doc/cppopts.texi: Removed.
1541 * doc/cppwarnopts.texi: Removed.
1542 * doc/extend.texi: Removed.
1543 * doc/fragments.texi: Removed.
1544 * doc/frontends.texi: Removed.
1545 * doc/gcc.texi: Removed.
1546 * doc/gccint.texi: Removed.
1547 * doc/gcov-dump.texi: Removed.
1548 * doc/gcov-tool.texi: Removed.
1549 * doc/gcov.texi: Removed.
1550 * doc/generic.texi: Removed.
1551 * doc/gimple.texi: Removed.
1552 * doc/gnu.texi: Removed.
1553 * doc/gty.texi: Removed.
1554 * doc/headerdirs.texi: Removed.
1555 * doc/hostconfig.texi: Removed.
1556 * doc/implement-c.texi: Removed.
1557 * doc/implement-cxx.texi: Removed.
1558 * doc/include/fdl.texi: Removed.
1559 * doc/include/funding.texi: Removed.
1560 * doc/include/gcc-common.texi: Removed.
1561 * doc/include/gpl_v3.texi: Removed.
1562 * doc/install.texi: Removed.
1563 * doc/interface.texi: Removed.
1564 * doc/invoke.texi: Removed.
1565 * doc/languages.texi: Removed.
1566 * doc/libgcc.texi: Removed.
1567 * doc/loop.texi: Removed.
1568 * doc/lto-dump.texi: Removed.
1569 * doc/lto.texi: Removed.
1570 * doc/makefile.texi: Removed.
1571 * doc/match-and-simplify.texi: Removed.
1572 * doc/md.texi: Removed.
1573 * doc/objc.texi: Removed.
1574 * doc/optinfo.texi: Removed.
1575 * doc/options.texi: Removed.
1576 * doc/passes.texi: Removed.
1577 * doc/plugins.texi: Removed.
1578 * doc/poly-int.texi: Removed.
1579 * doc/portability.texi: Removed.
1580 * doc/rtl.texi: Removed.
1581 * doc/service.texi: Removed.
1582 * doc/sourcebuild.texi: Removed.
1583 * doc/standards.texi: Removed.
1584 * doc/tm.texi: Removed.
1585 * doc/tree-ssa.texi: Removed.
1586 * doc/trouble.texi: Removed.
1587 * doc/ux.texi: Removed.
1588 * doc/tm.texi.in: Removed.
1590 2022-11-14 Martin Liska <mliska@suse.cz>
1593 2022-11-09 Martin Liska <mliska@suse.cz>
1595 * target.def: Use proper lexers for target macros.
1596 * doc/gccint/target-macros/tm.rst.in: Re-generate.
1598 2022-11-14 Martin Liska <mliska@suse.cz>
1601 2022-11-09 Martin Liska <mliska@suse.cz>
1603 * Makefile.in: Support --with-sphinx-build.
1605 * configure: Regenerate.
1607 2022-11-14 Martin Liska <mliska@suse.cz>
1610 2022-11-14 Martin Liska <mliska@suse.cz>
1612 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
1613 Fix cross manual refs.
1614 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
1617 2022-11-14 Martin Liska <mliska@suse.cz>
1620 2022-11-09 Martin Liska <mliska@suse.cz>
1622 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1623 Do not include tm.rst.in.
1624 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1626 * doc/gccint/target-macros/run-time-target-specification.rst:
1629 2022-11-14 Martin Liska <mliska@suse.cz>
1632 2022-11-09 Martin Liska <mliska@suse.cz>
1634 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1636 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1637 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
1638 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
1640 2022-11-14 Martin Liska <mliska@suse.cz>
1643 2022-11-09 Martin Liska <mliska@suse.cz>
1645 * Makefile.in: Support installation if sphinx-build is missing.
1647 2022-11-14 Martin Liska <mliska@suse.cz>
1650 2022-11-09 Martin Liska <mliska@suse.cz>
1652 * Makefile.in: Add vpath default for .rst files.
1653 * config/avr/avr-devices.cc: For port RST.
1654 * config/avr/avr-mcus.def: Update path.
1655 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
1656 * config/avr/gen-avr-mmcu-rst.cc: ...here.
1657 * config/avr/t-avr: Update to rst.
1658 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
1660 2022-11-14 Martin Liska <mliska@suse.cz>
1663 2022-11-09 Martin Liska <mliska@suse.cz>
1665 * opts.cc (get_option_html_page): Port to sphinx URLs.
1666 (get_option_url): Likewise.
1667 (test_get_option_html_page): Likewise.
1669 2022-11-14 Martin Liska <mliska@suse.cz>
1672 2022-11-14 Martin Liska <mliska@suse.cz>
1674 * doc/cpp/character-sets.rst:
1675 Add trailing newline.
1676 * doc/cpp/conditional-syntax.rst:
1677 Add trailing newline.
1678 * doc/cpp/conditional-uses.rst:
1679 Add trailing newline.
1680 * doc/cpp/conditionals.rst:
1681 Add trailing newline.
1682 * doc/cpp/copyright.rst:
1683 Add trailing newline.
1684 * doc/cpp/deleted-code.rst:
1685 Add trailing newline.
1686 * doc/cpp/diagnostics.rst:
1687 Add trailing newline.
1688 * doc/cpp/environment-variables.rst:
1689 Add trailing newline.
1690 * doc/cpp/gnu-free-documentation-license.rst:
1691 Add trailing newline.
1692 * doc/cpp/header-files.rst:
1693 Add trailing newline.
1694 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
1695 Add trailing newline.
1696 * doc/cpp/header-files/computed-includes.rst:
1697 Add trailing newline.
1698 * doc/cpp/header-files/include-operation.rst:
1699 Add trailing newline.
1700 * doc/cpp/header-files/include-syntax.rst:
1701 Add trailing newline.
1702 * doc/cpp/header-files/once-only-headers.rst:
1703 Add trailing newline.
1704 * doc/cpp/header-files/search-path.rst:
1705 Add trailing newline.
1706 * doc/cpp/header-files/system-headers.rst:
1707 Add trailing newline.
1708 * doc/cpp/header-files/wrapper-headers.rst:
1709 Add trailing newline.
1710 * doc/cpp/implementation-defined-behavior.rst:
1711 Add trailing newline.
1712 * doc/cpp/implementation-details.rst:
1713 Add trailing newline.
1714 * doc/cpp/implementation-limits.rst:
1715 Add trailing newline.
1716 * doc/cpp/index.rst:
1717 Add trailing newline.
1718 * doc/cpp/indices-and-tables.rst:
1719 Add trailing newline.
1720 * doc/cpp/initial-processing.rst:
1721 Add trailing newline.
1722 * doc/cpp/invocation.rst:
1723 Add trailing newline.
1724 * doc/cpp/line-control.rst:
1725 Add trailing newline.
1726 * doc/cpp/macros.rst:
1727 Add trailing newline.
1728 * doc/cpp/macros/concatenation.rst:
1729 Add trailing newline.
1730 * doc/cpp/macros/directives-within-macro-arguments.rst:
1731 Add trailing newline.
1732 * doc/cpp/macros/function-like-macros.rst:
1733 Add trailing newline.
1734 * doc/cpp/macros/macro-arguments.rst:
1735 Add trailing newline.
1736 * doc/cpp/macros/macro-pitfalls.rst:
1737 Add trailing newline.
1738 * doc/cpp/macros/object-like-macros.rst:
1739 Add trailing newline.
1740 * doc/cpp/macros/predefined-macros.rst:
1741 Add trailing newline.
1742 * doc/cpp/macros/stringizing.rst:
1743 Add trailing newline.
1744 * doc/cpp/macros/undefining-and-redefining-macros.rst:
1745 Add trailing newline.
1746 * doc/cpp/macros/variadic-macros.rst:
1747 Add trailing newline.
1748 * doc/cpp/obsolete-features.rst:
1749 Add trailing newline.
1750 * doc/cpp/other-directives.rst:
1751 Add trailing newline.
1752 * doc/cpp/overview.rst:
1753 Add trailing newline.
1754 * doc/cpp/pragmas.rst:
1755 Add trailing newline.
1756 * doc/cpp/preprocessor-output.rst:
1757 Add trailing newline.
1758 * doc/cpp/the-preprocessing-language.rst:
1759 Add trailing newline.
1760 * doc/cpp/tokenization.rst:
1761 Add trailing newline.
1762 * doc/cpp/traditional-lexical-analysis.rst:
1763 Add trailing newline.
1764 * doc/cpp/traditional-macros.rst:
1765 Add trailing newline.
1766 * doc/cpp/traditional-miscellany.rst:
1767 Add trailing newline.
1768 * doc/cpp/traditional-mode.rst:
1769 Add trailing newline.
1770 * doc/cpp/traditional-warnings.rst:
1771 Add trailing newline.
1772 * doc/cppinternals/copyright.rst:
1773 Add trailing newline.
1774 * doc/cppinternals/cppinternals.rst:
1775 Add trailing newline.
1776 * doc/cppinternals/cpplib.rst:
1777 Add trailing newline.
1778 * doc/cppinternals/files.rst:
1779 Add trailing newline.
1780 * doc/cppinternals/index.rst:
1781 Add trailing newline.
1782 * doc/cppinternals/indices-and-tables.rst:
1783 Add trailing newline.
1784 * doc/cppinternals/internal-representation-of-macros.rst:
1785 Add trailing newline.
1786 * doc/cppinternals/just-which-line-number-anyway.rst:
1787 Add trailing newline.
1788 * doc/cppinternals/lexing-a-line.rst:
1789 Add trailing newline.
1790 * doc/cppinternals/lexing-a-token.rst:
1791 Add trailing newline.
1792 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
1793 Add trailing newline.
1794 * doc/cppinternals/macro-expansion-overview.rst:
1795 Add trailing newline.
1796 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
1797 Add trailing newline.
1798 * doc/cppinternals/multiple-include-optimization.rst:
1799 Add trailing newline.
1800 * doc/cppinternals/overview.rst:
1801 Add trailing newline.
1802 * doc/cppinternals/representation-of-line-numbers.rst:
1803 Add trailing newline.
1804 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
1805 Add trailing newline.
1806 * doc/gcc/binary-compatibility.rst:
1807 Add trailing newline.
1808 * doc/gcc/c++-implementation-defined-behavior.rst:
1809 Add trailing newline.
1810 * doc/gcc/c-implementation-defined-behavior.rst:
1811 Add trailing newline.
1812 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
1813 Add trailing newline.
1814 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
1815 Add trailing newline.
1816 * doc/gcc/c-implementation-defined-behavior/characters.rst:
1817 Add trailing newline.
1818 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
1819 Add trailing newline.
1820 * doc/gcc/c-implementation-defined-behavior/environment.rst:
1821 Add trailing newline.
1822 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
1823 Add trailing newline.
1824 * doc/gcc/c-implementation-defined-behavior/hints.rst:
1825 Add trailing newline.
1826 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
1827 Add trailing newline.
1828 * doc/gcc/c-implementation-defined-behavior/integers.rst:
1829 Add trailing newline.
1830 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
1831 Add trailing newline.
1832 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
1833 Add trailing newline.
1834 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
1835 Add trailing newline.
1836 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
1837 Add trailing newline.
1838 * doc/gcc/c-implementation-defined-behavior/statements.rst:
1839 Add trailing newline.
1840 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
1841 Add trailing newline.
1842 * doc/gcc/c-implementation-defined-behavior/translation.rst:
1843 Add trailing newline.
1844 * doc/gcc/conditionally-supported-behavior.rst:
1845 Add trailing newline.
1846 * doc/gcc/contributing-to-gcc-development.rst:
1847 Add trailing newline.
1848 * doc/gcc/contributors-to-gcc.rst:
1849 Add trailing newline.
1850 * doc/gcc/copyright.rst:
1851 Add trailing newline.
1852 * doc/gcc/exception-handling.rst:
1853 Add trailing newline.
1854 * doc/gcc/extensions-to-the-c++-language.rst:
1855 Add trailing newline.
1856 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
1857 Add trailing newline.
1858 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
1859 Add trailing newline.
1860 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
1861 Add trailing newline.
1862 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
1863 Add trailing newline.
1864 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
1865 Add trailing newline.
1866 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
1867 Add trailing newline.
1868 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
1869 Add trailing newline.
1870 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
1871 Add trailing newline.
1872 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
1873 Add trailing newline.
1874 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
1875 Add trailing newline.
1876 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
1877 Add trailing newline.
1878 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
1879 Add trailing newline.
1880 * doc/gcc/extensions-to-the-c-language-family.rst:
1881 Add trailing newline.
1882 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
1883 Add trailing newline.
1884 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
1885 Add trailing newline.
1886 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
1887 Add trailing newline.
1888 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
1889 Add trailing newline.
1890 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
1891 Add trailing newline.
1892 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
1893 Add trailing newline.
1894 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
1895 Add trailing newline.
1896 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
1897 Add trailing newline.
1898 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
1899 Add trailing newline.
1900 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
1901 Add trailing newline.
1902 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
1903 Add trailing newline.
1904 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
1905 Add trailing newline.
1906 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
1907 Add trailing newline.
1908 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
1909 Add trailing newline.
1910 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
1911 Add trailing newline.
1912 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
1913 Add trailing newline.
1914 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
1915 Add trailing newline.
1916 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
1917 Add trailing newline.
1918 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
1919 Add trailing newline.
1920 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
1921 Add trailing newline.
1922 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
1923 Add trailing newline.
1924 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
1925 Add trailing newline.
1926 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
1927 Add trailing newline.
1928 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
1929 Add trailing newline.
1930 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
1931 Add trailing newline.
1932 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
1933 Add trailing newline.
1934 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
1935 Add trailing newline.
1936 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
1937 Add trailing newline.
1938 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
1939 Add trailing newline.
1940 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
1941 Add trailing newline.
1942 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
1943 Add trailing newline.
1944 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
1945 Add trailing newline.
1946 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
1947 Add trailing newline.
1948 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
1949 Add trailing newline.
1950 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
1951 Add trailing newline.
1952 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
1953 Add trailing newline.
1954 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
1955 Add trailing newline.
1956 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
1957 Add trailing newline.
1958 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
1959 Add trailing newline.
1960 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
1961 Add trailing newline.
1962 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
1963 Add trailing newline.
1964 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
1965 Add trailing newline.
1966 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
1967 Add trailing newline.
1968 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
1969 Add trailing newline.
1970 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
1971 Add trailing newline.
1972 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
1973 Add trailing newline.
1974 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
1975 Add trailing newline.
1976 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
1977 Add trailing newline.
1978 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
1979 Add trailing newline.
1980 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
1981 Add trailing newline.
1982 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
1983 Add trailing newline.
1984 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
1985 Add trailing newline.
1986 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
1987 Add trailing newline.
1988 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
1989 Add trailing newline.
1990 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
1991 Add trailing newline.
1992 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
1993 Add trailing newline.
1994 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
1995 Add trailing newline.
1996 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
1997 Add trailing newline.
1998 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
1999 Add trailing newline.
2000 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
2001 Add trailing newline.
2002 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
2003 Add trailing newline.
2004 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
2005 Add trailing newline.
2006 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
2007 Add trailing newline.
2008 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
2009 Add trailing newline.
2010 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
2011 Add trailing newline.
2012 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
2013 Add trailing newline.
2014 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
2015 Add trailing newline.
2016 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
2017 Add trailing newline.
2018 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
2019 Add trailing newline.
2020 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
2021 Add trailing newline.
2022 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
2023 Add trailing newline.
2024 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
2025 Add trailing newline.
2026 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
2027 Add trailing newline.
2028 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
2029 Add trailing newline.
2030 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
2031 Add trailing newline.
2032 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
2033 Add trailing newline.
2034 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
2035 Add trailing newline.
2036 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
2037 Add trailing newline.
2038 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
2039 Add trailing newline.
2040 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
2041 Add trailing newline.
2042 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
2043 Add trailing newline.
2044 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
2045 Add trailing newline.
2046 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
2047 Add trailing newline.
2048 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
2049 Add trailing newline.
2050 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
2051 Add trailing newline.
2052 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
2053 Add trailing newline.
2054 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
2055 Add trailing newline.
2056 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
2057 Add trailing newline.
2058 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
2059 Add trailing newline.
2060 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
2061 Add trailing newline.
2062 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
2063 Add trailing newline.
2064 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
2065 Add trailing newline.
2066 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
2067 Add trailing newline.
2068 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
2069 Add trailing newline.
2070 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
2071 Add trailing newline.
2072 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
2073 Add trailing newline.
2074 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
2075 Add trailing newline.
2076 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
2077 Add trailing newline.
2078 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
2079 Add trailing newline.
2080 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
2081 Add trailing newline.
2082 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
2083 Add trailing newline.
2084 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
2085 Add trailing newline.
2086 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
2087 Add trailing newline.
2088 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
2089 Add trailing newline.
2090 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
2091 Add trailing newline.
2092 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
2093 Add trailing newline.
2094 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
2095 Add trailing newline.
2096 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
2097 Add trailing newline.
2098 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
2099 Add trailing newline.
2100 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
2101 Add trailing newline.
2102 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
2103 Add trailing newline.
2104 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
2105 Add trailing newline.
2106 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
2107 Add trailing newline.
2108 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
2109 Add trailing newline.
2110 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
2111 Add trailing newline.
2112 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
2113 Add trailing newline.
2114 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
2115 Add trailing newline.
2116 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
2117 Add trailing newline.
2118 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
2119 Add trailing newline.
2120 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
2121 Add trailing newline.
2122 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
2123 Add trailing newline.
2124 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
2125 Add trailing newline.
2126 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
2127 Add trailing newline.
2128 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
2129 Add trailing newline.
2130 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
2131 Add trailing newline.
2132 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
2133 Add trailing newline.
2134 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
2135 Add trailing newline.
2136 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
2137 Add trailing newline.
2138 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
2139 Add trailing newline.
2140 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
2141 Add trailing newline.
2142 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
2143 Add trailing newline.
2144 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
2145 Add trailing newline.
2146 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
2147 Add trailing newline.
2148 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
2149 Add trailing newline.
2150 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
2151 Add trailing newline.
2152 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
2153 Add trailing newline.
2154 * doc/gcc/funding.rst:
2155 Add trailing newline.
2156 * doc/gcc/gcc-command-options.rst:
2157 Add trailing newline.
2158 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
2159 Add trailing newline.
2160 * doc/gcc/gcc-command-options/description.rst:
2161 Add trailing newline.
2162 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
2163 Add trailing newline.
2164 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
2165 Add trailing newline.
2166 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
2167 Add trailing newline.
2168 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
2169 Add trailing newline.
2170 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
2171 Add trailing newline.
2172 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
2173 Add trailing newline.
2174 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
2175 Add trailing newline.
2176 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
2177 Add trailing newline.
2178 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
2179 Add trailing newline.
2180 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
2181 Add trailing newline.
2182 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
2183 Add trailing newline.
2184 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
2185 Add trailing newline.
2186 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
2187 Add trailing newline.
2188 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
2189 Add trailing newline.
2190 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
2191 Add trailing newline.
2192 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
2193 Add trailing newline.
2194 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
2195 Add trailing newline.
2196 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
2197 Add trailing newline.
2198 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
2199 Add trailing newline.
2200 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
2201 Add trailing newline.
2202 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
2203 Add trailing newline.
2204 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
2205 Add trailing newline.
2206 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
2207 Add trailing newline.
2208 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
2209 Add trailing newline.
2210 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
2211 Add trailing newline.
2212 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
2213 Add trailing newline.
2214 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
2215 Add trailing newline.
2216 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
2217 Add trailing newline.
2218 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
2219 Add trailing newline.
2220 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
2221 Add trailing newline.
2222 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
2223 Add trailing newline.
2224 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
2225 Add trailing newline.
2226 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
2227 Add trailing newline.
2228 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
2229 Add trailing newline.
2230 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
2231 Add trailing newline.
2232 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
2233 Add trailing newline.
2234 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
2235 Add trailing newline.
2236 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
2237 Add trailing newline.
2238 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
2239 Add trailing newline.
2240 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
2241 Add trailing newline.
2242 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
2243 Add trailing newline.
2244 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
2245 Add trailing newline.
2246 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
2247 Add trailing newline.
2248 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
2249 Add trailing newline.
2250 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
2251 Add trailing newline.
2252 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
2253 Add trailing newline.
2254 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
2255 Add trailing newline.
2256 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
2257 Add trailing newline.
2258 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
2259 Add trailing newline.
2260 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
2261 Add trailing newline.
2262 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
2263 Add trailing newline.
2264 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
2265 Add trailing newline.
2266 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
2267 Add trailing newline.
2268 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
2269 Add trailing newline.
2270 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
2271 Add trailing newline.
2272 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
2273 Add trailing newline.
2274 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
2275 Add trailing newline.
2276 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
2277 Add trailing newline.
2278 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
2279 Add trailing newline.
2280 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
2281 Add trailing newline.
2282 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
2283 Add trailing newline.
2284 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
2285 Add trailing newline.
2286 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
2287 Add trailing newline.
2288 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
2289 Add trailing newline.
2290 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
2291 Add trailing newline.
2292 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
2293 Add trailing newline.
2294 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
2295 Add trailing newline.
2296 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
2297 Add trailing newline.
2298 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
2299 Add trailing newline.
2300 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
2301 Add trailing newline.
2302 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
2303 Add trailing newline.
2304 * doc/gcc/gcc-command-options/options-for-linking.rst:
2305 Add trailing newline.
2306 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
2307 Add trailing newline.
2308 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
2309 Add trailing newline.
2310 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2311 Add trailing newline.
2312 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
2313 Add trailing newline.
2314 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
2315 Add trailing newline.
2316 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
2317 Add trailing newline.
2318 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
2319 Add trailing newline.
2320 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
2321 Add trailing newline.
2323 Add trailing newline.
2324 * doc/gcc/gcov-dump.rst:
2325 Add trailing newline.
2326 * doc/gcc/gcov-tool.rst:
2327 Add trailing newline.
2329 Add trailing newline.
2330 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
2331 Add trailing newline.
2332 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
2333 Add trailing newline.
2334 * doc/gcc/gcov/introduction-to-gcov.rst:
2335 Add trailing newline.
2336 * doc/gcc/gcov/invoking-gcov.rst:
2337 Add trailing newline.
2338 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
2339 Add trailing newline.
2340 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
2341 Add trailing newline.
2342 * doc/gcc/general-public-license-3.rst:
2343 Add trailing newline.
2344 * doc/gcc/gnu-free-documentation-license.rst:
2345 Add trailing newline.
2346 * doc/gcc/gnu-objective-c-features.rst:
2347 Add trailing newline.
2348 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
2349 Add trailing newline.
2350 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
2351 Add trailing newline.
2352 * doc/gcc/gnu-objective-c-features/exceptions.rst:
2353 Add trailing newline.
2354 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
2355 Add trailing newline.
2356 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
2357 Add trailing newline.
2358 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
2359 Add trailing newline.
2360 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
2361 Add trailing newline.
2362 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
2363 Add trailing newline.
2364 * doc/gcc/gnu-objective-c-features/synchronization.rst:
2365 Add trailing newline.
2366 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
2367 Add trailing newline.
2369 Add trailing newline.
2370 * doc/gcc/have-you-found-a-bug.rst:
2371 Add trailing newline.
2372 * doc/gcc/how-and-where-to-report-bugs.rst:
2373 Add trailing newline.
2374 * doc/gcc/how-to-get-help-with-gcc.rst:
2375 Add trailing newline.
2376 * doc/gcc/index.rst:
2377 Add trailing newline.
2378 * doc/gcc/indices-and-tables.rst:
2379 Add trailing newline.
2380 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
2381 Add trailing newline.
2382 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
2383 Add trailing newline.
2384 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
2385 Add trailing newline.
2386 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
2387 Add trailing newline.
2388 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
2389 Add trailing newline.
2390 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
2391 Add trailing newline.
2392 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
2393 Add trailing newline.
2394 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
2395 Add trailing newline.
2396 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
2397 Add trailing newline.
2398 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
2399 Add trailing newline.
2400 * doc/gcc/language-standards-supported-by-gcc.rst:
2401 Add trailing newline.
2402 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
2403 Add trailing newline.
2404 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
2405 Add trailing newline.
2406 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
2407 Add trailing newline.
2408 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
2409 Add trailing newline.
2410 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
2411 Add trailing newline.
2412 * doc/gcc/lto-dump.rst:
2413 Add trailing newline.
2414 * doc/gcc/programming-languages-supported-by-gcc.rst:
2415 Add trailing newline.
2416 * doc/gcc/reporting-bugs.rst:
2417 Add trailing newline.
2418 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
2419 Add trailing newline.
2420 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
2421 Add trailing newline.
2422 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
2423 Add trailing newline.
2424 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
2425 Add trailing newline.
2426 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
2427 Add trailing newline.
2428 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
2429 Add trailing newline.
2430 * doc/gccint/analysis-and-representation-of-loops.rst:
2431 Add trailing newline.
2432 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
2433 Add trailing newline.
2434 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
2435 Add trailing newline.
2436 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
2437 Add trailing newline.
2438 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
2439 Add trailing newline.
2440 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
2441 Add trailing newline.
2442 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
2443 Add trailing newline.
2444 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
2445 Add trailing newline.
2446 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
2447 Add trailing newline.
2448 * doc/gccint/analyzer-internals.rst:
2449 Add trailing newline.
2450 * doc/gccint/collect2.rst:
2451 Add trailing newline.
2452 * doc/gccint/contributing-to-gcc-development.rst:
2453 Add trailing newline.
2454 * doc/gccint/contributors-to-gcc.rst:
2455 Add trailing newline.
2456 * doc/gccint/control-flow-graph.rst:
2457 Add trailing newline.
2458 * doc/gccint/control-flow-graph/basic-blocks.rst:
2459 Add trailing newline.
2460 * doc/gccint/control-flow-graph/edges.rst:
2461 Add trailing newline.
2462 * doc/gccint/control-flow-graph/liveness-information.rst:
2463 Add trailing newline.
2464 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
2465 Add trailing newline.
2466 * doc/gccint/control-flow-graph/profile-information.rst:
2467 Add trailing newline.
2468 * doc/gccint/copyright.rst:
2469 Add trailing newline.
2470 * doc/gccint/debugging-the-analyzer.rst:
2471 Add trailing newline.
2472 * doc/gccint/funding.rst:
2473 Add trailing newline.
2474 * doc/gccint/gcc-and-portability.rst:
2475 Add trailing newline.
2476 * doc/gccint/general-public-license-3.rst:
2477 Add trailing newline.
2478 * doc/gccint/generic.rst:
2479 Add trailing newline.
2480 * doc/gccint/generic/attributes-in-trees.rst:
2481 Add trailing newline.
2482 * doc/gccint/generic/c-and-c++-trees.rst:
2483 Add trailing newline.
2484 * doc/gccint/generic/declarations.rst:
2485 Add trailing newline.
2486 * doc/gccint/generic/deficiencies.rst:
2487 Add trailing newline.
2488 * doc/gccint/generic/expressions.rst:
2489 Add trailing newline.
2490 * doc/gccint/generic/functions.rst:
2491 Add trailing newline.
2492 * doc/gccint/generic/language-dependent-trees.rst:
2493 Add trailing newline.
2494 * doc/gccint/generic/overview.rst:
2495 Add trailing newline.
2496 * doc/gccint/generic/statements.rst:
2497 Add trailing newline.
2498 * doc/gccint/generic/types.rst:
2499 Add trailing newline.
2500 * doc/gccint/gimple-api.rst:
2501 Add trailing newline.
2502 * doc/gccint/gimple.rst:
2503 Add trailing newline.
2504 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
2505 Add trailing newline.
2506 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
2507 Add trailing newline.
2508 * doc/gccint/gimple/exception-handling.rst:
2509 Add trailing newline.
2510 * doc/gccint/gimple/gimple-instruction-set.rst:
2511 Add trailing newline.
2512 * doc/gccint/gimple/gimple-sequences.rst:
2513 Add trailing newline.
2514 * doc/gccint/gimple/manipulating-gimple-statements.rst:
2515 Add trailing newline.
2516 * doc/gccint/gimple/operands.rst:
2517 Add trailing newline.
2518 * doc/gccint/gimple/sequence-iterators.rst:
2519 Add trailing newline.
2520 * doc/gccint/gimple/statement-and-operand-traversals.rst:
2521 Add trailing newline.
2522 * doc/gccint/gimple/temporaries.rst:
2523 Add trailing newline.
2524 * doc/gccint/gimple/tuple-representation.rst:
2525 Add trailing newline.
2526 * doc/gccint/gimple/tuple-specific-accessors.rst:
2527 Add trailing newline.
2528 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
2529 Add trailing newline.
2530 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
2531 Add trailing newline.
2532 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
2533 Add trailing newline.
2534 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
2535 Add trailing newline.
2536 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
2537 Add trailing newline.
2538 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
2539 Add trailing newline.
2540 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
2541 Add trailing newline.
2542 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
2543 Add trailing newline.
2544 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
2545 Add trailing newline.
2546 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
2547 Add trailing newline.
2548 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
2549 Add trailing newline.
2550 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
2551 Add trailing newline.
2552 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
2553 Add trailing newline.
2554 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
2555 Add trailing newline.
2556 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
2557 Add trailing newline.
2558 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
2559 Add trailing newline.
2560 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
2561 Add trailing newline.
2562 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
2563 Add trailing newline.
2564 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
2565 Add trailing newline.
2566 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
2567 Add trailing newline.
2568 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
2569 Add trailing newline.
2570 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
2571 Add trailing newline.
2572 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
2573 Add trailing newline.
2574 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
2575 Add trailing newline.
2576 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
2577 Add trailing newline.
2578 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
2579 Add trailing newline.
2580 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
2581 Add trailing newline.
2582 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
2583 Add trailing newline.
2584 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
2585 Add trailing newline.
2586 * doc/gccint/gnu-free-documentation-license.rst:
2587 Add trailing newline.
2588 * doc/gccint/guidelines-for-diagnostics.rst:
2589 Add trailing newline.
2590 * doc/gccint/guidelines-for-options.rst:
2591 Add trailing newline.
2592 * doc/gccint/host-common.rst:
2593 Add trailing newline.
2594 * doc/gccint/host-configuration.rst:
2595 Add trailing newline.
2596 * doc/gccint/host-filesystem.rst:
2597 Add trailing newline.
2598 * doc/gccint/host-makefile-fragments.rst:
2599 Add trailing newline.
2600 * doc/gccint/host-misc.rst:
2601 Add trailing newline.
2602 * doc/gccint/index.rst:
2603 Add trailing newline.
2604 * doc/gccint/indices-and-tables.rst:
2605 Add trailing newline.
2606 * doc/gccint/interfacing-to-gcc-output.rst:
2607 Add trailing newline.
2608 * doc/gccint/introduction.rst:
2609 Add trailing newline.
2610 * doc/gccint/language-front-ends-in-gcc.rst:
2611 Add trailing newline.
2612 * doc/gccint/link-time-optimization.rst:
2613 Add trailing newline.
2614 * doc/gccint/link-time-optimization/design-overview.rst:
2615 Add trailing newline.
2616 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
2617 Add trailing newline.
2618 * doc/gccint/link-time-optimization/lto-file-sections.rst:
2619 Add trailing newline.
2620 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
2621 Add trailing newline.
2622 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
2623 Add trailing newline.
2624 * doc/gccint/machine-descriptions.rst:
2625 Add trailing newline.
2626 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
2627 Add trailing newline.
2628 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
2629 Add trailing newline.
2630 * doc/gccint/machine-descriptions/conditional-execution.rst:
2631 Add trailing newline.
2632 * doc/gccint/machine-descriptions/constant-definitions.rst:
2633 Add trailing newline.
2634 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
2635 Add trailing newline.
2636 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
2637 Add trailing newline.
2638 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
2639 Add trailing newline.
2640 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
2641 Add trailing newline.
2642 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
2643 Add trailing newline.
2644 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
2645 Add trailing newline.
2646 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
2647 Add trailing newline.
2648 * doc/gccint/machine-descriptions/instruction-attributes.rst:
2649 Add trailing newline.
2650 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
2651 Add trailing newline.
2652 * doc/gccint/machine-descriptions/iterators.rst:
2653 Add trailing newline.
2654 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
2655 Add trailing newline.
2656 * doc/gccint/machine-descriptions/operand-constraints.rst:
2657 Add trailing newline.
2658 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
2659 Add trailing newline.
2660 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
2661 Add trailing newline.
2662 * doc/gccint/machine-descriptions/predicates.rst:
2663 Add trailing newline.
2664 * doc/gccint/machine-descriptions/rtl-template.rst:
2665 Add trailing newline.
2666 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
2667 Add trailing newline.
2668 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
2669 Add trailing newline.
2670 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
2671 Add trailing newline.
2672 * doc/gccint/makefile-fragments.rst:
2673 Add trailing newline.
2674 * doc/gccint/match-and-simplify.rst:
2675 Add trailing newline.
2676 * doc/gccint/memory-management-and-type-information.rst:
2677 Add trailing newline.
2678 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
2679 Add trailing newline.
2680 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
2681 Add trailing newline.
2682 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
2683 Add trailing newline.
2684 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
2685 Add trailing newline.
2686 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
2687 Add trailing newline.
2688 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
2689 Add trailing newline.
2690 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
2691 Add trailing newline.
2692 * doc/gccint/option-file-format.rst:
2693 Add trailing newline.
2694 * doc/gccint/option-properties.rst:
2695 Add trailing newline.
2696 * doc/gccint/option-specification-files.rst:
2697 Add trailing newline.
2698 * doc/gccint/passes-and-files-of-the-compiler.rst:
2699 Add trailing newline.
2700 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
2701 Add trailing newline.
2702 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
2703 Add trailing newline.
2704 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
2705 Add trailing newline.
2706 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
2707 Add trailing newline.
2708 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
2709 Add trailing newline.
2710 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
2711 Add trailing newline.
2712 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
2713 Add trailing newline.
2714 * doc/gccint/plugins.rst:
2715 Add trailing newline.
2716 * doc/gccint/plugins/building-gcc-plugins.rst:
2717 Add trailing newline.
2718 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
2719 Add trailing newline.
2720 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
2721 Add trailing newline.
2722 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
2723 Add trailing newline.
2724 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
2725 Add trailing newline.
2726 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
2727 Add trailing newline.
2728 * doc/gccint/plugins/loading-plugins.rst:
2729 Add trailing newline.
2730 * doc/gccint/plugins/plugin-api.rst:
2731 Add trailing newline.
2732 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
2733 Add trailing newline.
2734 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
2735 Add trailing newline.
2736 * doc/gccint/rtl-representation.rst:
2737 Add trailing newline.
2738 * doc/gccint/rtl-representation/access-to-operands.rst:
2739 Add trailing newline.
2740 * doc/gccint/rtl-representation/access-to-special-operands.rst:
2741 Add trailing newline.
2742 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
2743 Add trailing newline.
2744 * doc/gccint/rtl-representation/bit-fields.rst:
2745 Add trailing newline.
2746 * doc/gccint/rtl-representation/comparison-operations.rst:
2747 Add trailing newline.
2748 * doc/gccint/rtl-representation/constant-expression-types.rst:
2749 Add trailing newline.
2750 * doc/gccint/rtl-representation/conversions.rst:
2751 Add trailing newline.
2752 * doc/gccint/rtl-representation/declarations.rst:
2753 Add trailing newline.
2754 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
2755 Add trailing newline.
2756 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
2757 Add trailing newline.
2758 * doc/gccint/rtl-representation/insns.rst:
2759 Add trailing newline.
2760 * doc/gccint/rtl-representation/machine-modes.rst:
2761 Add trailing newline.
2762 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
2763 Add trailing newline.
2764 * doc/gccint/rtl-representation/reading-rtl.rst:
2765 Add trailing newline.
2766 * doc/gccint/rtl-representation/registers-and-memory.rst:
2767 Add trailing newline.
2768 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
2769 Add trailing newline.
2770 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
2771 Add trailing newline.
2772 * doc/gccint/rtl-representation/rtl-object-types.rst:
2773 Add trailing newline.
2774 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
2775 Add trailing newline.
2776 * doc/gccint/rtl-representation/side-effect-expressions.rst:
2777 Add trailing newline.
2778 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
2779 Add trailing newline.
2780 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
2781 Add trailing newline.
2782 * doc/gccint/rtl-representation/vector-operations.rst:
2783 Add trailing newline.
2784 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
2785 Add trailing newline.
2786 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
2787 Add trailing newline.
2788 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
2789 Add trailing newline.
2790 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
2791 Add trailing newline.
2792 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
2793 Add trailing newline.
2794 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
2795 Add trailing newline.
2796 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
2797 Add trailing newline.
2798 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
2799 Add trailing newline.
2800 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
2801 Add trailing newline.
2802 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
2803 Add trailing newline.
2804 * doc/gccint/source-tree-structure-and-build-system.rst:
2805 Add trailing newline.
2806 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
2807 Add trailing newline.
2808 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
2809 Add trailing newline.
2810 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
2811 Add trailing newline.
2812 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
2813 Add trailing newline.
2814 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
2815 Add trailing newline.
2816 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
2817 Add trailing newline.
2818 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
2819 Add trailing newline.
2820 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
2821 Add trailing newline.
2822 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
2823 Add trailing newline.
2824 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
2825 Add trailing newline.
2826 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
2827 Add trailing newline.
2828 * doc/gccint/standard-header-file-directories.rst:
2829 Add trailing newline.
2830 * doc/gccint/static-analyzer.rst:
2831 Add trailing newline.
2832 * doc/gccint/target-macros.rst:
2833 Add trailing newline.
2834 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
2835 Add trailing newline.
2836 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
2837 Add trailing newline.
2838 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
2839 Add trailing newline.
2840 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
2841 Add trailing newline.
2842 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
2843 Add trailing newline.
2844 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
2845 Add trailing newline.
2846 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
2847 Add trailing newline.
2848 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
2849 Add trailing newline.
2850 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2851 Add trailing newline.
2852 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2853 Add trailing newline.
2854 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2855 Add trailing newline.
2856 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2857 Add trailing newline.
2858 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
2859 Add trailing newline.
2860 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
2861 Add trailing newline.
2862 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
2863 Add trailing newline.
2864 * doc/gccint/target-macros/position-independent-code.rst:
2865 Add trailing newline.
2866 * doc/gccint/target-macros/register-usage.rst:
2867 Add trailing newline.
2868 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
2869 Add trailing newline.
2870 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2871 Add trailing newline.
2872 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
2873 Add trailing newline.
2874 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
2875 Add trailing newline.
2876 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2877 Add trailing newline.
2878 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2879 Add trailing newline.
2880 * doc/gccint/target-macros/support-for-nested-functions.rst:
2881 Add trailing newline.
2882 * doc/gccint/target-macros/the-global-targetm-variable.rst:
2883 Add trailing newline.
2884 * doc/gccint/target-makefile-fragments.rst:
2885 Add trailing newline.
2886 * doc/gccint/testsuites.rst:
2887 Add trailing newline.
2888 * doc/gccint/testsuites/ada-language-testsuites.rst:
2889 Add trailing newline.
2890 * doc/gccint/testsuites/c-language-testsuites.rst:
2891 Add trailing newline.
2892 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
2893 Add trailing newline.
2894 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
2895 Add trailing newline.
2896 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
2897 Add trailing newline.
2898 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
2899 Add trailing newline.
2900 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
2901 Add trailing newline.
2902 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
2903 Add trailing newline.
2904 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
2905 Add trailing newline.
2906 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
2907 Add trailing newline.
2908 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
2909 Add trailing newline.
2910 * doc/gccint/testsuites/support-for-testing-gcov.rst:
2911 Add trailing newline.
2912 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
2913 Add trailing newline.
2914 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
2915 Add trailing newline.
2916 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
2917 Add trailing newline.
2918 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
2919 Add trailing newline.
2920 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
2921 Add trailing newline.
2922 * doc/gccint/the-gcc-low-level-runtime-library.rst:
2923 Add trailing newline.
2924 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
2925 Add trailing newline.
2926 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
2927 Add trailing newline.
2928 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
2929 Add trailing newline.
2930 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
2931 Add trailing newline.
2932 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
2933 Add trailing newline.
2934 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
2935 Add trailing newline.
2936 * doc/gccint/the-language.rst:
2937 Add trailing newline.
2938 * doc/gccint/user-experience-guidelines.rst:
2939 Add trailing newline.
2940 * doc/install/binaries.rst:
2941 Add trailing newline.
2942 * doc/install/building.rst:
2943 Add trailing newline.
2944 * doc/install/building/building-a-cross-compiler.rst:
2945 Add trailing newline.
2946 * doc/install/building/building-a-native-compiler.rst:
2947 Add trailing newline.
2948 * doc/install/building/building-in-parallel.rst:
2949 Add trailing newline.
2950 * doc/install/building/building-the-ada-compiler.rst:
2951 Add trailing newline.
2952 * doc/install/building/building-the-d-compiler.rst:
2953 Add trailing newline.
2954 * doc/install/building/building-with-profile-feedback.rst:
2955 Add trailing newline.
2956 * doc/install/configuration.rst:
2957 Add trailing newline.
2958 * doc/install/copyright.rst:
2959 Add trailing newline.
2960 * doc/install/downloading-gcc.rst:
2961 Add trailing newline.
2962 * doc/install/final-installation.rst:
2963 Add trailing newline.
2964 * doc/install/gnu-free-documentation-license.rst:
2965 Add trailing newline.
2966 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
2967 Add trailing newline.
2968 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
2969 Add trailing newline.
2970 * doc/install/how-to-interpret-test-results.rst:
2971 Add trailing newline.
2972 * doc/install/index.rst:
2973 Add trailing newline.
2974 * doc/install/indices-and-tables.rst:
2975 Add trailing newline.
2976 * doc/install/installing-gcc.rst:
2977 Add trailing newline.
2978 * doc/install/passing-options-and-running-multiple-testsuites.rst:
2979 Add trailing newline.
2980 * doc/install/prerequisites.rst:
2981 Add trailing newline.
2982 * doc/install/submitting-test-results.rst:
2983 Add trailing newline.
2984 * doc/install/testing.rst:
2985 Add trailing newline.
2987 2022-11-14 Martin Liska <mliska@suse.cz>
2990 2022-11-14 Martin Liska <mliska@suse.cz>
2992 * Makefile.in: Use new install URL.
2993 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
2994 Use intersphinx link.
2995 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2997 * doc/gccint/source-tree-structure-and-build-system.rst: Use
2999 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3000 * doc/install/installing-gcc.rst: Likewise.
3002 2022-11-14 Martin Liska <mliska@suse.cz>
3005 2022-11-09 Martin Liska <mliska@suse.cz>
3006 Sinan <sinan.lin@linux.alibaba.com>
3008 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3009 Add missing variable name.
3011 2022-11-14 Martin Liska <mliska@suse.cz>
3014 2022-11-14 Martin Liska <mliska@suse.cz>
3016 * doc/cpp/conf.py: Add newline at last line.
3017 * doc/cppinternals/conf.py: Add newline at last line.
3018 * doc/gcc/conf.py: Add newline at last line.
3019 * doc/gccint/conf.py: Add newline at last line.
3020 * doc/install/conf.py: Add newline at last line.
3022 2022-11-14 Martin Liska <mliska@suse.cz>
3024 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3027 2022-11-14 Martin Liska <mliska@suse.cz>
3029 * doc/cpp/pragmas.rst: Revert.
3031 2022-11-14 Martin Liska <mliska@suse.cz>
3033 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3035 2022-11-14 Martin Liska <mliska@suse.cz>
3037 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3039 2022-11-14 Martin Liska <mliska@suse.cz>
3041 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3042 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
3044 2022-11-14 Martin Liska <mliska@suse.cz>
3047 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
3049 * doc/install/testing.rst: Remove anachronism about separate
3052 2022-11-14 Martin Liska <mliska@suse.cz>
3055 2022-11-13 Martin Liska <mliska@suse.cz>
3058 * configure: Regenerate.
3059 * configure.ac: Always set sphinx-build.
3061 2022-11-14 Martin Liska <mliska@suse.cz>
3063 * doc/gcc/gcc-command-options/option-summary.rst: Revert.
3064 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3066 2022-11-14 Haochen Jiang <haochen.jiang@intel.com>
3068 * common/config/i386/i386-common.cc
3069 (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
3070 (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
3071 (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
3072 (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
3073 BF16, FP16} when disable AMX_TILE.
3075 2022-11-14 Martin Liska <mliska@suse.cz>
3077 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3079 * doc/gcc/gcc-command-options/option-summary.rst:
3082 2022-11-14 Hongyu Wang <hongyu.wang@intel.com>
3084 * common/config/i386/i386-common.cc (ix86_optimization_table):
3085 Enable small loop unroll at O2 by default.
3086 * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
3087 factor if -munroll-only-small-loops enabled and -funroll-loops/
3088 -funroll-all-loops are disabled.
3089 * config/i386/i386.h (struct processor_costs): Add 2 field
3090 small_unroll_ninsns and small_unroll_factor.
3091 * config/i386/i386.opt: Add -munroll-only-small-loops.
3092 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3093 Document -munroll-only-small-loops.
3094 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
3095 * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
3096 loop unrolling for -O2-speed and above if target hook
3097 loop_unroll_adjust exists.
3098 (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
3099 when target hook loop_unroll_adjust exists.
3100 * config/i386/x86-tune-costs.h: Update all processor costs
3101 with small_unroll_ninsns = 4 and small_unroll_factor = 2.
3103 2022-11-13 David Malcolm <dmalcolm@redhat.com>
3106 * doc/gcc/gcc-command-options/option-summary.rst: Add
3107 -Wno-analyzer-tainted-assertion.
3108 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3109 Add -Wno-analyzer-tainted-assertion.
3111 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3113 * config/riscv/bitmanip.md: New define_split.
3115 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3117 * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
3118 if expressed as a plus and multiplication with a power-of-2.
3119 Split costing for MINUS from PLUS.
3121 2022-11-13 Martin Liska <mliska@suse.cz>
3124 * configure: Regenerate.
3125 * configure.ac: Always set sphinx-build.
3127 2022-11-13 Joseph Myers <joseph@codesourcery.com>
3129 * ginclude/float.h [__STDC_VERSION__ > 201710L]
3130 (__STDC_VERSION_FLOAT_H__): New macro.
3131 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
3132 (__STDC_VERSION_STDARG_H__): New macro.
3133 * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
3134 (__STDC_VERSION_STDATOMIC_H__): New macro.
3135 * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
3136 (__STDC_VERSION_STDDEF_H__): New macro.
3137 * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
3138 (__STDC_VERSION_STDINT_H__): New macro.
3139 * glimits.h [__STDC_VERSION__ > 201710L]
3140 (__STDC_VERSION_LIMITS_H__): New macro.
3142 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
3144 * doc/install/testing.rst: Remove anachronism about separate
3147 2022-11-12 Joseph Myers <joseph@codesourcery.com>
3149 * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
3152 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
3154 * value-range.cc (range_tests_signbit): Move to set from here...
3155 (range_tests_signed_zeros): ...to here.
3157 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
3159 * range-op-float.cc (build_lt): Adjust with frange_nextafter
3160 instead of default to a closed range.
3163 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
3164 Jakub Jelinek <jakub@redhat.com>
3166 * range-op-float.cc (float_binary_op_range_finish): New function.
3167 (foperator_plus::op1_range): New.
3168 (foperator_plus::op2_range): New.
3169 (foperator_minus::op1_range): New.
3170 (foperator_minus::op2_range): New.
3171 (foperator_mult::op1_range): New.
3172 (foperator_mult::op2_range): New.
3173 (foperator_div::op1_range): New.
3174 (foperator_div::op2_range): New.
3176 2022-11-12 Jakub Jelinek <jakub@redhat.com>
3178 PR tree-optimization/107569
3179 * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
3180 signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
3182 (foperator_mult_div_base): New class.
3183 (foperator_mult, foperator_div): Derive from that and use
3184 protected static method from it as well as above new functions
3185 to simplify the code.
3187 2022-11-12 Jakub Jelinek <jakub@redhat.com>
3189 PR tree-optimization/107569
3190 * range-op-float.cc (foperator_div): New class.
3191 (floating_op_table::floating_op_table): Use foperator_div
3194 2022-11-12 Jakub Jelinek <jakub@redhat.com>
3196 PR tree-optimization/107569
3197 PR tree-optimization/107591
3198 * range-op.h (range_operator_float::rv_fold): Add relation_kind
3200 * range-op-float.cc (range_operator_float::fold_range): Name
3201 last argument trio and pass trio.op1_op2 () as last argument to
3203 (range_operator_float::rv_fold): Add relation_kind argument.
3204 (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
3205 (foperator_mult): New class.
3206 (floating_op_table::floating_op_table): Use foperator_mult for
3209 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3211 * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
3213 (logb_non_negative<mode>2): New instruction template.
3214 (logb<mode>2): New define_expand.
3216 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3218 * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
3219 (type): Add fscaleb.
3220 (IMODE): New mode attr.
3221 (ldexp<mode>3): New instruction template.
3223 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3225 * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
3226 (UNSPEC_FTINTRM): Likewise.
3227 (UNSPEC_FTINTRP): Likewise.
3228 (LRINT): New define_int_iterator.
3229 (lrint_pattern): New define_int_attr.
3230 (lrint_submenmonic): Likewise.
3231 (lrint_allow_inexact): Likewise.
3232 (ANYFI): New define_mode_iterator.
3233 (lrint<ANYF><ANYFI>): New instruction template.
3235 2022-11-12 Xi Ruoyao <xry111@xry111.site>
3237 * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
3238 (rint<mode>2): .. this.
3240 2022-11-11 David Malcolm <dmalcolm@redhat.com>
3243 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3244 Add -Wanalyzer-infinite-recursion.
3245 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
3246 (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
3248 2022-11-11 David Malcolm <dmalcolm@redhat.com>
3251 * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
3253 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
3255 PR tree-optimization/107523
3256 * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
3257 rather than fur_depend.
3259 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
3261 * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
3262 (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
3263 (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
3264 (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
3266 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3268 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
3270 * config/aarch64/aarch64-tune.md: Regenerate.
3271 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3272 Document Cortex-X1C CPU.
3274 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3276 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
3278 * config/aarch64/aarch64-tune.md: Regenerate.
3279 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3280 Document Cortex-A715 CPU.
3282 2022-11-11 Richard Biener <rguenther@suse.de>
3283 Nikita Voronov <nik_1357@mail.ru>
3285 PR tree-optimization/107554
3286 * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
3287 Use unsigned HOST_WIDE_INT type for the strlen.
3289 2022-11-11 Richard Biener <rguenther@suse.de>
3291 PR tree-optimization/105142
3292 * gimple-fold.cc (fosa_unwind): New global.
3293 (follow_outer_ssa_edges): When the SSA definition to follow
3294 is does not dominate fosa_bb, temporarily clear flow-sensitive
3295 info. Make sure to not expand stmts with not defined overflow.
3296 (maybe_fold_comparisons_from_match_pd): Set up unwind stack
3297 for follow_outer_ssa_edges and unwind flow-sensitive info
3298 clearing after matching.
3300 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3302 * range-op.cc (operator_mult::fold_range): Remove.
3303 (operator_div::fold_range): Remove.
3304 (operator_bitwise_and): Remove.
3306 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3308 * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
3310 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3312 * range-op.cc (range_operator::fold_range): Call
3313 update_known_bitmask.
3314 (operator_bitwise_and::fold_range): Avoid setting nonzero bits
3315 when range is undefined.
3317 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3319 * range-op.cc (class operator_div): Remove tree code.
3320 (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
3323 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
3325 * range-op.cc: (range_op_table::set): Set m_code.
3326 (integral_table::integral_table): Handle shared entries.
3327 (pointer_table::pointer_table): Same.
3328 * range-op.h (class range_operator): Add m_code.
3330 2022-11-11 Richard Biener <rguenther@suse.de>
3332 PR tree-optimization/107618
3333 * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
3334 assignments with a single SSA use.
3335 (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
3336 to perform simple constant folding.
3337 (copy_prop::visit_stmt): Visit all assignments.
3339 2022-11-11 Richard Biener <rguenther@suse.de>
3341 PR tree-optimization/84646
3342 * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
3343 wheter to run update-address-taken.
3344 (pass_dce::execute): Honor it.
3345 * passes.def: Exchange last DCE and CD-DCE invocations.
3346 Swap pass_tail_calls and the last DCE.
3348 2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3349 Monk Chiang <monk.chiang@sifive.com>
3351 * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
3352 (legitimize_move): Ditto.
3353 * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
3354 (riscv_first_stack_step): Adjust for scalable register spilling.
3355 (riscv_expand_prologue): Ditto.
3356 (riscv_expand_epilogue): Ditto.
3357 (riscv_dwarf_poly_indeterminate_value): New function.
3358 (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
3359 * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
3360 (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
3361 (RISCV_PROLOGUE_TEMP2): Ditto.
3362 * config/riscv/vector-iterators.md: New iterators.
3363 * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
3364 (*mov<mode>_whole): New pattern.
3365 (*mov<mode>_fract): New pattern.
3366 (@pred_mov<mode>): Fix it for register spilling.
3368 2022-11-11 Jonathan Wakely <jwakely@redhat.com>
3371 * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
3373 2022-11-11 Haochen Jiang <haochen.jiang@intel.com>
3375 * config/i386/i386-builtin.def (BDESC): Add
3376 OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
3377 * config/i386/i386-expand.cc (ix86_expand_builtin):
3378 Add ISA check before emit_insn.
3379 * config/i386/prfchiintrin.h: Add target for intrin.
3381 2022-11-10 David Malcolm <dmalcolm@redhat.com>
3384 * tristate.h (tristate::is_unknown): New.
3386 2022-11-10 David Malcolm <dmalcolm@redhat.com>
3388 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3389 Add -Wanalyzer-deref-before-check.
3391 2022-11-10 Marek Polacek <polacek@redhat.com>
3393 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
3394 Extend the description of -Wdangling-reference.
3396 2022-11-10 Andrew Pinski <apinski@marvell.com>
3398 * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
3399 * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
3400 * system.h: Poison SLOW_SHORT_ACCESS
3402 2022-11-10 Aldy Hernandez <aldyh@redhat.com>
3404 * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
3405 (range_tests_signed_zeros): Adjust test.
3407 2022-11-10 Richard Biener <rguenther@suse.de>
3409 PR tree-optimization/84646
3410 * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
3411 copy propagation across PHIs.
3413 2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu>
3415 * config/riscv/riscv-cores.def (RISCV_TUNE): Update
3416 sifive-7-series to point to the sifive_7 pipeline description.
3418 2022-11-10 Richard Biener <rguenther@suse.de>
3420 PR tree-optimization/84646
3421 * tree-ssa-ccp.cc (set_lattice_value): Make sure we
3422 allow a const -> copy transition and avoid using meet
3425 2022-11-10 Martin Liska <mliska@suse.cz>
3427 * doc/cpp/conf.py: Add newline at last line.
3428 * doc/cppinternals/conf.py: Add newline at last line.
3429 * doc/gcc/conf.py: Add newline at last line.
3430 * doc/gccint/conf.py: Add newline at last line.
3431 * doc/install/conf.py: Add newline at last line.
3433 2022-11-10 Richard Biener <rguenther@suse.de>
3435 * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
3436 candidates and determine the outermost loop to unswitch.
3437 (tree_ssa_unswitch_loops): First perform all guard hoisting,
3438 then perform unswitching on innermost loop predicates.
3439 (find_unswitching_predicates_for_bb): Keep track of the
3440 outermost loop to unswitch.
3441 (evaluate_bbs): Adjust exit test.
3442 (tree_unswitch_single_loop): Dump whether we unswitched an outer
3444 (tree_unswitch_loop): Remove assert we unswitch only innermost
3447 2022-11-10 Jakub Jelinek <jakub@redhat.com>
3451 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
3452 gen_int_mode rather than GEN_INT.
3454 2022-11-09 Martin Liska <mliska@suse.cz>
3455 Sinan <sinan.lin@linux.alibaba.com>
3457 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3458 Add missing variable name.
3460 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
3462 * value-range-storage.cc (frange_storage_slot::get_frange): Clear
3464 * value-range.cc (range_tests_floats): New test.
3466 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
3468 * range-op-float.cc (class foperator_plus): Remove op[12]_range.
3469 (class foperator_minus): Same.
3471 2022-11-09 Qing Zhao <qing.zhao@oracle.com>
3473 * gimple-array-bounds.cc (trailing_array): Replace
3474 array_at_struct_end_p with new name and update comments.
3475 * gimple-fold.cc (get_range_strlen_tree): Likewise.
3476 * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
3478 * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
3479 * tree-if-conv.cc (idx_within_array_bound): Likewise.
3480 * tree-object-size.cc (addr_object_size): Likewise.
3481 * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
3483 (stmt_kills_ref_p): Likewise.
3484 * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
3485 * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
3486 * tree.cc (array_at_struct_end_p): Rename to ...
3487 (array_ref_flexible_size_p): ... this.
3488 (component_ref_size): Replace array_at_struct_end_p with new name.
3489 * tree.h (array_at_struct_end_p): Rename to ...
3490 (array_ref_flexible_size_p): ... this.
3492 2022-11-09 Martin Liska <mliska@suse.cz>
3494 * Makefile.in: Use new install URL.
3495 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
3496 Use intersphinx link.
3497 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3499 * doc/gccint/source-tree-structure-and-build-system.rst: Use
3501 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3502 * doc/install/installing-gcc.rst: Likewise.
3504 2022-11-09 Richard Biener <rguenther@suse.de>
3506 PR tree-optimization/84646
3507 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
3508 Remove premature cycle rejection.
3510 2022-11-09 Martin Liska <mliska@suse.cz>
3512 * doc/cpp/character-sets.rst:
3513 Add trailing newline.
3514 * doc/cpp/conditional-syntax.rst:
3515 Add trailing newline.
3516 * doc/cpp/conditional-uses.rst:
3517 Add trailing newline.
3518 * doc/cpp/conditionals.rst:
3519 Add trailing newline.
3520 * doc/cpp/copyright.rst:
3521 Add trailing newline.
3522 * doc/cpp/deleted-code.rst:
3523 Add trailing newline.
3524 * doc/cpp/diagnostics.rst:
3525 Add trailing newline.
3526 * doc/cpp/environment-variables.rst:
3527 Add trailing newline.
3528 * doc/cpp/gnu-free-documentation-license.rst:
3529 Add trailing newline.
3530 * doc/cpp/header-files.rst:
3531 Add trailing newline.
3532 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
3533 Add trailing newline.
3534 * doc/cpp/header-files/computed-includes.rst:
3535 Add trailing newline.
3536 * doc/cpp/header-files/include-operation.rst:
3537 Add trailing newline.
3538 * doc/cpp/header-files/include-syntax.rst:
3539 Add trailing newline.
3540 * doc/cpp/header-files/once-only-headers.rst:
3541 Add trailing newline.
3542 * doc/cpp/header-files/search-path.rst:
3543 Add trailing newline.
3544 * doc/cpp/header-files/system-headers.rst:
3545 Add trailing newline.
3546 * doc/cpp/header-files/wrapper-headers.rst:
3547 Add trailing newline.
3548 * doc/cpp/implementation-defined-behavior.rst:
3549 Add trailing newline.
3550 * doc/cpp/implementation-details.rst:
3551 Add trailing newline.
3552 * doc/cpp/implementation-limits.rst:
3553 Add trailing newline.
3554 * doc/cpp/index.rst:
3555 Add trailing newline.
3556 * doc/cpp/indices-and-tables.rst:
3557 Add trailing newline.
3558 * doc/cpp/initial-processing.rst:
3559 Add trailing newline.
3560 * doc/cpp/invocation.rst:
3561 Add trailing newline.
3562 * doc/cpp/line-control.rst:
3563 Add trailing newline.
3564 * doc/cpp/macros.rst:
3565 Add trailing newline.
3566 * doc/cpp/macros/concatenation.rst:
3567 Add trailing newline.
3568 * doc/cpp/macros/directives-within-macro-arguments.rst:
3569 Add trailing newline.
3570 * doc/cpp/macros/function-like-macros.rst:
3571 Add trailing newline.
3572 * doc/cpp/macros/macro-arguments.rst:
3573 Add trailing newline.
3574 * doc/cpp/macros/macro-pitfalls.rst:
3575 Add trailing newline.
3576 * doc/cpp/macros/object-like-macros.rst:
3577 Add trailing newline.
3578 * doc/cpp/macros/predefined-macros.rst:
3579 Add trailing newline.
3580 * doc/cpp/macros/stringizing.rst:
3581 Add trailing newline.
3582 * doc/cpp/macros/undefining-and-redefining-macros.rst:
3583 Add trailing newline.
3584 * doc/cpp/macros/variadic-macros.rst:
3585 Add trailing newline.
3586 * doc/cpp/obsolete-features.rst:
3587 Add trailing newline.
3588 * doc/cpp/other-directives.rst:
3589 Add trailing newline.
3590 * doc/cpp/overview.rst:
3591 Add trailing newline.
3592 * doc/cpp/pragmas.rst:
3593 Add trailing newline.
3594 * doc/cpp/preprocessor-output.rst:
3595 Add trailing newline.
3596 * doc/cpp/the-preprocessing-language.rst:
3597 Add trailing newline.
3598 * doc/cpp/tokenization.rst:
3599 Add trailing newline.
3600 * doc/cpp/traditional-lexical-analysis.rst:
3601 Add trailing newline.
3602 * doc/cpp/traditional-macros.rst:
3603 Add trailing newline.
3604 * doc/cpp/traditional-miscellany.rst:
3605 Add trailing newline.
3606 * doc/cpp/traditional-mode.rst:
3607 Add trailing newline.
3608 * doc/cpp/traditional-warnings.rst:
3609 Add trailing newline.
3610 * doc/cppinternals/copyright.rst:
3611 Add trailing newline.
3612 * doc/cppinternals/cppinternals.rst:
3613 Add trailing newline.
3614 * doc/cppinternals/cpplib.rst:
3615 Add trailing newline.
3616 * doc/cppinternals/files.rst:
3617 Add trailing newline.
3618 * doc/cppinternals/index.rst:
3619 Add trailing newline.
3620 * doc/cppinternals/indices-and-tables.rst:
3621 Add trailing newline.
3622 * doc/cppinternals/internal-representation-of-macros.rst:
3623 Add trailing newline.
3624 * doc/cppinternals/just-which-line-number-anyway.rst:
3625 Add trailing newline.
3626 * doc/cppinternals/lexing-a-line.rst:
3627 Add trailing newline.
3628 * doc/cppinternals/lexing-a-token.rst:
3629 Add trailing newline.
3630 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
3631 Add trailing newline.
3632 * doc/cppinternals/macro-expansion-overview.rst:
3633 Add trailing newline.
3634 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
3635 Add trailing newline.
3636 * doc/cppinternals/multiple-include-optimization.rst:
3637 Add trailing newline.
3638 * doc/cppinternals/overview.rst:
3639 Add trailing newline.
3640 * doc/cppinternals/representation-of-line-numbers.rst:
3641 Add trailing newline.
3642 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
3643 Add trailing newline.
3644 * doc/gcc/binary-compatibility.rst:
3645 Add trailing newline.
3646 * doc/gcc/c++-implementation-defined-behavior.rst:
3647 Add trailing newline.
3648 * doc/gcc/c-implementation-defined-behavior.rst:
3649 Add trailing newline.
3650 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
3651 Add trailing newline.
3652 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
3653 Add trailing newline.
3654 * doc/gcc/c-implementation-defined-behavior/characters.rst:
3655 Add trailing newline.
3656 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
3657 Add trailing newline.
3658 * doc/gcc/c-implementation-defined-behavior/environment.rst:
3659 Add trailing newline.
3660 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
3661 Add trailing newline.
3662 * doc/gcc/c-implementation-defined-behavior/hints.rst:
3663 Add trailing newline.
3664 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
3665 Add trailing newline.
3666 * doc/gcc/c-implementation-defined-behavior/integers.rst:
3667 Add trailing newline.
3668 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
3669 Add trailing newline.
3670 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
3671 Add trailing newline.
3672 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
3673 Add trailing newline.
3674 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
3675 Add trailing newline.
3676 * doc/gcc/c-implementation-defined-behavior/statements.rst:
3677 Add trailing newline.
3678 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
3679 Add trailing newline.
3680 * doc/gcc/c-implementation-defined-behavior/translation.rst:
3681 Add trailing newline.
3682 * doc/gcc/conditionally-supported-behavior.rst:
3683 Add trailing newline.
3684 * doc/gcc/contributing-to-gcc-development.rst:
3685 Add trailing newline.
3686 * doc/gcc/contributors-to-gcc.rst:
3687 Add trailing newline.
3688 * doc/gcc/copyright.rst:
3689 Add trailing newline.
3690 * doc/gcc/exception-handling.rst:
3691 Add trailing newline.
3692 * doc/gcc/extensions-to-the-c++-language.rst:
3693 Add trailing newline.
3694 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
3695 Add trailing newline.
3696 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
3697 Add trailing newline.
3698 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
3699 Add trailing newline.
3700 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
3701 Add trailing newline.
3702 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
3703 Add trailing newline.
3704 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
3705 Add trailing newline.
3706 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
3707 Add trailing newline.
3708 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
3709 Add trailing newline.
3710 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
3711 Add trailing newline.
3712 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
3713 Add trailing newline.
3714 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
3715 Add trailing newline.
3716 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
3717 Add trailing newline.
3718 * doc/gcc/extensions-to-the-c-language-family.rst:
3719 Add trailing newline.
3720 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
3721 Add trailing newline.
3722 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
3723 Add trailing newline.
3724 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
3725 Add trailing newline.
3726 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
3727 Add trailing newline.
3728 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
3729 Add trailing newline.
3730 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
3731 Add trailing newline.
3732 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
3733 Add trailing newline.
3734 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
3735 Add trailing newline.
3736 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
3737 Add trailing newline.
3738 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
3739 Add trailing newline.
3740 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
3741 Add trailing newline.
3742 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
3743 Add trailing newline.
3744 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
3745 Add trailing newline.
3746 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
3747 Add trailing newline.
3748 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
3749 Add trailing newline.
3750 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
3751 Add trailing newline.
3752 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
3753 Add trailing newline.
3754 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
3755 Add trailing newline.
3756 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
3757 Add trailing newline.
3758 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
3759 Add trailing newline.
3760 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
3761 Add trailing newline.
3762 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
3763 Add trailing newline.
3764 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
3765 Add trailing newline.
3766 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
3767 Add trailing newline.
3768 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
3769 Add trailing newline.
3770 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
3771 Add trailing newline.
3772 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
3773 Add trailing newline.
3774 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
3775 Add trailing newline.
3776 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
3777 Add trailing newline.
3778 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
3779 Add trailing newline.
3780 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
3781 Add trailing newline.
3782 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
3783 Add trailing newline.
3784 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
3785 Add trailing newline.
3786 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
3787 Add trailing newline.
3788 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
3789 Add trailing newline.
3790 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
3791 Add trailing newline.
3792 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
3793 Add trailing newline.
3794 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
3795 Add trailing newline.
3796 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
3797 Add trailing newline.
3798 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
3799 Add trailing newline.
3800 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
3801 Add trailing newline.
3802 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
3803 Add trailing newline.
3804 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
3805 Add trailing newline.
3806 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
3807 Add trailing newline.
3808 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
3809 Add trailing newline.
3810 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
3811 Add trailing newline.
3812 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
3813 Add trailing newline.
3814 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
3815 Add trailing newline.
3816 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
3817 Add trailing newline.
3818 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
3819 Add trailing newline.
3820 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
3821 Add trailing newline.
3822 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
3823 Add trailing newline.
3824 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
3825 Add trailing newline.
3826 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
3827 Add trailing newline.
3828 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
3829 Add trailing newline.
3830 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
3831 Add trailing newline.
3832 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
3833 Add trailing newline.
3834 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
3835 Add trailing newline.
3836 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
3837 Add trailing newline.
3838 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
3839 Add trailing newline.
3840 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
3841 Add trailing newline.
3842 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
3843 Add trailing newline.
3844 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
3845 Add trailing newline.
3846 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
3847 Add trailing newline.
3848 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
3849 Add trailing newline.
3850 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
3851 Add trailing newline.
3852 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
3853 Add trailing newline.
3854 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
3855 Add trailing newline.
3856 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
3857 Add trailing newline.
3858 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
3859 Add trailing newline.
3860 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
3861 Add trailing newline.
3862 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
3863 Add trailing newline.
3864 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
3865 Add trailing newline.
3866 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
3867 Add trailing newline.
3868 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
3869 Add trailing newline.
3870 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
3871 Add trailing newline.
3872 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
3873 Add trailing newline.
3874 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
3875 Add trailing newline.
3876 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
3877 Add trailing newline.
3878 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
3879 Add trailing newline.
3880 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
3881 Add trailing newline.
3882 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
3883 Add trailing newline.
3884 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
3885 Add trailing newline.
3886 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
3887 Add trailing newline.
3888 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
3889 Add trailing newline.
3890 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
3891 Add trailing newline.
3892 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
3893 Add trailing newline.
3894 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
3895 Add trailing newline.
3896 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
3897 Add trailing newline.
3898 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
3899 Add trailing newline.
3900 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
3901 Add trailing newline.
3902 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
3903 Add trailing newline.
3904 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
3905 Add trailing newline.
3906 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
3907 Add trailing newline.
3908 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
3909 Add trailing newline.
3910 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
3911 Add trailing newline.
3912 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
3913 Add trailing newline.
3914 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
3915 Add trailing newline.
3916 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
3917 Add trailing newline.
3918 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
3919 Add trailing newline.
3920 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
3921 Add trailing newline.
3922 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
3923 Add trailing newline.
3924 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
3925 Add trailing newline.
3926 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
3927 Add trailing newline.
3928 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
3929 Add trailing newline.
3930 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
3931 Add trailing newline.
3932 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
3933 Add trailing newline.
3934 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
3935 Add trailing newline.
3936 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
3937 Add trailing newline.
3938 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
3939 Add trailing newline.
3940 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
3941 Add trailing newline.
3942 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
3943 Add trailing newline.
3944 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
3945 Add trailing newline.
3946 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
3947 Add trailing newline.
3948 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
3949 Add trailing newline.
3950 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
3951 Add trailing newline.
3952 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
3953 Add trailing newline.
3954 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
3955 Add trailing newline.
3956 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
3957 Add trailing newline.
3958 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
3959 Add trailing newline.
3960 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
3961 Add trailing newline.
3962 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
3963 Add trailing newline.
3964 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
3965 Add trailing newline.
3966 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
3967 Add trailing newline.
3968 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
3969 Add trailing newline.
3970 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
3971 Add trailing newline.
3972 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
3973 Add trailing newline.
3974 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
3975 Add trailing newline.
3976 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
3977 Add trailing newline.
3978 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
3979 Add trailing newline.
3980 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
3981 Add trailing newline.
3982 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
3983 Add trailing newline.
3984 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
3985 Add trailing newline.
3986 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
3987 Add trailing newline.
3988 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
3989 Add trailing newline.
3990 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
3991 Add trailing newline.
3992 * doc/gcc/funding.rst:
3993 Add trailing newline.
3994 * doc/gcc/gcc-command-options.rst:
3995 Add trailing newline.
3996 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
3997 Add trailing newline.
3998 * doc/gcc/gcc-command-options/description.rst:
3999 Add trailing newline.
4000 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4001 Add trailing newline.
4002 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4003 Add trailing newline.
4004 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4005 Add trailing newline.
4006 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4007 Add trailing newline.
4008 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4009 Add trailing newline.
4010 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4011 Add trailing newline.
4012 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4013 Add trailing newline.
4014 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4015 Add trailing newline.
4016 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4017 Add trailing newline.
4018 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4019 Add trailing newline.
4020 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
4021 Add trailing newline.
4022 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
4023 Add trailing newline.
4024 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
4025 Add trailing newline.
4026 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
4027 Add trailing newline.
4028 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
4029 Add trailing newline.
4030 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
4031 Add trailing newline.
4032 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
4033 Add trailing newline.
4034 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
4035 Add trailing newline.
4036 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
4037 Add trailing newline.
4038 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
4039 Add trailing newline.
4040 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
4041 Add trailing newline.
4042 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
4043 Add trailing newline.
4044 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
4045 Add trailing newline.
4046 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
4047 Add trailing newline.
4048 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
4049 Add trailing newline.
4050 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
4051 Add trailing newline.
4052 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
4053 Add trailing newline.
4054 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
4055 Add trailing newline.
4056 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
4057 Add trailing newline.
4058 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
4059 Add trailing newline.
4060 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
4061 Add trailing newline.
4062 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
4063 Add trailing newline.
4064 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
4065 Add trailing newline.
4066 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
4067 Add trailing newline.
4068 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
4069 Add trailing newline.
4070 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
4071 Add trailing newline.
4072 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
4073 Add trailing newline.
4074 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
4075 Add trailing newline.
4076 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
4077 Add trailing newline.
4078 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
4079 Add trailing newline.
4080 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
4081 Add trailing newline.
4082 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
4083 Add trailing newline.
4084 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
4085 Add trailing newline.
4086 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
4087 Add trailing newline.
4088 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
4089 Add trailing newline.
4090 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
4091 Add trailing newline.
4092 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
4093 Add trailing newline.
4094 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
4095 Add trailing newline.
4096 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
4097 Add trailing newline.
4098 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
4099 Add trailing newline.
4100 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
4101 Add trailing newline.
4102 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
4103 Add trailing newline.
4104 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
4105 Add trailing newline.
4106 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
4107 Add trailing newline.
4108 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
4109 Add trailing newline.
4110 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
4111 Add trailing newline.
4112 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
4113 Add trailing newline.
4114 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
4115 Add trailing newline.
4116 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
4117 Add trailing newline.
4118 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
4119 Add trailing newline.
4120 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
4121 Add trailing newline.
4122 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
4123 Add trailing newline.
4124 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
4125 Add trailing newline.
4126 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
4127 Add trailing newline.
4128 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
4129 Add trailing newline.
4130 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
4131 Add trailing newline.
4132 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4133 Add trailing newline.
4134 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
4135 Add trailing newline.
4136 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
4137 Add trailing newline.
4138 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
4139 Add trailing newline.
4140 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
4141 Add trailing newline.
4142 * doc/gcc/gcc-command-options/options-for-linking.rst:
4143 Add trailing newline.
4144 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
4145 Add trailing newline.
4146 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4147 Add trailing newline.
4148 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
4149 Add trailing newline.
4150 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
4151 Add trailing newline.
4152 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
4153 Add trailing newline.
4154 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
4155 Add trailing newline.
4156 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
4157 Add trailing newline.
4158 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
4159 Add trailing newline.
4161 Add trailing newline.
4162 * doc/gcc/gcov-dump.rst:
4163 Add trailing newline.
4164 * doc/gcc/gcov-tool.rst:
4165 Add trailing newline.
4167 Add trailing newline.
4168 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
4169 Add trailing newline.
4170 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
4171 Add trailing newline.
4172 * doc/gcc/gcov/introduction-to-gcov.rst:
4173 Add trailing newline.
4174 * doc/gcc/gcov/invoking-gcov.rst:
4175 Add trailing newline.
4176 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
4177 Add trailing newline.
4178 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
4179 Add trailing newline.
4180 * doc/gcc/general-public-license-3.rst:
4181 Add trailing newline.
4182 * doc/gcc/gnu-free-documentation-license.rst:
4183 Add trailing newline.
4184 * doc/gcc/gnu-objective-c-features.rst:
4185 Add trailing newline.
4186 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
4187 Add trailing newline.
4188 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
4189 Add trailing newline.
4190 * doc/gcc/gnu-objective-c-features/exceptions.rst:
4191 Add trailing newline.
4192 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
4193 Add trailing newline.
4194 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
4195 Add trailing newline.
4196 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
4197 Add trailing newline.
4198 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
4199 Add trailing newline.
4200 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
4201 Add trailing newline.
4202 * doc/gcc/gnu-objective-c-features/synchronization.rst:
4203 Add trailing newline.
4204 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
4205 Add trailing newline.
4207 Add trailing newline.
4208 * doc/gcc/have-you-found-a-bug.rst:
4209 Add trailing newline.
4210 * doc/gcc/how-and-where-to-report-bugs.rst:
4211 Add trailing newline.
4212 * doc/gcc/how-to-get-help-with-gcc.rst:
4213 Add trailing newline.
4214 * doc/gcc/index.rst:
4215 Add trailing newline.
4216 * doc/gcc/indices-and-tables.rst:
4217 Add trailing newline.
4218 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
4219 Add trailing newline.
4220 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
4221 Add trailing newline.
4222 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
4223 Add trailing newline.
4224 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
4225 Add trailing newline.
4226 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
4227 Add trailing newline.
4228 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
4229 Add trailing newline.
4230 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
4231 Add trailing newline.
4232 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
4233 Add trailing newline.
4234 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
4235 Add trailing newline.
4236 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
4237 Add trailing newline.
4238 * doc/gcc/language-standards-supported-by-gcc.rst:
4239 Add trailing newline.
4240 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
4241 Add trailing newline.
4242 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
4243 Add trailing newline.
4244 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
4245 Add trailing newline.
4246 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
4247 Add trailing newline.
4248 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
4249 Add trailing newline.
4250 * doc/gcc/lto-dump.rst:
4251 Add trailing newline.
4252 * doc/gcc/programming-languages-supported-by-gcc.rst:
4253 Add trailing newline.
4254 * doc/gcc/reporting-bugs.rst:
4255 Add trailing newline.
4256 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
4257 Add trailing newline.
4258 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
4259 Add trailing newline.
4260 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
4261 Add trailing newline.
4262 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
4263 Add trailing newline.
4264 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
4265 Add trailing newline.
4266 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
4267 Add trailing newline.
4268 * doc/gccint/analysis-and-representation-of-loops.rst:
4269 Add trailing newline.
4270 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
4271 Add trailing newline.
4272 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
4273 Add trailing newline.
4274 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
4275 Add trailing newline.
4276 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
4277 Add trailing newline.
4278 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
4279 Add trailing newline.
4280 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
4281 Add trailing newline.
4282 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
4283 Add trailing newline.
4284 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
4285 Add trailing newline.
4286 * doc/gccint/analyzer-internals.rst:
4287 Add trailing newline.
4288 * doc/gccint/collect2.rst:
4289 Add trailing newline.
4290 * doc/gccint/contributing-to-gcc-development.rst:
4291 Add trailing newline.
4292 * doc/gccint/contributors-to-gcc.rst:
4293 Add trailing newline.
4294 * doc/gccint/control-flow-graph.rst:
4295 Add trailing newline.
4296 * doc/gccint/control-flow-graph/basic-blocks.rst:
4297 Add trailing newline.
4298 * doc/gccint/control-flow-graph/edges.rst:
4299 Add trailing newline.
4300 * doc/gccint/control-flow-graph/liveness-information.rst:
4301 Add trailing newline.
4302 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
4303 Add trailing newline.
4304 * doc/gccint/control-flow-graph/profile-information.rst:
4305 Add trailing newline.
4306 * doc/gccint/copyright.rst:
4307 Add trailing newline.
4308 * doc/gccint/debugging-the-analyzer.rst:
4309 Add trailing newline.
4310 * doc/gccint/funding.rst:
4311 Add trailing newline.
4312 * doc/gccint/gcc-and-portability.rst:
4313 Add trailing newline.
4314 * doc/gccint/general-public-license-3.rst:
4315 Add trailing newline.
4316 * doc/gccint/generic.rst:
4317 Add trailing newline.
4318 * doc/gccint/generic/attributes-in-trees.rst:
4319 Add trailing newline.
4320 * doc/gccint/generic/c-and-c++-trees.rst:
4321 Add trailing newline.
4322 * doc/gccint/generic/declarations.rst:
4323 Add trailing newline.
4324 * doc/gccint/generic/deficiencies.rst:
4325 Add trailing newline.
4326 * doc/gccint/generic/expressions.rst:
4327 Add trailing newline.
4328 * doc/gccint/generic/functions.rst:
4329 Add trailing newline.
4330 * doc/gccint/generic/language-dependent-trees.rst:
4331 Add trailing newline.
4332 * doc/gccint/generic/overview.rst:
4333 Add trailing newline.
4334 * doc/gccint/generic/statements.rst:
4335 Add trailing newline.
4336 * doc/gccint/generic/types.rst:
4337 Add trailing newline.
4338 * doc/gccint/gimple-api.rst:
4339 Add trailing newline.
4340 * doc/gccint/gimple.rst:
4341 Add trailing newline.
4342 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
4343 Add trailing newline.
4344 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
4345 Add trailing newline.
4346 * doc/gccint/gimple/exception-handling.rst:
4347 Add trailing newline.
4348 * doc/gccint/gimple/gimple-instruction-set.rst:
4349 Add trailing newline.
4350 * doc/gccint/gimple/gimple-sequences.rst:
4351 Add trailing newline.
4352 * doc/gccint/gimple/manipulating-gimple-statements.rst:
4353 Add trailing newline.
4354 * doc/gccint/gimple/operands.rst:
4355 Add trailing newline.
4356 * doc/gccint/gimple/sequence-iterators.rst:
4357 Add trailing newline.
4358 * doc/gccint/gimple/statement-and-operand-traversals.rst:
4359 Add trailing newline.
4360 * doc/gccint/gimple/temporaries.rst:
4361 Add trailing newline.
4362 * doc/gccint/gimple/tuple-representation.rst:
4363 Add trailing newline.
4364 * doc/gccint/gimple/tuple-specific-accessors.rst:
4365 Add trailing newline.
4366 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
4367 Add trailing newline.
4368 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
4369 Add trailing newline.
4370 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
4371 Add trailing newline.
4372 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
4373 Add trailing newline.
4374 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
4375 Add trailing newline.
4376 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
4377 Add trailing newline.
4378 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
4379 Add trailing newline.
4380 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
4381 Add trailing newline.
4382 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
4383 Add trailing newline.
4384 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
4385 Add trailing newline.
4386 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
4387 Add trailing newline.
4388 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
4389 Add trailing newline.
4390 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
4391 Add trailing newline.
4392 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
4393 Add trailing newline.
4394 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
4395 Add trailing newline.
4396 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
4397 Add trailing newline.
4398 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
4399 Add trailing newline.
4400 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
4401 Add trailing newline.
4402 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
4403 Add trailing newline.
4404 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
4405 Add trailing newline.
4406 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
4407 Add trailing newline.
4408 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
4409 Add trailing newline.
4410 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
4411 Add trailing newline.
4412 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
4413 Add trailing newline.
4414 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
4415 Add trailing newline.
4416 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
4417 Add trailing newline.
4418 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
4419 Add trailing newline.
4420 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
4421 Add trailing newline.
4422 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
4423 Add trailing newline.
4424 * doc/gccint/gnu-free-documentation-license.rst:
4425 Add trailing newline.
4426 * doc/gccint/guidelines-for-diagnostics.rst:
4427 Add trailing newline.
4428 * doc/gccint/guidelines-for-options.rst:
4429 Add trailing newline.
4430 * doc/gccint/host-common.rst:
4431 Add trailing newline.
4432 * doc/gccint/host-configuration.rst:
4433 Add trailing newline.
4434 * doc/gccint/host-filesystem.rst:
4435 Add trailing newline.
4436 * doc/gccint/host-makefile-fragments.rst:
4437 Add trailing newline.
4438 * doc/gccint/host-misc.rst:
4439 Add trailing newline.
4440 * doc/gccint/index.rst:
4441 Add trailing newline.
4442 * doc/gccint/indices-and-tables.rst:
4443 Add trailing newline.
4444 * doc/gccint/interfacing-to-gcc-output.rst:
4445 Add trailing newline.
4446 * doc/gccint/introduction.rst:
4447 Add trailing newline.
4448 * doc/gccint/language-front-ends-in-gcc.rst:
4449 Add trailing newline.
4450 * doc/gccint/link-time-optimization.rst:
4451 Add trailing newline.
4452 * doc/gccint/link-time-optimization/design-overview.rst:
4453 Add trailing newline.
4454 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
4455 Add trailing newline.
4456 * doc/gccint/link-time-optimization/lto-file-sections.rst:
4457 Add trailing newline.
4458 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
4459 Add trailing newline.
4460 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
4461 Add trailing newline.
4462 * doc/gccint/machine-descriptions.rst:
4463 Add trailing newline.
4464 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
4465 Add trailing newline.
4466 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
4467 Add trailing newline.
4468 * doc/gccint/machine-descriptions/conditional-execution.rst:
4469 Add trailing newline.
4470 * doc/gccint/machine-descriptions/constant-definitions.rst:
4471 Add trailing newline.
4472 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
4473 Add trailing newline.
4474 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
4475 Add trailing newline.
4476 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
4477 Add trailing newline.
4478 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
4479 Add trailing newline.
4480 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
4481 Add trailing newline.
4482 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
4483 Add trailing newline.
4484 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
4485 Add trailing newline.
4486 * doc/gccint/machine-descriptions/instruction-attributes.rst:
4487 Add trailing newline.
4488 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
4489 Add trailing newline.
4490 * doc/gccint/machine-descriptions/iterators.rst:
4491 Add trailing newline.
4492 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
4493 Add trailing newline.
4494 * doc/gccint/machine-descriptions/operand-constraints.rst:
4495 Add trailing newline.
4496 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
4497 Add trailing newline.
4498 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
4499 Add trailing newline.
4500 * doc/gccint/machine-descriptions/predicates.rst:
4501 Add trailing newline.
4502 * doc/gccint/machine-descriptions/rtl-template.rst:
4503 Add trailing newline.
4504 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
4505 Add trailing newline.
4506 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
4507 Add trailing newline.
4508 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
4509 Add trailing newline.
4510 * doc/gccint/makefile-fragments.rst:
4511 Add trailing newline.
4512 * doc/gccint/match-and-simplify.rst:
4513 Add trailing newline.
4514 * doc/gccint/memory-management-and-type-information.rst:
4515 Add trailing newline.
4516 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
4517 Add trailing newline.
4518 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
4519 Add trailing newline.
4520 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
4521 Add trailing newline.
4522 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
4523 Add trailing newline.
4524 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
4525 Add trailing newline.
4526 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
4527 Add trailing newline.
4528 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
4529 Add trailing newline.
4530 * doc/gccint/option-file-format.rst:
4531 Add trailing newline.
4532 * doc/gccint/option-properties.rst:
4533 Add trailing newline.
4534 * doc/gccint/option-specification-files.rst:
4535 Add trailing newline.
4536 * doc/gccint/passes-and-files-of-the-compiler.rst:
4537 Add trailing newline.
4538 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
4539 Add trailing newline.
4540 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
4541 Add trailing newline.
4542 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
4543 Add trailing newline.
4544 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
4545 Add trailing newline.
4546 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
4547 Add trailing newline.
4548 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
4549 Add trailing newline.
4550 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
4551 Add trailing newline.
4552 * doc/gccint/plugins.rst:
4553 Add trailing newline.
4554 * doc/gccint/plugins/building-gcc-plugins.rst:
4555 Add trailing newline.
4556 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
4557 Add trailing newline.
4558 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
4559 Add trailing newline.
4560 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
4561 Add trailing newline.
4562 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
4563 Add trailing newline.
4564 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
4565 Add trailing newline.
4566 * doc/gccint/plugins/loading-plugins.rst:
4567 Add trailing newline.
4568 * doc/gccint/plugins/plugin-api.rst:
4569 Add trailing newline.
4570 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
4571 Add trailing newline.
4572 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
4573 Add trailing newline.
4574 * doc/gccint/rtl-representation.rst:
4575 Add trailing newline.
4576 * doc/gccint/rtl-representation/access-to-operands.rst:
4577 Add trailing newline.
4578 * doc/gccint/rtl-representation/access-to-special-operands.rst:
4579 Add trailing newline.
4580 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
4581 Add trailing newline.
4582 * doc/gccint/rtl-representation/bit-fields.rst:
4583 Add trailing newline.
4584 * doc/gccint/rtl-representation/comparison-operations.rst:
4585 Add trailing newline.
4586 * doc/gccint/rtl-representation/constant-expression-types.rst:
4587 Add trailing newline.
4588 * doc/gccint/rtl-representation/conversions.rst:
4589 Add trailing newline.
4590 * doc/gccint/rtl-representation/declarations.rst:
4591 Add trailing newline.
4592 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
4593 Add trailing newline.
4594 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
4595 Add trailing newline.
4596 * doc/gccint/rtl-representation/insns.rst:
4597 Add trailing newline.
4598 * doc/gccint/rtl-representation/machine-modes.rst:
4599 Add trailing newline.
4600 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
4601 Add trailing newline.
4602 * doc/gccint/rtl-representation/reading-rtl.rst:
4603 Add trailing newline.
4604 * doc/gccint/rtl-representation/registers-and-memory.rst:
4605 Add trailing newline.
4606 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
4607 Add trailing newline.
4608 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
4609 Add trailing newline.
4610 * doc/gccint/rtl-representation/rtl-object-types.rst:
4611 Add trailing newline.
4612 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
4613 Add trailing newline.
4614 * doc/gccint/rtl-representation/side-effect-expressions.rst:
4615 Add trailing newline.
4616 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
4617 Add trailing newline.
4618 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
4619 Add trailing newline.
4620 * doc/gccint/rtl-representation/vector-operations.rst:
4621 Add trailing newline.
4622 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
4623 Add trailing newline.
4624 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
4625 Add trailing newline.
4626 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
4627 Add trailing newline.
4628 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
4629 Add trailing newline.
4630 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
4631 Add trailing newline.
4632 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
4633 Add trailing newline.
4634 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
4635 Add trailing newline.
4636 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
4637 Add trailing newline.
4638 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
4639 Add trailing newline.
4640 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
4641 Add trailing newline.
4642 * doc/gccint/source-tree-structure-and-build-system.rst:
4643 Add trailing newline.
4644 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
4645 Add trailing newline.
4646 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
4647 Add trailing newline.
4648 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
4649 Add trailing newline.
4650 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
4651 Add trailing newline.
4652 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
4653 Add trailing newline.
4654 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
4655 Add trailing newline.
4656 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
4657 Add trailing newline.
4658 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
4659 Add trailing newline.
4660 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
4661 Add trailing newline.
4662 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
4663 Add trailing newline.
4664 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
4665 Add trailing newline.
4666 * doc/gccint/standard-header-file-directories.rst:
4667 Add trailing newline.
4668 * doc/gccint/static-analyzer.rst:
4669 Add trailing newline.
4670 * doc/gccint/target-macros.rst:
4671 Add trailing newline.
4672 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
4673 Add trailing newline.
4674 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
4675 Add trailing newline.
4676 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
4677 Add trailing newline.
4678 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
4679 Add trailing newline.
4680 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
4681 Add trailing newline.
4682 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
4683 Add trailing newline.
4684 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
4685 Add trailing newline.
4686 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
4687 Add trailing newline.
4688 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4689 Add trailing newline.
4690 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4691 Add trailing newline.
4692 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4693 Add trailing newline.
4694 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4695 Add trailing newline.
4696 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
4697 Add trailing newline.
4698 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
4699 Add trailing newline.
4700 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
4701 Add trailing newline.
4702 * doc/gccint/target-macros/position-independent-code.rst:
4703 Add trailing newline.
4704 * doc/gccint/target-macros/register-usage.rst:
4705 Add trailing newline.
4706 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
4707 Add trailing newline.
4708 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4709 Add trailing newline.
4710 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
4711 Add trailing newline.
4712 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
4713 Add trailing newline.
4714 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4715 Add trailing newline.
4716 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4717 Add trailing newline.
4718 * doc/gccint/target-macros/support-for-nested-functions.rst:
4719 Add trailing newline.
4720 * doc/gccint/target-macros/the-global-targetm-variable.rst:
4721 Add trailing newline.
4722 * doc/gccint/target-makefile-fragments.rst:
4723 Add trailing newline.
4724 * doc/gccint/testsuites.rst:
4725 Add trailing newline.
4726 * doc/gccint/testsuites/ada-language-testsuites.rst:
4727 Add trailing newline.
4728 * doc/gccint/testsuites/c-language-testsuites.rst:
4729 Add trailing newline.
4730 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
4731 Add trailing newline.
4732 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
4733 Add trailing newline.
4734 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
4735 Add trailing newline.
4736 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
4737 Add trailing newline.
4738 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
4739 Add trailing newline.
4740 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
4741 Add trailing newline.
4742 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
4743 Add trailing newline.
4744 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
4745 Add trailing newline.
4746 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
4747 Add trailing newline.
4748 * doc/gccint/testsuites/support-for-testing-gcov.rst:
4749 Add trailing newline.
4750 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
4751 Add trailing newline.
4752 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
4753 Add trailing newline.
4754 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
4755 Add trailing newline.
4756 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
4757 Add trailing newline.
4758 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
4759 Add trailing newline.
4760 * doc/gccint/the-gcc-low-level-runtime-library.rst:
4761 Add trailing newline.
4762 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
4763 Add trailing newline.
4764 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
4765 Add trailing newline.
4766 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
4767 Add trailing newline.
4768 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
4769 Add trailing newline.
4770 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
4771 Add trailing newline.
4772 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
4773 Add trailing newline.
4774 * doc/gccint/the-language.rst:
4775 Add trailing newline.
4776 * doc/gccint/user-experience-guidelines.rst:
4777 Add trailing newline.
4778 * doc/install/binaries.rst:
4779 Add trailing newline.
4780 * doc/install/building.rst:
4781 Add trailing newline.
4782 * doc/install/building/building-a-cross-compiler.rst:
4783 Add trailing newline.
4784 * doc/install/building/building-a-native-compiler.rst:
4785 Add trailing newline.
4786 * doc/install/building/building-in-parallel.rst:
4787 Add trailing newline.
4788 * doc/install/building/building-the-ada-compiler.rst:
4789 Add trailing newline.
4790 * doc/install/building/building-the-d-compiler.rst:
4791 Add trailing newline.
4792 * doc/install/building/building-with-profile-feedback.rst:
4793 Add trailing newline.
4794 * doc/install/configuration.rst:
4795 Add trailing newline.
4796 * doc/install/copyright.rst:
4797 Add trailing newline.
4798 * doc/install/downloading-gcc.rst:
4799 Add trailing newline.
4800 * doc/install/final-installation.rst:
4801 Add trailing newline.
4802 * doc/install/gnu-free-documentation-license.rst:
4803 Add trailing newline.
4804 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
4805 Add trailing newline.
4806 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
4807 Add trailing newline.
4808 * doc/install/how-to-interpret-test-results.rst:
4809 Add trailing newline.
4810 * doc/install/index.rst:
4811 Add trailing newline.
4812 * doc/install/indices-and-tables.rst:
4813 Add trailing newline.
4814 * doc/install/installing-gcc.rst:
4815 Add trailing newline.
4816 * doc/install/passing-options-and-running-multiple-testsuites.rst:
4817 Add trailing newline.
4818 * doc/install/prerequisites.rst:
4819 Add trailing newline.
4820 * doc/install/submitting-test-results.rst:
4821 Add trailing newline.
4822 * doc/install/testing.rst:
4823 Add trailing newline.
4825 2022-11-09 Martin Liska <mliska@suse.cz>
4827 * opts.cc (get_option_html_page): Port to sphinx URLs.
4828 (get_option_url): Likewise.
4829 (test_get_option_html_page): Likewise.
4831 2022-11-09 Jakub Jelinek <jakub@redhat.com>
4833 PR tree-optimization/107569
4834 * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
4835 from the negatives frange before unioning it into r.
4837 2022-11-09 Martin Liska <mliska@suse.cz>
4839 * Makefile.in: Add vpath default for .rst files.
4840 * config/avr/avr-devices.cc: For port RST.
4841 * config/avr/avr-mcus.def: Update path.
4842 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
4843 * config/avr/gen-avr-mmcu-rst.cc: ...here.
4844 * config/avr/t-avr: Update to rst.
4845 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
4847 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu>
4849 * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
4851 2022-11-09 Xi Ruoyao <xry111@xry111.site>
4853 * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
4854 Avoid signed overflow.
4856 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
4858 * range-op-float.cc (foperator_plus::op1_range): New.
4859 (foperator_plus::op2_range): New.
4860 (foperator_minus::op1_range): New.
4861 (foperator_minus::op2_range): New.
4863 2022-11-09 Martin Liska <mliska@suse.cz>
4865 * Makefile.in: Support installation if sphinx-build is missing.
4867 2022-11-09 Martin Liska <mliska@suse.cz>
4869 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
4871 * doc/gccint/target-macros/storage-layout.rst: Likewise.
4872 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
4873 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
4875 2022-11-09 Martin Liska <mliska@suse.cz>
4877 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4878 Do not include tm.rst.in.
4879 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
4881 * doc/gccint/target-macros/run-time-target-specification.rst:
4884 2022-11-09 Martin Liska <mliska@suse.cz>
4886 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4887 Fix cross manual refs.
4888 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
4891 2022-11-09 Martin Liska <mliska@suse.cz>
4893 * Makefile.in: Support --with-sphinx-build.
4895 * configure: Regenerate.
4897 2022-11-09 Martin Liska <mliska@suse.cz>
4899 * target.def: Use proper lexers for target macros.
4900 * doc/gccint/target-macros/tm.rst.in: Re-generate.
4902 2022-11-09 Martin Liska <mliska@suse.cz>
4904 * doc/analyzer.texi: Removed.
4905 * doc/avr-mmcu.texi: Removed.
4906 * doc/bugreport.texi: Removed.
4907 * doc/cfg.texi: Removed.
4908 * doc/collect2.texi: Removed.
4909 * doc/compat.texi: Removed.
4910 * doc/configfiles.texi: Removed.
4911 * doc/configterms.texi: Removed.
4912 * doc/contrib.texi: Removed.
4913 * doc/contribute.texi: Removed.
4914 * doc/cpp.texi: Removed.
4915 * doc/cppdiropts.texi: Removed.
4916 * doc/cppenv.texi: Removed.
4917 * doc/cppinternals.texi: Removed.
4918 * doc/cppopts.texi: Removed.
4919 * doc/cppwarnopts.texi: Removed.
4920 * doc/extend.texi: Removed.
4921 * doc/fragments.texi: Removed.
4922 * doc/frontends.texi: Removed.
4923 * doc/gcc.texi: Removed.
4924 * doc/gccint.texi: Removed.
4925 * doc/gcov-dump.texi: Removed.
4926 * doc/gcov-tool.texi: Removed.
4927 * doc/gcov.texi: Removed.
4928 * doc/generic.texi: Removed.
4929 * doc/gimple.texi: Removed.
4930 * doc/gnu.texi: Removed.
4931 * doc/gty.texi: Removed.
4932 * doc/headerdirs.texi: Removed.
4933 * doc/hostconfig.texi: Removed.
4934 * doc/implement-c.texi: Removed.
4935 * doc/implement-cxx.texi: Removed.
4936 * doc/include/fdl.texi: Removed.
4937 * doc/include/funding.texi: Removed.
4938 * doc/include/gcc-common.texi: Removed.
4939 * doc/include/gpl_v3.texi: Removed.
4940 * doc/install.texi: Removed.
4941 * doc/interface.texi: Removed.
4942 * doc/invoke.texi: Removed.
4943 * doc/languages.texi: Removed.
4944 * doc/libgcc.texi: Removed.
4945 * doc/loop.texi: Removed.
4946 * doc/lto-dump.texi: Removed.
4947 * doc/lto.texi: Removed.
4948 * doc/makefile.texi: Removed.
4949 * doc/match-and-simplify.texi: Removed.
4950 * doc/md.texi: Removed.
4951 * doc/objc.texi: Removed.
4952 * doc/optinfo.texi: Removed.
4953 * doc/options.texi: Removed.
4954 * doc/passes.texi: Removed.
4955 * doc/plugins.texi: Removed.
4956 * doc/poly-int.texi: Removed.
4957 * doc/portability.texi: Removed.
4958 * doc/rtl.texi: Removed.
4959 * doc/service.texi: Removed.
4960 * doc/sourcebuild.texi: Removed.
4961 * doc/standards.texi: Removed.
4962 * doc/tm.texi: Removed.
4963 * doc/tree-ssa.texi: Removed.
4964 * doc/trouble.texi: Removed.
4965 * doc/ux.texi: Removed.
4966 * doc/tm.texi.in: Removed.
4968 2022-11-09 Martin Liska <mliska@suse.cz>
4970 * doc/gccint/target-macros/tm.rst.in: New file.
4972 2022-11-09 Martin Liska <mliska@suse.cz>
4974 * Makefile.in: Support Sphinx based documentation.
4975 * configure: Regenerate.
4976 * configure.ac: Support Sphinx based documentation.
4977 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
4979 2022-11-09 Martin Liska <mliska@suse.cz>
4981 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
4982 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
4983 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
4984 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
4985 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
4986 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
4987 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
4988 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
4989 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
4990 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
4991 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4993 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4995 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4997 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4999 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5001 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5003 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5005 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
5006 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
5007 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
5008 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
5009 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
5010 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
5011 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
5012 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
5013 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5015 * doc/gccint/target-macros/register-classes.rst: Likewise.
5016 * doc/gccint/target-macros/register-usage.rst: Likewise.
5017 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
5018 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5020 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5022 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5024 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5026 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5028 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5030 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5032 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5034 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5036 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5038 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5040 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5042 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5044 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5046 * doc/gccint/target-macros/storage-layout.rst: Likewise.
5047 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
5049 2022-11-09 Martin Liska <mliska@suse.cz>
5051 * common/common-target.def: Port to RST.
5052 * target.def: Port to RST.
5054 2022-11-09 Martin Liska <mliska@suse.cz>
5056 * doc/cpp/character-sets.rst: New file.
5057 * doc/cpp/conditional-syntax.rst: New file.
5058 * doc/cpp/conditional-uses.rst: New file.
5059 * doc/cpp/conditionals.rst: New file.
5060 * doc/cpp/conf.py: New file.
5061 * doc/cpp/copyright.rst: New file.
5062 * doc/cpp/deleted-code.rst: New file.
5063 * doc/cpp/diagnostics.rst: New file.
5064 * doc/cpp/environment-variables.rst: New file.
5065 * doc/cpp/gnu-free-documentation-license.rst: New file.
5066 * doc/cpp/header-files.rst: New file.
5067 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
5068 * doc/cpp/header-files/computed-includes.rst: New file.
5069 * doc/cpp/header-files/include-operation.rst: New file.
5070 * doc/cpp/header-files/include-syntax.rst: New file.
5071 * doc/cpp/header-files/once-only-headers.rst: New file.
5072 * doc/cpp/header-files/search-path.rst: New file.
5073 * doc/cpp/header-files/system-headers.rst: New file.
5074 * doc/cpp/header-files/wrapper-headers.rst: New file.
5075 * doc/cpp/implementation-defined-behavior.rst: New file.
5076 * doc/cpp/implementation-details.rst: New file.
5077 * doc/cpp/implementation-limits.rst: New file.
5078 * doc/cpp/index.rst: New file.
5079 * doc/cpp/indices-and-tables.rst: New file.
5080 * doc/cpp/initial-processing.rst: New file.
5081 * doc/cpp/invocation.rst: New file.
5082 * doc/cpp/line-control.rst: New file.
5083 * doc/cpp/macros.rst: New file.
5084 * doc/cpp/macros/concatenation.rst: New file.
5085 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
5086 * doc/cpp/macros/function-like-macros.rst: New file.
5087 * doc/cpp/macros/macro-arguments.rst: New file.
5088 * doc/cpp/macros/macro-pitfalls.rst: New file.
5089 * doc/cpp/macros/object-like-macros.rst: New file.
5090 * doc/cpp/macros/predefined-macros.rst: New file.
5091 * doc/cpp/macros/stringizing.rst: New file.
5092 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
5093 * doc/cpp/macros/variadic-macros.rst: New file.
5094 * doc/cpp/obsolete-features.rst: New file.
5095 * doc/cpp/other-directives.rst: New file.
5096 * doc/cpp/overview.rst: New file.
5097 * doc/cpp/pragmas.rst: New file.
5098 * doc/cpp/preprocessor-output.rst: New file.
5099 * doc/cpp/the-preprocessing-language.rst: New file.
5100 * doc/cpp/tokenization.rst: New file.
5101 * doc/cpp/traditional-lexical-analysis.rst: New file.
5102 * doc/cpp/traditional-macros.rst: New file.
5103 * doc/cpp/traditional-miscellany.rst: New file.
5104 * doc/cpp/traditional-mode.rst: New file.
5105 * doc/cpp/traditional-warnings.rst: New file.
5106 * doc/cppinternals/conf.py: New file.
5107 * doc/cppinternals/copyright.rst: New file.
5108 * doc/cppinternals/cppinternals.rst: New file.
5109 * doc/cppinternals/cpplib.rst: New file.
5110 * doc/cppinternals/files.rst: New file.
5111 * doc/cppinternals/index.rst: New file.
5112 * doc/cppinternals/indices-and-tables.rst: New file.
5113 * doc/cppinternals/internal-representation-of-macros.rst: New file.
5114 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
5115 * doc/cppinternals/lexing-a-line.rst: New file.
5116 * doc/cppinternals/lexing-a-token.rst: New file.
5117 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
5118 * doc/cppinternals/macro-expansion-overview.rst: New file.
5119 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
5120 * doc/cppinternals/multiple-include-optimization.rst: New file.
5121 * doc/cppinternals/overview.rst: New file.
5122 * doc/cppinternals/representation-of-line-numbers.rst: New file.
5123 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
5124 * doc/gcc/binary-compatibility.rst: New file.
5125 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
5126 * doc/gcc/c-implementation-defined-behavior.rst: New file.
5127 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
5128 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
5129 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
5130 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
5131 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
5132 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
5133 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
5134 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
5135 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
5136 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
5137 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
5138 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
5139 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
5140 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
5141 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
5143 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
5144 * doc/gcc/conditionally-supported-behavior.rst: New file.
5145 * doc/gcc/conf.py: New file.
5146 * doc/gcc/contributing-to-gcc-development.rst: New file.
5147 * doc/gcc/contributors-to-gcc.rst: New file.
5148 * doc/gcc/copyright.rst: New file.
5149 * doc/gcc/exception-handling.rst: New file.
5150 * doc/gcc/extensions-to-the-c++-language.rst: New file.
5151 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
5152 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
5153 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
5155 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
5157 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
5158 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
5160 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
5161 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
5162 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
5163 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
5164 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
5166 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
5167 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
5168 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
5169 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
5170 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
5171 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
5173 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
5175 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
5176 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
5177 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
5178 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
5180 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
5182 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
5184 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
5185 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
5186 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
5187 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
5188 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
5189 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
5191 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
5192 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
5193 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
5195 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
5197 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
5199 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
5201 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
5203 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
5205 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
5207 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
5209 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
5211 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
5213 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
5215 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
5217 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
5219 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
5221 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
5223 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
5225 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
5227 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
5229 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
5231 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
5233 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
5235 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
5237 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
5239 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
5241 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
5243 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
5245 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
5247 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
5249 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
5251 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
5253 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
5255 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
5257 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
5259 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
5261 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
5263 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
5265 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
5266 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
5268 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
5270 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
5271 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
5272 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
5273 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
5275 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
5276 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
5278 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
5279 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
5280 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
5282 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
5283 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
5284 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
5285 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
5287 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
5288 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
5290 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
5292 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
5293 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
5294 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
5295 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
5297 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
5298 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
5300 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
5302 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
5304 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
5306 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
5307 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
5309 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
5310 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
5312 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
5313 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
5315 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
5316 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
5318 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
5319 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
5320 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
5321 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
5323 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
5325 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
5327 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
5329 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
5331 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
5333 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
5335 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
5337 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
5339 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
5341 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
5343 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
5345 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
5347 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
5349 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
5351 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
5353 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
5355 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
5357 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
5359 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
5361 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
5363 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
5365 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
5367 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
5369 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
5371 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
5373 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
5375 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
5377 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
5379 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
5381 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
5383 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
5385 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
5387 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
5389 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
5391 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
5393 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
5394 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
5395 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
5397 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
5399 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
5401 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
5403 * doc/gcc/funding.rst: New file.
5404 * doc/gcc/gcc-command-options.rst: New file.
5405 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
5406 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
5407 * doc/gcc/gcc-command-options/description.rst: New file.
5408 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
5409 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
5410 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
5411 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
5412 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
5414 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
5415 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
5416 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
5417 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
5418 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
5419 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
5420 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
5421 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
5422 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
5423 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
5424 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
5425 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
5426 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
5427 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
5428 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
5429 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
5430 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
5431 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
5432 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
5433 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
5435 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
5436 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
5437 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
5438 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
5439 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
5440 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
5441 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
5442 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
5443 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
5444 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
5445 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
5446 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
5447 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
5448 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
5449 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
5450 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
5451 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
5452 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
5453 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
5454 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
5455 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
5456 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
5457 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
5458 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
5459 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
5460 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
5462 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
5463 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
5464 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
5465 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
5466 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
5467 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
5468 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
5469 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
5470 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
5471 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
5472 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
5473 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
5474 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
5475 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
5476 * doc/gcc/gcc-command-options/option-summary.rst: New file.
5477 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
5478 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
5479 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
5481 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
5482 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
5483 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
5484 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
5485 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
5486 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
5487 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
5488 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
5489 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5491 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
5492 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
5493 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
5494 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
5496 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
5497 * doc/gcc/gcc.rst: New file.
5498 * doc/gcc/gcov-dump.rst: New file.
5499 * doc/gcc/gcov-tool.rst: New file.
5500 * doc/gcc/gcov.rst: New file.
5501 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
5502 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
5503 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
5504 * doc/gcc/gcov/invoking-gcov.rst: New file.
5505 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
5506 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
5507 * doc/gcc/general-public-license-3.rst: New file.
5508 * doc/gcc/gnu-free-documentation-license.rst: New file.
5509 * doc/gcc/gnu-objective-c-features.rst: New file.
5510 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
5511 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
5512 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
5513 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
5514 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
5515 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
5516 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
5517 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
5518 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
5519 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
5520 * doc/gcc/gnu.rst: New file.
5521 * doc/gcc/have-you-found-a-bug.rst: New file.
5522 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
5523 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
5524 * doc/gcc/index.rst: New file.
5525 * doc/gcc/indices-and-tables.rst: New file.
5526 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
5527 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
5528 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
5530 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
5532 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
5534 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
5535 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
5536 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
5537 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
5538 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
5540 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
5541 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
5542 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
5543 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
5544 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
5545 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
5547 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
5548 * doc/gcc/lto-dump.rst: New file.
5549 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
5550 * doc/gcc/reporting-bugs.rst: New file.
5551 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
5552 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
5553 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
5554 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
5555 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
5556 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
5558 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
5559 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
5560 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
5561 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
5562 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
5563 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
5564 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
5565 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
5567 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
5568 * doc/gccint/analyzer-internals.rst: New file.
5569 * doc/gccint/collect2.rst: New file.
5570 * doc/gccint/conf.py: New file.
5571 * doc/gccint/contributing-to-gcc-development.rst: New file.
5572 * doc/gccint/contributors-to-gcc.rst: New file.
5573 * doc/gccint/control-flow-graph.rst: New file.
5574 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
5575 * doc/gccint/control-flow-graph/edges.rst: New file.
5576 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
5577 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
5578 * doc/gccint/control-flow-graph/profile-information.rst: New file.
5579 * doc/gccint/copyright.rst: New file.
5580 * doc/gccint/debugging-the-analyzer.rst: New file.
5581 * doc/gccint/funding.rst: New file.
5582 * doc/gccint/gcc-and-portability.rst: New file.
5583 * doc/gccint/general-public-license-3.rst: New file.
5584 * doc/gccint/generic.rst: New file.
5585 * doc/gccint/generic/attributes-in-trees.rst: New file.
5586 * doc/gccint/generic/c-and-c++-trees.rst: New file.
5587 * doc/gccint/generic/declarations.rst: New file.
5588 * doc/gccint/generic/deficiencies.rst: New file.
5589 * doc/gccint/generic/expressions.rst: New file.
5590 * doc/gccint/generic/functions.rst: New file.
5591 * doc/gccint/generic/language-dependent-trees.rst: New file.
5592 * doc/gccint/generic/overview.rst: New file.
5593 * doc/gccint/generic/statements.rst: New file.
5594 * doc/gccint/generic/types.rst: New file.
5595 * doc/gccint/gimple-api.rst: New file.
5596 * doc/gccint/gimple.rst: New file.
5597 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
5598 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
5599 * doc/gccint/gimple/exception-handling.rst: New file.
5600 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
5601 * doc/gccint/gimple/gimple-sequences.rst: New file.
5602 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
5603 * doc/gccint/gimple/operands.rst: New file.
5604 * doc/gccint/gimple/sequence-iterators.rst: New file.
5605 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
5606 * doc/gccint/gimple/temporaries.rst: New file.
5607 * doc/gccint/gimple/tuple-representation.rst: New file.
5608 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
5609 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
5610 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
5611 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
5612 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
5613 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
5614 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
5615 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
5616 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
5617 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
5618 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
5619 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
5620 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
5621 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
5622 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
5623 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
5624 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
5625 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
5626 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
5627 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
5628 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
5629 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
5630 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
5631 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
5632 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
5633 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
5634 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
5635 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
5636 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
5637 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
5638 * doc/gccint/gnu-free-documentation-license.rst: New file.
5639 * doc/gccint/guidelines-for-diagnostics.rst: New file.
5640 * doc/gccint/guidelines-for-options.rst: New file.
5641 * doc/gccint/host-common.rst: New file.
5642 * doc/gccint/host-configuration.rst: New file.
5643 * doc/gccint/host-filesystem.rst: New file.
5644 * doc/gccint/host-makefile-fragments.rst: New file.
5645 * doc/gccint/host-misc.rst: New file.
5646 * doc/gccint/index.rst: New file.
5647 * doc/gccint/indices-and-tables.rst: New file.
5648 * doc/gccint/interfacing-to-gcc-output.rst: New file.
5649 * doc/gccint/introduction.rst: New file.
5650 * doc/gccint/language-front-ends-in-gcc.rst: New file.
5651 * doc/gccint/link-time-optimization.rst: New file.
5652 * doc/gccint/link-time-optimization/design-overview.rst: New file.
5653 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
5654 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
5655 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
5656 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
5658 * doc/gccint/machine-descriptions.rst: New file.
5659 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
5660 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
5661 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
5662 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
5663 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
5664 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
5665 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
5666 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
5667 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
5668 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
5669 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
5670 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
5671 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
5672 * doc/gccint/machine-descriptions/iterators.rst: New file.
5673 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
5674 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
5675 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
5676 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
5678 * doc/gccint/machine-descriptions/predicates.rst: New file.
5679 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
5680 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
5681 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
5682 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
5683 * doc/gccint/makefile-fragments.rst: New file.
5684 * doc/gccint/match-and-simplify.rst: New file.
5685 * doc/gccint/memory-management-and-type-information.rst: New file.
5686 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
5688 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
5690 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
5692 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
5693 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
5695 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
5696 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
5698 * doc/gccint/option-file-format.rst: New file.
5699 * doc/gccint/option-properties.rst: New file.
5700 * doc/gccint/option-specification-files.rst: New file.
5701 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
5702 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
5703 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
5705 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
5706 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
5707 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
5708 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
5709 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
5710 * doc/gccint/plugins.rst: New file.
5711 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
5712 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
5713 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
5714 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
5715 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
5716 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
5717 * doc/gccint/plugins/loading-plugins.rst: New file.
5718 * doc/gccint/plugins/plugin-api.rst: New file.
5719 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
5720 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
5721 * doc/gccint/rtl-representation.rst: New file.
5722 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
5723 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
5724 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
5725 * doc/gccint/rtl-representation/bit-fields.rst: New file.
5726 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
5727 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
5728 * doc/gccint/rtl-representation/conversions.rst: New file.
5729 * doc/gccint/rtl-representation/declarations.rst: New file.
5730 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
5731 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
5732 * doc/gccint/rtl-representation/insns.rst: New file.
5733 * doc/gccint/rtl-representation/machine-modes.rst: New file.
5734 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
5735 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
5736 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
5737 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
5738 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
5739 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
5740 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
5741 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
5742 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
5743 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
5744 * doc/gccint/rtl-representation/vector-operations.rst: New file.
5745 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
5746 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
5747 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
5748 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
5750 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
5752 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
5754 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
5755 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
5757 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
5759 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
5760 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
5761 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
5763 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
5764 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
5766 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
5768 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
5770 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
5772 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
5774 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
5776 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
5778 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
5780 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
5782 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
5784 * doc/gccint/standard-header-file-directories.rst: New file.
5785 * doc/gccint/static-analyzer.rst: New file.
5786 * doc/gccint/target-macros.rst: New file.
5787 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
5788 * doc/gccint/target-macros/addressing-modes.rst: New file.
5789 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
5790 * doc/gccint/target-macros/anchored-addresses.rst: New file.
5791 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
5792 * doc/gccint/target-macros/condition-code-status.rst: New file.
5793 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
5794 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
5795 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
5796 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
5797 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
5798 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
5800 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
5801 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
5802 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
5804 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
5806 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
5808 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5810 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5812 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5814 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5816 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5818 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
5820 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5822 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
5823 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
5824 * doc/gccint/target-macros/emulating-tls.rst: New file.
5825 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
5826 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
5827 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
5828 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
5829 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
5830 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5832 * doc/gccint/target-macros/position-independent-code.rst: New file.
5833 * doc/gccint/target-macros/register-classes.rst: New file.
5834 * doc/gccint/target-macros/register-usage.rst: New file.
5835 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
5836 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
5837 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5839 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
5841 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5843 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
5845 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5847 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5849 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5851 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5853 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5855 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5857 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5859 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5861 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5863 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5865 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5867 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5869 * doc/gccint/target-macros/storage-layout.rst: New file.
5870 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
5871 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
5872 * doc/gccint/target-makefile-fragments.rst: New file.
5873 * doc/gccint/testsuites.rst: New test.
5874 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
5875 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
5876 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
5877 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
5879 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
5881 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
5883 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
5885 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
5887 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
5889 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
5890 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
5891 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
5892 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
5893 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
5894 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
5895 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
5896 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
5897 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
5898 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
5900 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
5902 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
5904 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
5906 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
5908 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
5910 * doc/gccint/the-language.rst: New file.
5911 * doc/gccint/user-experience-guidelines.rst: New file.
5912 * doc/install/binaries.rst: New file.
5913 * doc/install/building.rst: New file.
5914 * doc/install/building/building-a-cross-compiler.rst: New file.
5915 * doc/install/building/building-a-native-compiler.rst: New file.
5916 * doc/install/building/building-in-parallel.rst: New file.
5917 * doc/install/building/building-the-ada-compiler.rst: New file.
5918 * doc/install/building/building-the-d-compiler.rst: New file.
5919 * doc/install/building/building-with-profile-feedback.rst: New file.
5920 * doc/install/conf.py: New file.
5921 * doc/install/configuration.rst: New file.
5922 * doc/install/copyright.rst: New file.
5923 * doc/install/downloading-gcc.rst: New file.
5924 * doc/install/final-installation.rst: New file.
5925 * doc/install/gnu-free-documentation-license.rst: New file.
5926 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
5927 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
5928 * doc/install/how-to-interpret-test-results.rst: New file.
5929 * doc/install/index.rst: New file.
5930 * doc/install/indices-and-tables.rst: New file.
5931 * doc/install/installing-gcc.rst: New file.
5932 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
5933 * doc/install/prerequisites.rst: New file.
5934 * doc/install/submitting-test-results.rst: New file.
5935 * doc/install/testing.rst: New file.
5937 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
5939 * range-op-float.cc (class foperator_minus): New.
5940 (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
5942 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
5944 * range-op-float.cc (range_operator_float::fold_range): Abstract
5945 out from foperator_plus.
5946 (range_operator_float::rv_fold): New.
5947 (foperator_plus::fold_range): Remove.
5948 (foperator_plus::rv_fold): New.
5949 (propagate_nans): Remove.
5950 * range-op.h (class range_operator_float): Add rv_fold.
5952 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
5954 * range-op-float.cc (foperator_plus::fold_range): Set NAN for
5955 addition of different signed infinities.
5956 (range_op_float_tests): New test.
5958 2022-11-09 liuhongt <hongtao.liu@intel.com>
5961 * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
5962 type from sselog to sselog1.
5963 (avx_movddup256<mask_name>): Ditto.
5965 2022-11-08 David Faust <david.faust@oracle.com>
5967 * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
5968 (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
5969 bpf_builtins for error checks.
5970 (bpf_core_walk): Use values of enum bpf_builtins.
5971 (bpf_core_newdecl): Likewise.
5972 (bpf_expand_builtin): Likewise.
5974 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
5976 PR tree-optimization/24021
5977 * range-op-float.cc (propagate_nans): New.
5978 (frange_nextafter): New.
5979 (frange_arithmetic): New.
5980 (class foperator_plus): New.
5981 (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
5983 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
5985 * real.cc (real_isdenormal): New.
5986 (encode_ieee_single): Call real_isdenormal.
5987 (encode_ieee_double): Same.
5988 (encode_ieee_extended): Same.
5989 (encode_ieee_quad): Same.
5990 (encode_ieee_half): Same.
5991 (encode_arm_bfloat_half): Same.
5992 * real.h (real_isdenormal): Add mode argument. Rewrite for
5994 * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
5997 2022-11-08 Richard Biener <rguenther@suse.de>
5999 PR tree-optimization/107389
6000 * gimple-low.cc (lower_builtin_assume_aligned): New.
6001 (lower_stmt): Call it.
6003 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
6005 * range-op.cc (operator_div::fold_range): Call
6006 update_known_bitmask.
6007 * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
6010 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
6012 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
6013 of GCN_BUILTIN_LDEXPV to V64DFmode.
6015 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
6017 * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
6018 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
6019 GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
6021 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
6023 * range-op.cc (irange_to_masked_value): New.
6024 (update_known_bitmask): New.
6025 (operator_mult::fold_range): Call update_known_bitmask.
6027 2022-11-08 Jakub Jelinek <jakub@redhat.com>
6029 PR tree-optimization/107547
6030 * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
6031 of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle
6032 BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
6034 2022-11-08 Jakub Jelinek <jakub@redhat.com>
6037 * config/i386/predicates.md (vector_or_const_vector_operand): New
6039 * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
6040 vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
6041 vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
6042 predicate instead of nonimmediate_operand and
6043 vector_or_const_vector_operand instead of vector_operand.
6044 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
6045 LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
6046 into LE/LEU or GT/GTU with larger or smaller by one cop1 if
6047 there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into
6048 REG. Formatting fix.
6050 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
6052 PR rtl-optimization/107482
6053 * ira-color.cc (assign_hard_reg): Only call
6054 update_costs_from_copies when retry_p is false.
6056 2022-11-08 konglin1 <lingling.kong@intel.com>
6059 2022-11-07 konglin1 <lingling.kong@intel.com>
6061 * config/i386/i386.opt:Add -mprefer-remote-atomic.
6062 * config/i386/sync.md (atomic_<plus_logic><mode>):
6064 (atomic_add<mode>): Rename to below one.
6065 (atomic_add<mode>_1): To this.
6066 (atomic_<logic><mode>): Ditto.
6067 (atomic_<logic><mode>_1): Ditto.
6068 * doc/invoke.texi: Add -mprefer-remote-atomic.
6070 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
6072 * config/i386/i386-options.cc (m_CORE_ATOM): New.
6073 * config/i386/x86-tune.def
6074 (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
6075 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
6076 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
6077 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
6078 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
6079 (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
6080 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
6081 (X86_TUNE_USE_LEAVE): Ditto.
6082 (X86_TUNE_PUSH_MEMORY): Ditto.
6083 (X86_TUNE_USE_INCDEC): Ditto.
6084 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
6085 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
6086 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
6087 (X86_TUNE_USE_SAHF): Ditto.
6088 (X86_TUNE_USE_BT): Ditto.
6089 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
6090 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
6091 (X86_TUNE_AVOID_MFENCE): Ditto.
6092 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
6093 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
6094 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
6095 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
6096 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
6097 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
6098 (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
6099 (X86_TUNE_USE_GATHER_2PARTS): Ditto.
6100 (X86_TUNE_USE_GATHER_4PARTS): Ditto.
6101 (X86_TUNE_USE_GATHER): Ditto.
6103 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
6105 PR tree-optimization/104530
6106 * gimple-range-cache.cc (ranger_cache::register_inferred_value):
6108 (ranger_cache::apply_inferred_ranges): Move setting cache to
6110 * gimple-range-cache.h (register_inferred_value): New prototype.
6111 * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
6112 * gimple-range-infer.h (has_range_p): New prototype.
6113 * gimple-range.cc (register_transitive_inferred_ranges): New.
6114 * gimple-range.h (register_transitive_inferred_ranges): New proto.
6115 * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
6116 ranges at the end of the block before folding final stmt.
6118 2022-11-07 David Faust <david.faust@oracle.com>
6120 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
6122 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
6124 PR tree-optimization/55157
6125 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
6128 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
6130 PR middle-end/102566
6131 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
6132 if (_5 < 0) and if (_5 >= 0).
6134 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
6136 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
6138 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
6140 PR tree-optimization/107505
6141 * tree-ssa-sink.cc (statement_sink_location): Additionally
6142 reject ECF_RETURNS_TWICE calls.
6144 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
6146 PR tree-optimization/107541
6147 * range-op.cc (operator_div::fold_range): Restrict power of 2
6148 optimization to positive numbers.
6150 2022-11-07 Richard Biener <rguenther@suse.de>
6152 * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
6153 (unswitch_predicate::unswitch_predicate): Initialize count.
6154 (init_loop_unswitch_info): First collect candidates and
6155 determine the outermost loop to unswitch.
6156 (tree_ssa_unswitch_loops): First perform all guard hoisting,
6157 then perform unswitching on innermost loop predicates.
6158 (find_unswitching_predicates_for_bb): Keep track of the
6159 most profitable predicate to unswitch on.
6160 (tree_unswitch_single_loop): Unswitch given predicate if
6163 2022-11-07 Martin Liska <mliska@suse.cz>
6164 Gerald Pfeifer <gerald@pfeifer.com>
6166 * doc/invoke.texi: Improve wording.
6168 2022-11-07 Martin Liska <mliska@suse.cz>
6170 * range-op.cc: Add final override keywords.
6172 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
6174 PR tree-optimization/107412
6175 * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
6176 (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
6177 mask_p indicating it's for mask or length, and add some handlings for
6178 IFN LEN_{LOAD,STORE}.
6179 (gimple_fold_mask_load): Rename to ...
6180 (gimple_fold_partial_load): ... this, add one parameter mask_p.
6181 (gimple_fold_mask_store): Rename to ...
6182 (gimple_fold_partial_store): ... this, add one parameter mask_p.
6183 (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
6184 and adjust calls on gimple_fold_mask_load_store_mem_ref to
6185 gimple_fold_partial_load_store_mem_ref.
6187 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
6189 * common/config/i386/cpuinfo.h
6190 (get_intel_cpu): Handle Grand Ridge.
6191 * common/config/i386/i386-common.cc
6192 (processor_names): Add grandridge.
6193 (processor_alias_table): Ditto.
6194 * common/config/i386/i386-cpuinfo.h:
6195 (enum processor_types): Add INTEL_GRANDRIDGE.
6196 * config.gcc: Add -march=grandridge.
6197 * config/i386/driver-i386.cc (host_detect_local_cpu):
6199 * config/i386/i386-c.cc (ix86_target_macros_internal):
6201 * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
6202 (processor_cost_table): Add grandridge.
6203 * config/i386/i386.h (enum processor_type):
6204 Add PROCESSOR_GRANDRIDGE.
6205 (PTA_GRANDRIDGE): Ditto.
6206 * doc/extend.texi: Add grandridge.
6207 * doc/invoke.texi: Ditto.
6209 2022-11-07 konglin1 <lingling.kong@intel.com>
6211 * config/i386/i386.opt:Add -mprefer-remote-atomic.
6212 * config/i386/sync.md (atomic_<plus_logic><mode>):
6214 (atomic_add<mode>): Rename to below one.
6215 (atomic_add<mode>_1): To this.
6216 (atomic_<logic><mode>): Ditto.
6217 (atomic_<logic><mode>_1): Ditto.
6218 * doc/invoke.texi: Add -mprefer-remote-atomic.
6220 2022-11-07 konglin1 <lingling.kong@intel.com>
6222 * common/config/i386/cpuinfo.h (get_available_features):
6224 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
6225 OPTION_MASK_ISA2_RAOINT_UNSET): New.
6226 (ix86_handle_option): Handle -mraoint.
6227 * common/config/i386/i386-cpuinfo.h (enum processor_features):
6229 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6231 * config.gcc: Add raointintrin.h
6232 * config/i386/cpuid.h (bit_RAOINT): New.
6233 * config/i386/i386-builtin.def (BDESC): Add new builtins.
6234 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6236 * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
6237 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
6239 * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
6240 * config/i386/i386.opt: Add option -mraoint.
6241 * config/i386/x86gprintrin.h: Include raointintrin.h.
6242 * doc/extend.texi: Document raoint.
6243 * doc/invoke.texi: Document -mraoint.
6244 * doc/sourcebuild.texi: Document target raoint.
6245 * config/i386/raointintrin.h: New file.
6247 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
6249 * common/config/i386/cpuinfo.h
6250 (get_intel_cpu): Handle Granite Rapids.
6251 * common/config/i386/i386-common.cc:
6252 (processor_names): Add graniterapids.
6253 (processor_alias_table): Ditto.
6254 * common/config/i386/i386-cpuinfo.h
6255 (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
6256 * config.gcc: Add -march=graniterapids.
6257 * config/i386/driver-i386.cc (host_detect_local_cpu):
6258 Handle graniterapids.
6259 * config/i386/i386-c.cc (ix86_target_macros_internal):
6261 * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
6262 (processor_cost_table): Add graniterapids.
6263 * config/i386/i386.h (enum processor_type):
6264 Add PROCESSOR_GRANITERAPIDS.
6265 (PTA_GRANITERAPIDS): Ditto.
6266 * doc/extend.texi: Add graniterapids.
6267 * doc/invoke.texi: Ditto.
6269 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
6270 Hongtao Liu <hongtao.liu@intel.com>
6272 * common/config/i386/cpuinfo.h (get_available_features):
6274 * common/config/i386/i386-common.cc
6275 (OPTION_MASK_ISA2_PREFETCHI_SET,
6276 OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
6277 (ix86_handle_option): Handle -mprefetchi.
6278 * common/config/i386/i386-cpuinfo.h
6279 (enum processor_features): Add FEATURE_PREFETCHI.
6280 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
6282 * config.gcc: Add prfchiintrin.h.
6283 * config/i386/cpuid.h (bit_PREFETCHI): New.
6284 * config/i386/i386-builtin-types.def:
6285 Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
6286 and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
6287 * config/i386/i386-builtin.def (BDESC): Add new builtins.
6288 * config/i386/i386-c.cc (ix86_target_macros_internal):
6289 Define __PREFETCHI__.
6290 * config/i386/i386-expand.cc: Handle new builtins.
6291 * config/i386/i386-isa.def (PREFETCHI):
6292 Add DEF_PTA(PREFETCHI).
6293 * config/i386/i386-options.cc
6294 (ix86_valid_target_attribute_inner_p): Handle prefetchi.
6295 * config/i386/i386.md (prefetchi): New define_insn.
6296 * config/i386/i386.opt: Add option -mprefetchi.
6297 * config/i386/predicates.md (local_func_symbolic_operand):
6299 * config/i386/x86gprintrin.h: Include prfchiintrin.h.
6300 * config/i386/xmmintrin.h (enum _mm_hint): New enum for
6302 (_mm_prefetch): Handle the highest bit of enum.
6303 * doc/extend.texi: Document prefetchi.
6304 * doc/invoke.texi: Document -mprefetchi.
6305 * doc/sourcebuild.texi: Document target prefetchi.
6306 * config/i386/prfchiintrin.h: New file.
6308 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
6310 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
6311 mode when checking vec_set_optab.
6313 2022-11-06 Xi Ruoyao <xry111@xry111.site>
6315 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
6316 (type): Add fcopysign.
6317 (copysign<mode>3): New instruction template.
6319 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6321 * multiple_target.cc (expand_target_clones): Free memory.
6323 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6325 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
6326 * multiple_target.cc (create_dispatcher_calls): Likewise.
6328 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
6331 * doc/cppopts.texi: Document -fwide-exec-charset defaults
6334 2022-11-05 Alexandre Oliva <oliva@adacore.com>
6336 * common.opt (fmultiflags): New.
6337 * doc/invoke.texi: Document it.
6338 * gcc.cc (driver_self_specs): Discard it.
6339 * opts.cc (common_handle_option): Ignore it in the driver.
6341 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
6342 Jason Merrill <jason@redhat.com>
6344 * input.cc (get_source_text_between): New fn.
6345 * input.h (get_source_text_between): Declare.
6347 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
6349 PR tree-optimization/107342
6350 * range-op.cc (operator_mult::fold_range): New.
6351 (operator_div::fold_range): New.
6353 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
6355 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
6356 Do not take into account operand 2.
6357 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
6359 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
6361 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
6363 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6365 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
6368 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
6370 * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
6371 * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
6372 [ACCEL_COMPILER]: Remove.
6373 * config/i386/intelmic-mkoffload.cc: Remove.
6374 * config/i386/intelmic-offload.h: Likewise.
6375 * config/i386/t-intelmic: Likewise.
6376 * config/i386/t-omp-device: Likewise.
6377 * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
6378 * configure: Regenerate.
6379 * doc/install.texi (--enable-offload-targets=[...]): Update.
6380 * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
6382 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
6384 * Makefile.in (OBJS): Remove 'dbxout.o'.
6385 * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
6386 * dbxout.cc: Remove.
6387 * dbxout.h: Likewise.
6388 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
6389 Default to 'default_asm_out_constructor',
6390 'default_asm_out_destructor'.
6391 * targhooks.cc (default_asm_out_constructor)
6392 (default_asm_out_destructor): New.
6393 * targhooks.h (default_asm_out_constructor)
6394 (default_asm_out_destructor): Declare.
6396 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
6398 * Makefile.in (OBJS): Add 'dbxout.o'.
6399 * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
6401 * dbxout.h: Likewise.
6402 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
6403 Default to 'default_stabs_asm_out_constructor',
6404 'default_stabs_asm_out_destructor'.
6406 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
6407 Haochen Jiang <haochen.jiang@intel.com>
6409 * common/config/i386/cpuinfo.h (get_available_features): Detect
6411 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
6412 OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
6413 (ix86_handle_option): Handle -mamx-fp16.
6414 * common/config/i386/i386-cpuinfo.h (enum processor_features):
6415 Add FEATURE_AMX_FP16.
6416 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6418 * config.gcc: Add amxfp16intrin.h.
6419 * config/i386/cpuid.h (bit_AMX_FP16): New.
6420 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6422 * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
6423 * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
6424 (ix86_valid_target_attribute_inner_p): Add new ATTR.
6425 (ix86_option_override_internal): Handle AMX-FP16.
6426 * config/i386/i386.opt: Add -mamx-fp16.
6427 * config/i386/immintrin.h: Include amxfp16intrin.h.
6428 * doc/extend.texi: Document -mamx-fp16.
6429 * doc/invoke.texi: Document amx-fp16.
6430 * doc/sourcebuild.texi: Document amx_fp16.
6431 * config/i386/amxfp16intrin.h: New file.
6433 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
6435 * common/config/i386/cpuinfo.h (get_intel_cpu):
6437 * common/config/i386/i386-common.cc
6438 (processor_names): Add Sierra Forest.
6439 (processor_alias_table): Ditto.
6440 * common/config/i386/i386-cpuinfo.h
6441 (enum processor_types): Add INTEL_SIERRAFOREST.
6442 * config.gcc: Add -march=sierraforest.
6443 * config/i386/driver-i386.cc (host_detect_local_cpu):
6444 Handle Sierra Forest.
6445 * config/i386/i386-c.cc (ix86_target_macros_internal):
6447 * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
6448 (processor_cost_table): Add sierra forest.
6449 * config/i386/i386.h (enum processor_type):
6450 Add PROCESSOR_SIERRA_FOREST.
6451 (PTA_SIERRAFOREST): Ditto.
6452 * doc/extend.texi: Add sierra forest.
6453 * doc/invoke.texi: Ditto.
6455 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
6457 * common/config/i386/cpuinfo.h (get_available_features):
6459 * common/config/i386/i386-common.cc
6460 (OPTION_MASK_ISA2_CMPCCXADD_SET,
6461 OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
6462 (ix86_handle_option): Handle -mcmpccxadd.
6463 * common/config/i386/i386-cpuinfo.h (enum processor_features):
6464 Add FEATURE_CMPCCXADD.
6465 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6467 * config.gcc: Add cmpccxaddintrin.h.
6468 * config/i386/cpuid.h (bit_CMPCCXADD): New.
6469 * config/i386/i386-builtin-types.def:
6470 Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
6471 and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
6472 * config/i386/i386-builtin.def (BDESC): Add new builtins.
6473 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6475 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
6476 Add new parameter to indicate constant position.
6477 Handle INT_FTYPE_PINT_INT_INT_INT
6478 and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
6479 * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
6480 * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
6481 (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
6482 * config/i386/i386.opt: Add option -mcmpccxadd.
6483 * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
6484 * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
6485 * doc/extend.texi: Document cmpccxadd.
6486 * doc/invoke.texi: Document -mcmpccxadd.
6487 * doc/sourcebuild.texi: Document target cmpccxadd.
6488 * config/i386/cmpccxaddintrin.h: New file.
6490 2022-11-03 Jason Merrill <jason@redhat.com>
6492 * doc/invoke.texi: -fconcepts no longer implies
6493 -fconcepts-ts before C++20.
6495 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
6497 * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
6498 (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
6499 <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
6500 *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
6503 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
6505 * gimple-range.cc (gimple_ranger::update_stmt): New.
6506 * gimple-range.h (gimple_ranger::update_stmt): New prototype.
6507 * tree-ssa-operands.cc (update_stmt_operands): Notify range
6508 query that stmt has changed.
6509 * value-query.h (range_query::update_stmt): New.
6511 2022-11-03 David Malcolm <dmalcolm@redhat.com>
6513 * make-unique.h: New file.
6515 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
6518 * config/i386/i386.md (eliminate reg-reg move by inverting the
6519 condition of a cmove #2 peephole2): Check if eliminated move
6520 initialized a register, used in the moved instruction.
6522 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
6525 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
6526 UNSPEC_SMIN_DPP_SHR conditionals.
6528 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
6530 * common/config/riscv/riscv-common.cc: Add zawrs extension.
6531 * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
6532 (TARGET_ZAWRS): New.
6533 * config/riscv/riscv.opt: New.
6535 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
6538 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
6540 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
6542 * value-range.cc (frange::contains_p): Fix signed zero handling.
6543 (range_tests_signed_zeros): New test.
6545 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6547 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
6549 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
6552 * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
6553 (altivec_vrl<VI_char>): ...this.
6554 * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
6555 target is Power8 and mode is V8HI.
6557 2022-11-01 David Seifert <soap@gentoo.org>
6559 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
6560 * configure: Regenerate.
6562 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
6564 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
6566 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
6568 PR tree-optimization/107490
6569 * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
6571 (foperator_unordered_lt::op2_range): Same.
6572 (foperator_unordered_le::op1_range): Same.
6573 (foperator_unordered_le::op2_range): Same.
6574 (foperator_unordered_gt::op1_range): Same.
6575 (foperator_unordered_gt::op2_range): Same.
6576 (foperator_unordered_ge::op1_range): Same.
6577 (foperator_unordered_ge::op2_range): Same.
6579 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6581 PR tree-optimization/107497
6582 * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
6583 Check that ssa-name still exists before accessing it.
6585 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6587 * params.opt (param_vrp1_mode): Make ranger default.
6589 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6591 * tree-vrp.cc (class remove_unreachable): New.
6592 (remove_unreachable::maybe_register_block): New.
6593 (remove_unreachable::remove_and_update_globals): New.
6594 (rvrp_folder::rvrp_folder): Initialize m_unreachable.
6595 (rvrp_folder::post_fold_bb): Maybe register unreachable block.
6596 (rvrp_folder::m_unreachable): New member.
6597 (execute_ranger_vrp): Add final_pass flag, remove unreachables.
6599 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6601 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
6602 exit block to be specified.
6603 (ranger_cache::range_from_dom): If exit block is specified, use
6604 the immediate predecessor instead of the dominator to start.
6605 * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
6608 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
6610 * value-range.cc (irange::intersect_nonzero_bits): If new
6611 non-zero mask is the same as original, flag no change.
6613 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
6616 * config/i386/znver.md (znver1_idiv): New automaton.
6617 (znver1-idiv): New unit.
6618 (znver1_idiv_DI): Correct unit and cycles in the reservation.
6619 (znver1_idiv_SI): Ditto.
6620 (znver1_idiv_HI): Ditto.
6621 (znver1_idiv_QI): Ditto.
6622 (znver1_idiv_mem_DI): Ditto.
6623 (znver1_idiv_mem_SI): Ditto.
6624 (znver1_idiv_mem_HI): Ditto.
6625 (znver1_idiv_mem_QI): Ditto.
6626 (znver3_idiv_DI): Ditto.
6627 (znver3_idiv_SI): Ditto.
6628 (znver3_idiv_HI): Ditto.
6629 (znver3_idiv_QI): Ditto.
6630 (znver3_idiv_mem_DI): Ditto.
6631 (znver3_idiv_mem_SI): Ditto.
6632 (znver3_idiv_mem_HI): Ditto.
6633 (znver3_idiv_mem_QI): Ditto.
6635 2022-11-01 liuhongt <hongtao.liu@intel.com>
6638 * config/i386/sse.md (*vec_interleave_highv2df): Remove
6640 (*vec_interleave_lowv2df): Ditto.
6641 (vec_concatv2df): Ditto.
6642 (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
6643 (avx512f_unpcklpd512<mask_name>): .. this.
6644 (avx512f_movddup512<mask_name>): Change to define_insn.
6645 (avx_movddup256<mask_name>): Ditto.
6646 (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
6648 (avx_unpcklpd256<mask_name>): .. this.
6649 * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
6650 Disallow MEM_P (op1) && MEM_P (op2).
6652 2022-11-01 liuhongt <hongtao.liu@intel.com>
6655 * config/i386/i386.md (*x86_64_shld_1): Rename to ..
6656 (x86_64_shld_1): .. this.
6657 (*x86_shld_1): Rename to ..
6658 (x86_shld_1): .. this.
6659 (*x86_64_shrd_1): Rename to ..
6660 (x86_64_shrd_1): .. this.
6661 (*x86_shrd_1): Rename to ..
6662 (x86_shrd_1): .. this.
6663 (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
6664 (*x86_shld_shrd_1_nozext): Ditto.
6665 (*x86_64_shrd_shld_1_nozext): Ditto.
6666 (*x86_shrd_shld_1_nozext): Ditto.
6668 2022-11-01 Cui,Lili <lili.cui@intel.com>
6670 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
6671 judgement for INLINE_HINT_known_hot hint.
6673 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
6675 * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
6676 enumerator type btf_enum{,64}.
6677 (btf_asm_type): Update btf_kflag according to enumeration type sign
6678 using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}.
6679 (btf_asm_enum_const): New argument to represent the size of
6680 the BTF enum type, writing the enumerator constant value for
6681 32 bits, if it's 64 bits then explicitly writes lower 32-bits
6682 value and higher 32-bits value.
6683 (output_asm_btf_enum_list): Add enumeration size argument.
6684 * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
6686 (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
6687 dtd structure containing enumeration information.
6688 (ctf_add_enumerator): Update comment mention support for BTF
6689 enumeration in 64-bits.
6690 * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
6691 for enumeration type and use it in ctf_add_enum.
6692 * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
6693 use 32/64 bits enumerators.
6695 (ctf_dtdef): New field to describe enum signedness.
6697 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
6699 * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
6700 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
6701 * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
6702 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
6704 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
6706 * config/gcn/gcn-valu.md (fminmaxop): New iterator.
6707 (<fexpander><mode>3): New define_expand.
6708 (<fexpander><mode>3<exec>): Likewise.
6709 (reduc_<fexpander>_scal_<mode>): Likewise.
6710 * config/gcn/gcn.md (fexpander): New attribute.
6712 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
6714 * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
6716 (V64_1REG): Likewise.
6717 (V64_INT_1REG): Likewise.
6718 (V64_2REG): Likewise.
6719 (V64_ALL): Likewise.
6721 (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
6722 (fold_left_plus_<mode>): Use V_FP.
6723 (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
6724 (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
6725 (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
6726 (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
6727 (*plus_carry_dpp_shr_<mode>): Use V_DI.
6728 (mov_from_lane63_<mode>): Delete.
6729 (mov_from_lane63_<mode>): Delete.
6730 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
6731 * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
6733 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
6735 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
6736 Set base_type as ARG_UNUSED.
6738 2022-10-31 Jakub Jelinek <jakub@redhat.com>
6740 * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
6741 BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
6742 BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
6743 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
6744 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
6745 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
6746 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
6747 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
6748 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
6749 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
6750 BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
6751 BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
6752 BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
6753 BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
6754 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
6755 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
6756 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
6757 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
6758 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
6759 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
6760 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
6761 * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
6762 CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
6763 (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
6764 BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
6765 BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
6766 BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
6767 BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
6768 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
6769 * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
6770 fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
6771 CASE_CFN_* is present.
6772 * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
6774 * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
6775 * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
6776 tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
6777 tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
6780 2022-10-31 Jakub Jelinek <jakub@redhat.com>
6782 * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
6783 * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
6784 * fold-const-call.cc (fold_const_call_sss): Handle
6785 CFN_BUILT_IN_NEXTAFTERF16B.
6787 2022-10-31 Jakub Jelinek <jakub@redhat.com>
6789 * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
6790 BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
6791 New DEF_PRIMITIVE_TYPE.
6792 (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
6793 BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
6794 BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
6795 BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
6796 BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
6797 BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
6798 BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
6799 BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
6800 DEF_FUNCTION_TYPE_1.
6801 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
6802 BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
6803 BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
6804 BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
6805 BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
6806 BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
6807 BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
6808 BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
6809 BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
6810 BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
6811 BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
6812 BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
6813 BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
6814 BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
6815 BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
6816 DEF_FUNCTION_TYPE_2.
6817 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
6818 BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
6819 BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
6820 BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
6821 BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
6822 BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
6823 BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
6824 * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
6825 FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
6826 LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
6827 NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
6828 Define and undefine later.
6829 (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
6830 (INF_TYPE): Define at a later line.
6831 (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
6832 BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
6833 BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
6834 BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
6835 BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
6836 BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
6837 BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
6838 BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
6839 BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
6840 BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
6841 BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
6842 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
6843 (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
6844 DEF_GCC_FLOATN_NX_BUILTINS.
6845 * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
6846 cases when CASE_CFN_* is present.
6847 (fold_const_call_sss): Likewise.
6848 * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
6849 CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
6850 (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
6851 builtins next to CASE_FLT_FN.
6852 * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
6853 next to CASE_CFN_*: for various builtins.
6854 * tree-call-cdce.cc (can_test_argument_range): Add
6855 CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
6856 (edom_only_function): Likewise.
6858 2022-10-31 konglin1 <lingling.kong@intel.com>
6860 * common/config/i386/i386-common.cc
6861 (OPTION_MASK_ISA2_AVXNECONVERT_SET,
6862 OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
6863 (ix86_handle_option): Handle -mavxneconvert, unset
6864 avxneconvert when avx2 is disabled.
6865 * common/config/i386/i386-cpuinfo.h (processor_types): Add
6866 FEATURE_AVXNECONVERT.
6867 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
6869 * common/config/i386/cpuinfo.h (get_available_features):
6870 Detect avxneconvert.
6871 * config.gcc: Add avxneconvertintrin.h
6872 * config/i386/avxneconvertintrin.h: New.
6873 * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
6874 Unified builtin with avxneconvert.
6875 (_mm_cvtneps_pbh): Ditto.
6876 * config/i386/cpuid.h (bit_AVXNECONVERT): New.
6877 * config/i386/i386-builtin-types.def: Add
6878 DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
6879 DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
6880 DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
6881 DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
6882 DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
6883 DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
6884 DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
6885 DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
6886 DEF_FUNCTION_TYPE (V4SF, PCV8BF),
6887 DEF_FUNCTION_TYPE (V4SF, PCV8HF),
6888 DEF_FUNCTION_TYPE (V8SF, PCV16HF),
6889 DEF_FUNCTION_TYPE (V8SF, PCV16BF),
6890 * config/i386/i386-builtin.def: Add new builtins.
6891 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
6893 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
6894 Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
6895 V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
6896 V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
6897 * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
6898 * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
6899 (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
6900 * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
6901 * config/i386/i386.opt: Add option -mavxneconvert.
6902 * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
6903 * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
6904 (vbcstnesh2ps_<mode>): Ditto.
6905 (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
6906 (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
6907 (vcvtneps2bf16_v4sf): Ditto.
6908 (*vcvtneps2bf16_v4sf): Ditto.
6909 (vcvtneps2bf16_v8sf): Ditto.
6910 * doc/invoke.texi: Document -mavxneconvert.
6911 * doc/extend.texi: Document avxneconvert.
6912 * doc/sourcebuild.texi: Document target avxneconvert.
6914 2022-10-31 konglin1 <lingling.kong@intel.com>
6916 * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
6917 (_mm_cvtsbh_ss): Ditto.
6918 (_mm512_cvtne2ps_pbh): Ditto.
6919 (_mm512_mask_cvtne2ps_pbh): Ditto.
6920 (_mm512_maskz_cvtne2ps_pbh): Ditto.
6921 * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
6922 (_mm256_cvtne2ps_pbh): Ditto.
6923 (_mm256_mask_cvtne2ps_pbh): Ditto.
6924 (_mm256_maskz_cvtne2ps_pbh): Ditto.
6925 (_mm_cvtne2ps_pbh): Ditto.
6926 (_mm_mask_cvtne2ps_pbh): Ditto.
6927 (_mm_maskz_cvtne2ps_pbh): Ditto.
6928 (_mm_cvtness_sbh): Ditto.
6929 * config/i386/i386-builtin-types.def (V8BF): Add new
6930 DEF_VECTOR_TYPE for BFmode.
6933 * config/i386/i386-builtin.def (BDESC): Fixed builtins.
6934 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
6935 avx512bf16 ix86_builtin_func_type included HI to BF.
6936 * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
6937 * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
6939 (avx512f_cvtneps2bf16_v4sf): New define_expand.
6940 (*avx512f_cvtneps2bf16_v4sf): New define_insn.
6941 (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
6942 (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
6943 (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
6945 2022-10-31 liuhongt <hongtao.liu@intel.com>
6948 * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
6949 * config/i386/i386.cc (classify_argument): Handle V4BFmode and
6951 (ix86_convert_const_vector_to_integer): Ditto.
6952 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
6954 (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
6955 (VALID_MMX_REG_MODE): Add V4BFmode.
6956 * config/i386/i386.md (mode): Add V4BF and V2BF.
6958 * config/i386/mmx.md (MMXMODE) Add V4BF.
6960 (V_16_32_64): Add V4BF and V2BF.
6961 (mmxinsnmode): Add V4BF and V2BF.
6962 (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
6964 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
6966 * configure.ac (sjlj-exceptions): Restore dropped line.
6967 * configure: Regenerate.
6969 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
6971 * alias.cc (init_alias_analysis): Do not record sets to the hard
6972 frame pointer if the frame pointer has not been eliminated.
6974 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
6976 * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
6977 (TARGET_D_MINFO_SECTION_START): ...this.
6978 (TARGET_D_MINFO_END_NAME): Rename to ...
6979 (TARGET_D_MINFO_SECTION_END): ... this.
6980 * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
6981 (TARGET_D_MINFO_START_NAME): Remove.
6982 (TARGET_D_MINFO_END_NAME): Remove.
6983 * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
6984 (TARGET_D_MINFO_START_NAME): Remove.
6985 (TARGET_D_MINFO_END_NAME): Remove.
6986 * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
6987 (TARGET_D_MINFO_START_NAME): Remove.
6988 (TARGET_D_MINFO_END_NAME): Remove.
6989 * doc/tm.texi: Regenerate.
6990 * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
6991 (TARGET_D_MINFO_SECTION_START): ...this.
6992 (TARGET_D_MINFO_END_NAME): Rename to ...
6993 (TARGET_D_MINFO_SECTION_END): ...this.
6995 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
6997 * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
6998 kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o.
6999 * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7000 * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7001 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7002 * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7003 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7004 * config/i386/t-cygming: Add cygwin-d.o.
7005 * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
7006 MinGW-specific version condition.
7007 * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7008 * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7009 * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
7010 * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7011 * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7012 * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
7014 * config/t-linux: Add linux-d.o.
7015 * config/glibc-d.cc: Remove file.
7016 * config/gnu-d.cc: New file.
7017 * config/i386/cygwin-d.cc: New file.
7018 * config/kfreebsd-d.cc: New file.
7019 * config/kopensolaris-d.cc: New file.
7020 * config/linux-d.cc: New file.
7022 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
7024 * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
7026 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
7028 2022-10-28 Joseph Myers <joseph@codesourcery.com>
7030 * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
7031 Check TYPE_NO_NAMED_ARGS_STDARG_P.
7032 * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
7033 * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
7034 * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
7035 * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
7036 * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
7038 * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
7039 * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
7040 * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
7041 * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
7042 * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
7043 * config/loongarch/loongarch.cc
7044 (loongarch_setup_incoming_varargs): Likewise.
7045 * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
7046 * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
7047 * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
7048 * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
7049 * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
7050 * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
7051 * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
7052 * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
7053 * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
7054 * config/visium/visium.cc (visium_setup_incoming_varargs):
7056 * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
7057 flag_allow_parameterless_variadic_functions.
7058 * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
7059 not document option.
7060 * function.cc (assign_parms): Call assign_parms_setup_varargs for
7061 TYPE_NO_NAMED_ARGS_STDARG_P case.
7062 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
7063 variadic macro. Pass second argument of 0 to __builtin_va_start.
7064 * target.def (setup_incoming_varargs): Update documentation.
7065 * doc/tm.texi: Regenerate.
7066 * tree-core.h (struct tree_type_common): Add
7067 no_named_args_stdarg_p.
7068 * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
7069 TYPE_NO_NAMED_ARGS_STDARG_P.
7070 * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
7071 TYPE_NO_NAMED_ARGS_STDARG_P.
7072 * tree.cc (type_cache_hasher::equal): Compare
7073 TYPE_NO_NAMED_ARGS_STDARG_P.
7074 (build_function_type): Add argument no_named_args_stdarg_p.
7075 (build_function_type_list_1, build_function_type_array_1)
7076 (reconstruct_complex_type): Update calls to build_function_type.
7077 (stdarg_p, prototype_p): Return true for (...) functions.
7078 (gimple_canonical_types_compatible_p): Compare
7079 TYPE_NO_NAMED_ARGS_STDARG_P.
7080 * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
7081 (build_function_type): Update prototype.
7083 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
7085 PR tree-optimization/107346
7086 * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
7087 that aren't multiples of BITS_PER_UNIT.
7089 2022-10-28 Richard Biener <rguenther@suse.de>
7091 PR tree-optimization/107407
7092 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
7093 varying index check when collecting PHI uses rather than
7094 after optimizing processing of the candidate defs.
7096 2022-10-28 Richard Biener <rguenther@suse.de>
7098 PR tree-optimization/107447
7099 * tree-ssa-loop-im.cc (determine_max_movement): Do not
7100 hoist returns-twice calls.
7102 2022-10-28 Richard Biener <rguenther@suse.de>
7104 PR tree-optimization/107435
7105 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
7106 value to vector component type.
7108 2022-10-28 Julian Brown <julian@codesourcery.com>
7109 Thomas Schwinge <thomas@codesourcery.com>
7112 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
7113 privatization candidates.
7115 2022-10-28 Martin Liska <mliska@suse.cz>
7118 * doc/invoke.texi: Document sanitizers can trigger warnings.
7120 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
7122 * doc/makefile.texi (Makefile Targets): Document
7123 'distclean-stage[N]'.
7125 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
7127 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
7129 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
7131 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
7133 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
7136 * config/i386/i386.md (UNSPEC_CC_NE): New.
7137 Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
7139 2022-10-27 Andrew Pinski <apinski@marvell.com>
7141 * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
7142 (replace_phi_edge_with_variable):
7143 New argument, dce_ssa_names. Call simple_dce_from_worklist.
7144 (match_simplify_replacement): If we inserted a sequence,
7145 mark the lhs of the new sequence to be possible dce.
7146 Always move the statement and mark the lhs (if it is a name)
7147 as possible to remove.
7149 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
7151 * config/aarch64/aarch64-protos.h: Replace constexpr with
7153 * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
7154 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
7155 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
7156 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
7157 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
7158 * config/aarch64/aarch64.cc: Likewise.
7159 * config/aarch64/driver-aarch64.cc: Likewise
7161 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
7163 PR tree-optimization/107394
7164 * value-range-storage.cc (frange_storage_slot::get_frange): Use
7167 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
7169 * optc-save-gen.awk: Clarify 'Init' option property usage for
7170 streaming optimization.
7172 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7173 Yvan ROUX <yvan.roux@foss.st.com>
7175 * ira.cc: Resize array after reg number increased.
7177 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
7178 Sinan Lin <sinan@isrc.iscas.ac.cn>
7180 * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
7181 use while Zfinx is enable.
7182 * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
7183 registers use when Zdinx enable in RV32 cases.
7184 (riscv_option_override): New target enable MASK_FDIV.
7185 (riscv_libgcc_floating_mode_supported_p): New error info when
7186 use incompatible arch&abi.
7187 (riscv_excess_precision): New target enable FLOAT16.
7189 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
7191 * config/riscv/iterators.md (TARGET_ZFINX):New target.
7192 (TARGET_ZDINX): Ditto.
7193 (TARGET_ZHINX): Ditto.
7194 * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
7195 (riscv_atomic_assign_expand_fenv): Ditto.
7196 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
7197 * config/riscv/riscv.md: Ditto.
7199 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
7200 Sinan Lin <sinan@isrc.iscas.ac.cn>
7202 * common/config/riscv/riscv-common.cc: New extensions.
7203 * config/riscv/arch-canonicalize: New imply relations.
7204 * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
7205 (MASK_ZDINX): Ditto.
7206 (MASK_ZHINX): Ditto.
7207 (MASK_ZHINXMIN): Ditto.
7208 (TARGET_ZFINX): New target.
7209 (TARGET_ZDINX): Ditto.
7210 (TARGET_ZHINX): Ditto.
7211 (TARGET_ZHINXMIN): Ditto.
7212 * config/riscv/riscv.opt: New target variable.
7214 2022-10-26 David Faust <david.faust@oracle.com>
7216 * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
7217 (enum bpf_builtins): Add new builtin.
7218 (bpf_init_builtins): Likewise.
7219 (bpf_core_field_info): New function.
7220 (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
7222 (maybe_make_core_relo): ... here. New function.
7223 (bpf_resolve_overloaded_builtin): Accomodate new builtin.
7224 (bpf_core_newdecl): Likewise.
7225 (bpf_core_walk): Likewise.
7226 (bpf_core_is_maybe_aggregate_access): Improve logic.
7227 (struct core_walk_data): New.
7228 * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
7230 * config/bpf/coreout.h: Analogous change.
7231 * doc/extend.texi: Document BPF __builtin_preserve_field_info.
7233 2022-10-26 Marek Polacek <polacek@redhat.com>
7236 * doc/invoke.texi: Document -Wdangling-reference.
7238 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7240 * config/xtensa/xtensa.md (movdi):
7241 Copy operands[0...1] to ops[0...3] and then use the latter before
7242 calling xtensa_split_DI_reg_imm() and emitting insns.
7244 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
7247 * ipa-visibility.cc (function_and_variable_visibility):
7248 Conditionally upgrade TLS model instead of asserting.
7250 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
7252 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
7253 stmt is non-negative and adjust the range.
7255 2022-10-26 Martin Liska <mliska@suse.cz>
7257 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
7258 (reset_cpu_feature): New.
7259 (get_zhaoxin_cpu): Use reset_cpu_feature.
7261 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7263 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
7265 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7268 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
7269 (ADJUST_NUNITS): Adjust according to -march.
7270 (ADJUST_BYTESIZE): Ditto.
7271 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
7273 (riscv_v_ext_vector_mode_p): Change function implementation.
7274 * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
7275 Change to riscv_v_ext_vector_mode_p.
7276 (register_builtin_type): Ditto.
7277 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
7280 (riscv_v_ext_enabled_vector_mode_p): Remove.
7281 (riscv_v_adjust_nunits): New function.
7282 (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
7283 * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
7285 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7287 * config.gcc (riscv*): Add riscv-v.o to extra_objs.
7288 * config/riscv/constraints.md (vu): New constraint.
7292 * config/riscv/predicates.md (vector_length_operand): New.
7293 (reg_or_mem_operand): Ditto.
7294 (vector_move_operand): Ditto.
7295 (vector_mask_operand): Ditto.
7296 (vector_merge_operand): Ditto.
7297 * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
7298 (riscv_vector::const_vec_all_same_in_range_p): Ditto.
7299 (riscv_vector::legitimize_move): Ditto.
7300 (tail_policy): Ditto.
7301 (mask_policy): Ditto.
7302 * config/riscv/riscv-v.cc: New.
7303 * config/riscv/riscv-vector-builtins-bases.cc
7304 (vsetvl::expand): Refactor how LMUL encoding.
7305 * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
7306 print and mask operand print.
7307 (riscv_regmode_natural_size): New.
7308 * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
7309 * config/riscv/riscv.md (mode): Add vector modes.
7310 * config/riscv/t-riscv (riscv-v.o) New.
7311 * config/riscv/vector-iterators.md: New.
7312 * config/riscv/vector.md (vundefined<mode>): New.
7315 (@vsetvl<mode>_no_side_effects): New.
7316 (@pred_mov<mode>): New.
7318 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
7320 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7321 Add svinval and svnapot extension.
7322 (riscv_ext_flag_table): Ditto.
7323 * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
7324 (MASK_SVNAPOT): Ditto.
7325 (TARGET_SVINVAL): Ditto.
7326 (TARGET_SVNAPOT): Ditto.
7327 * config/riscv/riscv.opt (riscv_sv_subext): New.
7329 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7331 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
7333 2022-10-26 Martin Liska <mliska@suse.cz>
7335 * configure: Regenerate.
7337 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
7339 * value-range.cc (frange::set): Use HONOR_*.
7340 (frange::verify_range): Same.
7341 * value-range.h (frange_val_min): Same.
7342 (frange_val_max): Same.
7344 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
7347 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
7350 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
7352 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7354 (riscv_supported_std_ext): Ditto.
7355 (multi_letter_subset_rank): Remove `h`.
7356 (riscv_subset_list::parse_std_ext): Handle `h` as single letter
7358 (riscv_subset_list::parse): Ditto.
7360 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
7362 * auto-profile.cc (get_combined_location): Include discriminator in the
7363 returned combined location.
7364 (read_function_instance): Read discriminators from profiles.
7366 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
7369 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
7370 field with vector raw mode.
7372 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
7374 * config/rs6000/rs6000.md (CCEITHER): Delete.
7377 (isel_<un>signed_<GPR:mode>): Rename to...
7378 (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7379 (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
7380 (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7381 (setbc_<un>signed_<GPR:mode>): Rename to...
7382 (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust."
7383 (*setbcr_<un>signed_<GPR:mode>): Rename to ...
7384 (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7385 (*setnbc_<un>signed_<GPR:mode>): Rename to ...
7386 (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7387 (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
7388 (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
7389 (eq<mode>3 for GPR): Adjust.
7390 (ne<mode>3 for GPR): Adjust.
7391 * config/rs6000/rs6000-string.cc (do_isel): Adjust.
7392 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
7394 2022-10-25 Richard Biener <rguenther@suse.de>
7396 PR tree-optimization/107176
7397 PR tree-optimization/66375
7398 PR tree-optimization/42512
7399 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
7400 the PR66375 fix, do not not associate PLUS_EXPR to be able
7401 to use tail-recursion.
7402 (follow_ssa_edge_binary): Likewise.
7403 (interpret_loop_phi): Revert PR42512 fix, do not throw
7404 away analyze_evolution_in_loop result after the fact.
7405 (follow_ssa_edge_expr): When reaching halting_phi initalize
7406 the evolution to the symbolic value of the PHI result.
7407 (add_to_evolution_1): When adding the first evolution verify
7408 we can handle the expression wrapping the symbolic evolution
7409 and replace that in full using the initial condition.
7410 (class scev_dfs): New, contains ...
7411 (follow_ssa_edge_expr, follow_ssa_edge_binary,
7412 follow_ssa_edge_in_condition_phi_branch,
7413 follow_ssa_edge_in_condition_phi,
7414 follow_ssa_edge_inner_loop_phi,
7415 add_to_evolution, add_to_evolution_1): ... these with
7416 loop and halting_phi arguments in class data.
7417 (scev_dfs::get_ev): New toplevel DFS entry, start with
7418 a chrec_dont_know evolution.
7419 (analyze_evolution_in_loop): Use scev_dfs.
7421 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
7423 * profile.cc (branch_prob): Be prepared for ignored functions with
7424 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
7426 2022-10-25 Richard Biener <rguenther@suse.de>
7428 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
7429 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
7431 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
7433 * common/config/i386/i386-common.cc (processor_alias_table): Use
7434 CPU_ZNVER3 for znver4.
7435 * config/i386/znver.md: Remove znver4 reservations.
7437 2022-10-25 Jakub Jelinek <jakub@redhat.com>
7439 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
7442 2022-10-25 Jakub Jelinek <jakub@redhat.com>
7444 PR tree-optimization/107368
7445 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
7446 conditions call gimple_boolify on the condition.
7448 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
7450 * config.gcc: add -with-compact-branches=policy build option.
7451 * doc/install.texi: Likewise.
7452 * config/mips/mips.h: Likewise.
7454 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
7456 * config/mips/mips.cc (mips_option_override): not trigger error
7457 for compact-branches=always for pre-R6.
7458 * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
7459 compact-branches=always for pre-R6.
7460 (TARGET_CB_NEVER): Likewise.
7461 (TARGET_CB_ALWAYS): Likewise.
7462 (struct mips_cpu_info): define macros for compact branch policy.
7463 * doc/invoke.texi: Document "always" with pre-R6.
7465 2022-10-25 Jakub Jelinek <jakub@redhat.com>
7467 PR tree-optimization/107369
7468 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
7469 IFN_ASSUME the same as for -O0.
7471 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
7473 * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
7474 * configure: Regenerated.
7475 * config.in: Regenerated.
7476 * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
7477 if ENABLE_MULTIARCH is defined.
7478 * config/mips/t-linux64: define correct multiarch path when
7479 multiarch is enabled.
7481 2022-10-25 Richard Biener <rguenther@suse.de>
7483 PR tree-optimization/100756
7484 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
7485 expand multiplications by invariants.
7487 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
7489 PR tree-optimization/107338
7490 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
7491 shfit_n calculation before the adjustments for widening loads.
7493 2022-10-25 Martin Liska <mliska@suse.cz>
7495 * common/config/riscv/riscv-common.cc
7496 (riscv_get_valid_option_values): Get out of ifdef.
7498 2022-10-25 Martin Liska <mliska@suse.cz>
7501 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
7502 Fix pedantic warning.
7504 2022-10-24 Martin Liska <mliska@suse.cz>
7507 * diagnostic-format-sarif.cc
7508 (sarif_builder::maybe_make_physical_location_object): Gracefully
7509 reject locations with NULL filename.
7511 2022-10-24 David Malcolm <dmalcolm@redhat.com>
7514 * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
7515 "pipe2" to the list of functions the analyzer has hardcoded
7518 2022-10-24 Jason Merrill <jason@redhat.com>
7520 * tree.h (build_string_literal): New one-argument overloads that
7521 take tree (identifier) and const char *.
7522 * builtins.cc (fold_builtin_FILE)
7523 (fold_builtin_FUNCTION)
7524 * gimplify.cc (gimple_add_init_for_auto_var)
7525 * vtable-verify.cc (verify_bb_vtables): Simplify calls.
7527 2022-10-24 Martin Liska <mliska@suse.cz>
7530 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
7531 Reorder enum values as BUILTIN_VENDOR_MAX should not point
7532 in the middle of the valid enum values.
7534 2022-10-24 Marek Polacek <polacek@redhat.com>
7537 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
7538 when the type is erroneous.
7540 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
7543 * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
7544 Add support for a bitmask immediate with 2 MOVKs.
7545 (aarch64_check_bitmask): New function after refactorization.
7546 (aarch64_bitmask_imm): Simplify replication of small modes.
7547 Split function into 64-bit only version for efficiency.
7548 (aarch64_move_imm): Move near other immediate functions.
7549 (aarch64_uimm12_shift): Likewise.
7550 (aarch64_clamp_to_uimm12_shift): Likewise.
7551 (aarch64_movk_shift): Likewise.
7552 (aarch64_replicate_bitmask_imm): Likewise.
7553 (aarch64_and_split_imm1): Likewise.
7554 (aarch64_and_split_imm2): Likewise.
7555 (aarch64_and_bitmask_imm): Likewise.
7556 (aarch64_movw_imm): Likewise.
7558 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
7560 PR tree-optimization/107355
7561 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
7563 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
7565 PR middle-end/107236
7566 * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
7567 in DECL_CONTEXT and not to cfun->decl.
7568 * cgraphclones.cc (cgraph_node::create_clone): Copy also the
7569 node's calls_declare_variant_alt value.
7571 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
7573 * common/config/riscv/riscv-common.cc (riscv_tunes): New.
7574 (riscv_get_valid_option_values): New.
7575 (TARGET_GET_VALID_OPTION_VALUES): New.
7576 * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
7578 (RISCV_CORE): Fix comment.
7579 * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
7582 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
7584 PR tree-optimization/107365
7585 * value-range.cc (frange::verify_range): Predicate NAN check in
7586 VARYING range on HONOR_NANS instead of flag_finite_math_only.
7587 (range_tests_floats): Same.
7588 (range_tests_floats_various): New.
7589 (range_tests): Call range_tests_floats_various.
7591 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7592 Yvan ROUX <yvan.roux@foss.st.com>
7594 * lto-wrapper.cc: Quote paths in makefile.
7596 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7598 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
7600 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7602 * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
7603 with constexpr throughout.
7604 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
7605 * config/riscv/riscv-vector-builtins.cc
7606 (struct registered_function_hasher): Likewise.
7607 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
7610 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7612 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
7614 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7616 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
7618 2022-10-22 Michael Eager <eager@eagercon.com>
7620 * config/microblaze/microblaze.cc
7621 (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
7622 (microblaze_address_insns): Replace abort() with gcc_unreachable().
7623 (print_operand_address): Same.
7624 (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
7625 (get_branch_target): Replace abort() with gcc_unreachable().
7627 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
7629 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
7630 with !flag_finite_math_only.
7632 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7634 * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
7635 Remove register A0 from FIXED_REGS if the CALL0 ABI.
7636 (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
7637 unconditionally after restoring callee-saved registers for
7638 sibling-call functions, in order to prevent misleading that
7639 register A0 is free to use.
7641 2022-10-21 Jakub Jelinek <jakub@redhat.com>
7644 * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
7645 BFmode comparisons promote arguments to SFmode and recurse.
7646 (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
7647 if comparison operands are BFmode and operands[1] is not
7648 ix86_fp_comparison_operator.
7650 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
7652 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
7653 * common/config/i386/i386-common.cc (processor_names): Add znver4.
7654 (processor_alias_table): Add znver4 and modularize old znvers.
7655 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
7657 * config.gcc (x86_64-*-* |...): Likewise.
7658 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
7659 -march=native recognize znver4 cpus.
7660 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
7661 * config/i386/i386-options.cc (m_ZNVER4): New definition.
7662 (m_ZNVER): Include m_ZNVER4.
7663 (processor_cost_table): Add znver4.
7664 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
7665 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
7666 (PTA_ZNVER1): New definition.
7667 (PTA_ZNVER2): Likewise.
7668 (PTA_ZNVER3): Likewise.
7669 (PTA_ZNVER4): Likewise.
7670 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
7672 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
7673 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
7674 (ix86_adjust_cost): Likewise.
7675 * config/i386/znver1.md: Rename to znver.md.
7676 * config/i386/znver.md: Add new reservations for znver4.
7677 * doc/extend.texi: Add details about znver4.
7678 * doc/invoke.texi: Likewise.
7680 2022-10-21 Richard Biener <rguenther@suse.de>
7682 PR tree-optimization/107323
7683 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
7685 (loop_distribution::break_alias_scc_partitions): Revert
7686 postorder save/restore from the PR94125 fix. Instead
7687 make sure to not ignore edges from SCCs we are going to
7690 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
7692 * config/riscv/riscv.md: Add atomic type attribute.
7693 * config/riscv/sync.md: Add atomic type for atomic instructions.
7695 2022-10-21 Jakub Jelinek <jakub@redhat.com>
7697 PR tree-optimization/54346
7698 * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
7699 Optimize nested VEC_PERM_EXPRs even if target can't handle the
7700 new one provided we don't increase number of VEC_PERM_EXPRs the
7701 target can't handle.
7703 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7705 * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
7706 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
7707 (DEF_RVV_FUNCTION): Ditto.
7708 (handle_pragma_vector): Add intrinsic framework.
7709 * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
7710 * config/riscv/riscv.md: include vector.md.
7711 * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
7712 * config/riscv/riscv-vector-builtins-bases.cc: New file.
7713 * config/riscv/riscv-vector-builtins-bases.h: New file.
7714 * config/riscv/riscv-vector-builtins-functions.def: New file.
7715 * config/riscv/riscv-vector-builtins-shapes.cc: New file.
7716 * config/riscv/riscv-vector-builtins-shapes.h: New file.
7717 * config/riscv/riscv-vector-builtins-types.def: New file.
7718 * config/riscv/vector.md: New file.
7720 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7722 * config.gcc: Add gt files since function_instance is GTY ((user)).
7723 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
7724 (riscv_builtin_decl): Ditto.
7725 (riscv_expand_builtin): Ditto.
7726 * config/riscv/riscv-protos.h (builtin_decl): New function.
7727 (expand_builtin): Ditto.
7728 (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
7729 * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
7730 (struct registered_function_hasher): New struct.
7731 (DEF_RVV_OP_TYPE): New macro.
7732 (DEF_RVV_TYPE): Ditto.
7733 (DEF_RVV_PRED_TYPE): Ditto.
7734 (GTY): New declaration.
7735 (add_attribute): New function.
7736 (check_required_extensions): Ditto.
7737 (rvv_arg_type_info::get_tree_type): Ditto.
7738 (function_instance::function_instance): Ditto.
7739 (function_instance::operator==): Ditto.
7740 (function_instance::any_type_float_p): Ditto.
7741 (function_instance::get_return_type): Ditto.
7742 (function_instance::get_arg_type): Ditto.
7743 (function_instance::hash): Ditto.
7744 (function_instance::call_properties): Ditto.
7745 (function_instance::reads_global_state_p): Ditto.
7746 (function_instance::modifies_global_state_p): Ditto.
7747 (function_instance::could_trap_p): Ditto.
7748 (function_builder::function_builder): Ditto.
7749 (function_builder::~function_builder): Ditto.
7750 (function_builder::allocate_argument_types): Ditto.
7751 (function_builder::register_function_group): Ditto.
7752 (function_builder::append_name): Ditto.
7753 (function_builder::finish_name): Ditto.
7754 (function_builder::get_attributes): Ditto.
7755 (function_builder::add_function): Ditto.
7756 (function_builder::add_unique_function): Ditto.
7757 (function_call_info::function_call_info): Ditto.
7758 (function_expander::function_expander): Ditto.
7759 (function_expander::add_input_operand): Ditto.
7760 (function_expander::generate_insn): Ditto.
7761 (registered_function_hasher::hash): Ditto.
7762 (registered_function_hasher::equal): Ditto.
7763 (builtin_decl): Ditto.
7764 (expand_builtin): Ditto.
7765 (gt_ggc_mx): Define for using GCC garbage collect.
7766 (gt_pch_nx): Define for using GCC garbage collect.
7767 * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
7768 (DEF_RVV_PRED_TYPE): Ditto.
7769 (vbool64_t): Add suffix.
7776 (vint8mf8_t): Ditto.
7777 (vuint8mf8_t): Ditto.
7778 (vint8mf4_t): Ditto.
7779 (vuint8mf4_t): Ditto.
7780 (vint8mf2_t): Ditto.
7781 (vuint8mf2_t): Ditto.
7783 (vuint8m1_t): Ditto.
7785 (vuint8m2_t): Ditto.
7787 (vuint8m4_t): Ditto.
7789 (vuint8m8_t): Ditto.
7790 (vint16mf4_t): Ditto.
7791 (vuint16mf4_t): Ditto.
7792 (vint16mf2_t): Ditto.
7793 (vuint16mf2_t): Ditto.
7794 (vint16m1_t): Ditto.
7795 (vuint16m1_t): Ditto.
7796 (vint16m2_t): Ditto.
7797 (vuint16m2_t): Ditto.
7798 (vint16m4_t): Ditto.
7799 (vuint16m4_t): Ditto.
7800 (vint16m8_t): Ditto.
7801 (vuint16m8_t): Ditto.
7802 (vint32mf2_t): Ditto.
7803 (vuint32mf2_t): Ditto.
7804 (vint32m1_t): Ditto.
7805 (vuint32m1_t): Ditto.
7806 (vint32m2_t): Ditto.
7807 (vuint32m2_t): Ditto.
7808 (vint32m4_t): Ditto.
7809 (vuint32m4_t): Ditto.
7810 (vint32m8_t): Ditto.
7811 (vuint32m8_t): Ditto.
7812 (vint64m1_t): Ditto.
7813 (vuint64m1_t): Ditto.
7814 (vint64m2_t): Ditto.
7815 (vuint64m2_t): Ditto.
7816 (vint64m4_t): Ditto.
7817 (vuint64m4_t): Ditto.
7818 (vint64m8_t): Ditto.
7819 (vuint64m8_t): Ditto.
7820 (vfloat32mf2_t): Ditto.
7821 (vfloat32m1_t): Ditto.
7822 (vfloat32m2_t): Ditto.
7823 (vfloat32m4_t): Ditto.
7824 (vfloat32m8_t): Ditto.
7825 (vfloat64m1_t): Ditto.
7826 (vfloat64m2_t): Ditto.
7827 (vfloat64m4_t): Ditto.
7828 (vfloat64m8_t): Ditto.
7861 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
7862 (RVV_REQUIRE_RV64BIT): Ditto.
7863 (RVV_REQUIRE_ZVE64): Ditto.
7864 (RVV_REQUIRE_ELEN_FP_32): Ditto.
7865 (RVV_REQUIRE_ELEN_FP_64): Ditto.
7866 (enum operand_type_index): New enum.
7867 (DEF_RVV_OP_TYPE): New macro.
7868 (enum predication_type_index): New enum.
7869 (DEF_RVV_PRED_TYPE): New macro.
7870 (enum rvv_base_type): New enum.
7871 (struct rvv_builtin_suffixes): New struct.
7872 (struct rvv_arg_type_info): Ditto.
7873 (struct rvv_type_info): Ditto.
7874 (struct rvv_op_info): Ditto.
7875 (class registered_function): New class.
7876 (class function_base): Ditto.
7877 (class function_shape): Ditto.
7878 (struct function_group_info): New struct.
7879 (class GTY): New class.
7880 (class function_builder): Ditto.
7881 (class function_call_info): Ditto.
7882 (function_call_info::function_returns_void_p): New function.
7883 (class function_expander): New class.
7884 (function_instance::operator!=): New function.
7885 (function_expander::expand): Ditto.
7886 (function_expander::add_input_operand): Ditto.
7887 (function_base::call_properties): Ditto.
7889 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
7891 * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
7892 (ssedvecmodelower): Rename from vi1si.
7893 (sdot_prod<mode>): New define_expand.
7894 (udot_prod<mode>): Ditto.
7896 2022-10-21 Kong Lingling <lingling.kong@intel.com>
7897 Hongyu Wang <hongyu.wang@intel.com>
7898 Haochen Jiang <haochen.jiang@intel.com>
7900 * common/config/i386/cpuinfo.h (get_available_features): Detect
7902 * common/config/i386/i386-common.cc
7903 (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
7904 (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
7905 (ix86_handle_option): Handle -mavxvnniint8.
7906 * common/config/i386/i386-cpuinfo.h (enum processor_features):
7907 Add FEATURE_AVXVNNIINT8.
7908 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7910 * config.gcc: Add avxvnniint8intrin.h.
7911 * config/i386/avxvnniint8intrin.h: New file.
7912 * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
7913 * config/i386/i386-builtin.def: Add new builtins.
7914 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7916 * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
7917 (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
7918 * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
7919 * config/i386/i386.opt: Add option -mavxvnniint8.
7920 * config/i386/immintrin.h: Include avxvnniint8intrin.h.
7921 * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
7922 UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
7923 UNSPEC_VPMADDWDACCSSD): Rename according to new style.
7924 (vpdp<vpdotprodtype>_<mode>): New define_insn.
7925 * doc/extend.texi: Document avxvnniint8.
7926 * doc/invoke.texi: Document -mavxvnniint8.
7927 * doc/sourcebuild.texi: Document target avxvnniint8.
7929 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
7931 * common/config/i386/i386-common.cc
7932 (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
7933 OPTION_MASK_ISA2_AVX2_UNSET): New macro.
7934 (ix86_handle_option): Handle -mavxifma.
7935 * common/config/i386/i386-cpuinfo.h (processor_types): Add
7937 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7939 * common/config/i386/cpuinfo.h (get_available_features):
7941 * config.gcc: Add avxifmaintrin.h
7942 * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
7944 (_mm_madd52hi_epu64): Likewise.
7945 (_mm256_madd52lo_epu64): Likewise.
7946 (_mm256_madd52hi_epu64): Likewise.
7947 * config/i386/avxifmaintrin.h: New header.
7948 * config/i386/cpuid.h (bit_AVXIFMA): New.
7949 * config/i386/i386-builtin.def: Add new builtins, and correct
7950 pattern names for AVX512IFMA.
7951 * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
7952 builtins like AVX-VNNI.
7953 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7955 * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
7956 Relax ISA masks for AVXIFMA.
7957 * config/i386/i386-isa.def: Add AVXIFMA.
7958 * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
7959 (ix86_valid_target_attribute_inner_p): Handle avxifma.
7960 * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
7961 * config/i386/i386.opt: Add option -mavxifma.
7962 * config/i386/immintrin.h: Inculde avxifmaintrin.h.
7963 * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
7965 (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
7966 (vpamdd52huq<mode>_maskz): Rename to ...
7967 (vpmadd52huq<mode>_maskz): ... this.
7968 (vpamdd52luq<mode>_maskz): Rename to ...
7969 (vpmadd52luq<mode>_maskz): ... this.
7970 (vpmadd52<vpmadd52type><mode>): New define_insn.
7971 (vpmadd52<vpmadd52type>v8di): Likewise.
7972 (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
7973 (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
7974 (vpmadd52<vpmadd52type><mode>_mask): ... this.
7975 * doc/invoke.texi: Document -mavxifma.
7976 * doc/extend.texi: Document avxifma.
7977 * doc/sourcebuild.texi: Document target avxifma.
7979 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
7982 * value-query.cc (get_range_global): Handle non integer ranges for
7983 default def SSA names.
7985 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
7987 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
7988 (foperator_unordered_lt::op2_range): New.
7990 2022-10-20 Artem Klimov <jakmobius@gmail.com>
7991 Alexander Monakov <amonakov@gcc.gnu.org>
7994 * ipa-visibility.cc (function_and_variable_visibility): Promote
7995 TLS access model afer visibility optimizations.
7996 * varasm.cc (have_optimized_refs): New helper.
7997 (optimize_dyn_tls_for_decl_p): New helper. Use it ...
7998 (decl_default_tls_model): ... here in place of 'optimize' check.
8000 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8002 * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
8003 false side with a NAN operand.
8004 (foperator_unordered_le::op2_range): Same.
8005 (foperator_unordered_gt::op1_range): Same.
8006 (foperator_unordered_gt::op2_range): Same.
8007 (foperator_unordered_ge::op1_range): Same.
8008 (foperator_unordered_ge::op2_range): Same.
8009 (foperator_unordered_equal::op1_range): Same.
8011 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
8013 PR tree-optimization/107326
8014 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
8015 vectype when widening container.
8017 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8019 * value-range.h (frange::set_varying): Do not set NAN flags for
8021 * value-range.cc (frange::normalize_kind): Adjust for no NAN when
8023 (frange::verify_range): Same.
8024 * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
8026 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
8028 * range-op-float.cc (finite_operand_p): Remove.
8029 (finite_operands_p): Rename to...
8030 (maybe_isnan): ...this.
8031 (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
8032 (foperator_equal::fold_range): Same.
8033 (foperator_equal::op1_range): Same.
8034 (foperator_not_equal::fold_range): Same.
8035 (foperator_lt::fold_range): Same.
8036 (foperator_le::fold_range): Same.
8037 (foperator_gt::fold_range): Same.
8038 (foperator_ge::fold_range): Same.
8040 2022-10-20 Jakub Jelinek <jakub@redhat.com>
8042 * passes.cc (pass_manager::register_pass): Fix a comment
8043 typo - copmilation -> compilation.
8045 2022-10-20 Richard Biener <rguenther@suse.de>
8047 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
8048 Disallow latch PHI defs.
8049 (vectorizable_recurr): Revert previous change.
8051 2022-10-20 Julian Brown <julian@codesourcery.com>
8054 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
8055 argument forces FLAT addressing mode, not just
8056 pointer-to-non-aggregate.
8058 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
8060 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
8061 * configure: Regenerate.
8063 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8065 * config/aarch64/aarch64-sve-builtins.h
8066 (gimple_folder::fold_to_cstu): New member function.
8067 * config/aarch64/aarch64-sve-builtins.cc
8068 (gimple_folder::fold_to_cstu): Define.
8069 * config/aarch64/aarch64-sve-builtins-base.cc
8070 (svcnt_bhwd_impl::fold): Use it.
8072 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8074 * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
8075 (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
8076 (unspec_based_function_rotated, unspec_based_function_exact_insn)
8077 (unspec_based_fused_function, unspec_based_fused_lane_function):
8078 Replace constructors with using directives.
8079 * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
8080 (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
8081 (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
8082 (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
8083 (svst234_impl, svundef_impl): Likewise.
8084 * config/aarch64/aarch64-sve-builtins-sve2.cc
8085 (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
8086 (svstnt1_scatter_truncate_impl): Likewise.
8088 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8090 * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
8091 with constexpr throughout.
8092 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
8093 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
8094 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
8095 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
8097 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8099 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
8100 merging alternative.
8101 (*aarch64_brk<brk_op>_ptest): Likewise.
8103 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
8105 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
8106 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
8107 (*aarch64_brkn_ptest): Likewise.
8108 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
8109 (*aarch64_brk<brk_op>_ptest): Likewise.
8111 2022-10-20 Richard Biener <rguenther@suse.de>
8115 * tree-cfg.h (verify_gimple_in_seq): Add parameter to
8116 indicate whether to emit an ICE. Add return value.
8117 (verify_gimple_in_cfg): Likewise.
8118 * tree-cfg.cc (verify_gimple_in_seq): Likewise.
8119 (verify_gimple_in_cfg): Likewise.
8121 2022-10-20 Richard Biener <rguenther@suse.de>
8123 PR tree-optimization/107240
8124 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
8125 simplify shifted value first.
8127 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
8129 * gimple-range-gori.h (compute_operand_range): Make public.
8130 * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
8131 (gimple_infer_range::gimple_infer_range): Check for assume calls.
8132 * gimple-range-infer.h (check_assume_func): Add prototype.
8133 * gimple-range.cc (assume_query::assume_range_p): New.
8134 (assume_query::range_of_expr): New.
8135 (assume_query::assume_query): New.
8136 (assume_query::calculate_op): New.
8137 (assume_query::calculate_phi): New.
8138 (assume_query::check_taken_edge): New.
8139 (assume_query::calculate_stmt): New.
8140 (assume_query::dump): New.
8141 * gimple-range.h (class assume_query): New.
8142 * tree-vrp.cc (pass_assumptions::execute): Add processing.
8144 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
8146 * range-op-float.cc (build_le): Document result.
8149 (foperator_ge::op2_range): Check result of build_*.
8150 (foperator_unordered_le::op1_range): Same.
8151 (foperator_unordered_le::op2_range): Same.
8152 (foperator_unordered_gt::op1_range): Same.
8153 (foperator_unordered_gt::op2_range): Same.
8154 (foperator_unordered_ge::op1_range): Same.
8155 (foperator_unordered_ge::op2_range): Same.
8157 2022-10-19 Marek Polacek <polacek@redhat.com>
8160 * doc/invoke.texi: Update documentation of -Wuseless-cast.
8162 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
8164 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
8165 Value_Range not int_range_max.
8167 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
8169 PR tree-optimization/107312
8170 * range.h (range_true_and_false): Special case 1-bit signed types.
8171 * value-range.cc (range_tests_misc): New test.
8173 2022-10-19 LIU Hao <lh_mouse@126.com>
8175 * config/i386/mingw-mcfgthread.h: New file
8176 * config/i386/mingw32.h: Add builtin macro and default libraries
8177 for mcfgthread when thread model is `mcf`
8178 * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
8180 * configure.ac: Recognize `mcf` as a valid thread model
8181 * config.in: Regenerate
8182 * configure: Regenerate
8184 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
8186 * gengtype.cc (output_escaped_param): Add missing const.
8187 (get_string_option): Add missing check for option type.
8188 (walk_type): Support new "string_length" GTY option.
8189 (write_types_process_field): Likewise.
8190 * ggc-common.cc (gt_pch_note_object): Add optional length argument.
8191 * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
8192 (gt_pch_n_S2): Declare...
8193 * stringpool.cc (gt_pch_n_S2): ...new function.
8194 * doc/gty.texi: Document new GTY((string_length)) option.
8196 2022-10-19 Martin Liska <mliska@suse.cz>
8198 * doc/extend.texi: Remove useless @tie{} directives.
8200 2022-10-19 Martin Jambor <mjambor@suse.cz>
8202 PR tree-optimization/107206
8203 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
8204 (analyze_access_subtree): Do not create replacements for accesses with
8205 this flag when not toally scalarizing.
8206 (propagate_subaccesses_from_lhs): Set the new flag.
8208 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
8211 * config/s390/s390.cc (s390_call_saved_register_used): For a
8212 parameter with BLKmode fix determining number of consecutive
8215 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8217 * config/xtensa/xtensa-protos.h
8218 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
8219 * config/xtensa/xtensa.cc
8220 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
8222 (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
8223 (xt_true_regnum): Rework.
8224 * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
8225 Switch from CALL_USED_REGISTERS, and revise the comment.
8226 * config/xtensa/constraints.md (Y):
8227 Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
8228 * config/xtensa/predicates.md (move_operand): Ditto.
8229 * config/xtensa/xtensa.md: Add two new split patterns:
8230 - splits DImode immediate load into two SImode ones
8231 - puts out-of-constraint SImode constants into the constant pool
8232 * config/xtensa/xtensa.opt (-mlra): New target-specific option
8233 for testing purpose.
8235 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
8237 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
8239 2022-10-19 Jakub Jelinek <jakub@redhat.com>
8241 PR middle-end/107262
8242 * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
8243 of constants, use simplify_unary_operation if fromi has VOIDmode
8244 instead of recursive convert_mode_scalar.
8246 2022-10-19 Jakub Jelinek <jakub@redhat.com>
8248 PR tree-optimization/106990
8249 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
8250 !TYPE_OVERFLOW_SANITIZED (type).
8252 2022-10-19 Jakub Jelinek <jakub@redhat.com>
8254 * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
8255 (ix86_bf16_type_node): New variable.
8256 (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
8257 from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
8258 rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
8259 to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node
8260 rather than bfloat16_type_node. Don't initialize unused
8261 ix86_bf16_ptr_type_node.
8262 * config/i386/i386-builtin-types.def (BFLOAT16): Use
8263 ix86_bf16_type_node rather than bfloat16_type_node.
8265 2022-10-19 Richard Biener <rguenther@suse.de>
8267 PR tree-optimization/106781
8268 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
8269 LHS removal from fixup_noreturn_call.
8271 2022-10-19 liuhongt <hongtao.liu@intel.com>
8274 * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
8275 (expand_vec_perm_shufps_shufps): Call
8276 ix86_vec_perm_index_canon
8278 2022-10-18 Martin Jambor <mjambor@suse.cz>
8280 * ipa-prop.h (ipa_agg_value): Remove type.
8281 (ipa_agg_value_set): Likewise.
8282 (ipa_copy_agg_values): Remove function.
8283 (ipa_release_agg_values): Likewise.
8284 (ipa_auto_call_arg_values) Add a forward declaration.
8285 (ipa_call_arg_values): Likewise.
8286 (class ipa_argagg_value_list): New constructors, added member function
8288 (class ipa_auto_call_arg_values): Removed the destructor and member
8289 function safe_aggval_at. Use ipa_argagg_values for m_known_aggs.
8290 (class ipa_call_arg_values): Removed member function safe_aggval_at.
8291 Use ipa_argagg_values for m_known_aggs.
8292 (ipa_get_indirect_edge_target): Removed declaration.
8293 (ipa_find_agg_cst_for_param): Likewise.
8294 (ipa_find_agg_cst_from_init): New declaration.
8295 (ipa_agg_value_from_jfunc): Likewise.
8296 (ipa_agg_value_set_from_jfunc): Removed declaration.
8297 (ipa_push_agg_values_from_jfunc): New declaration.
8298 * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
8299 ipa_agg_value_from_jfunc, made public.
8300 (ipa_agg_value_set_from_jfunc): Removed.
8301 (ipa_push_agg_values_from_jfunc): New function.
8302 (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
8303 avs for this purpose too.
8304 (ipa_get_indirect_edge_target): Removed the overload working on
8305 ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
8307 (devirtualization_time_bonus): Use ipa_argagg_value_list and
8308 ipa_get_indirect_edge_target_1 instead of
8309 ipa_get_indirect_edge_target.
8310 (context_independent_aggregate_values): Removed function.
8311 (gather_context_independent_values): Work on ipa_argagg_value_list.
8312 (estimate_local_effects): Likewise, define some iterator variables
8313 only in the construct where necessary.
8314 (ipcp_discover_new_direct_edges): Adjust the call to
8315 ipa_get_indirect_edge_target_1.
8316 (push_agg_values_for_index_from_edge): Adjust the call
8317 ipa_agg_value_from_node which has been renamed to
8318 ipa_agg_value_from_jfunc.
8319 * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
8320 ipa_argagg_value_list.
8321 (evaluate_properties_for_edge): Replace manual filling in aggregate
8322 values with call to ipa_push_agg_values_from_jfunc.
8323 (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
8324 (ipa_cached_call_context::duplicate_from): Likewise.
8325 (ipa_cached_call_context::release): Likewise.
8326 (ipa_call_context::equal_to): Likewise.
8327 * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
8328 (ipa_find_agg_cst_for_param): Removed function.
8329 (ipa_find_agg_cst_from_jfunc_items): New function.
8330 (try_make_edge_direct_simple_call): Replace calls to
8331 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
8332 ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
8333 (try_make_edge_direct_virtual_call): Replace calls to
8334 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
8335 simple query of constant jump function and a call to
8336 ipa_find_agg_cst_from_jfunc_items.
8337 (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
8339 2022-10-18 Martin Jambor <mjambor@suse.cz>
8341 * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
8342 (ipcp_transformation): Added forward declaration.
8343 (ipa_argagg_value): New type.
8344 (ipa_argagg_value_list): New type.
8345 (ipa_agg_replacement_value): Removed type.
8346 (ipcp_transformation): Switch from using ipa_agg_replacement_value
8347 to ipa_argagg_value_list.
8348 (ipa_get_agg_replacements_for_node): Removed.
8349 (ipa_dump_agg_replacement_values): Removed declaration.
8350 * ipa-cp.cc: Define INCLUDE_ALGORITHM.
8351 (values_equal_for_ipcp_p): Moved up in the file.
8352 (ipa_argagg_value_list::dump): New function.
8353 (ipa_argagg_value_list::debug): Likewise.
8354 (ipa_argagg_value_list::get_elt): Likewise.
8355 (ipa_argagg_value_list::get_elt_for_index): Likewise.
8356 (ipa_argagg_value_list::get_value): New overloaded functions.
8357 (ipa_argagg_value_list::superset_of_p): New function.
8358 (new ipa_argagg_value_list::push_adjusted_values): Likewise.
8359 (push_agg_values_from_plats): Likewise.
8360 (intersect_argaggs_with): Likewise.
8361 (get_clone_agg_value): Removed.
8362 (ipa_agg_value_from_node): Make last parameter const, use
8363 ipa_argagg_value_list to search values coming from clones.
8364 (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
8365 values coming from clones.
8366 (ipcp_discover_new_direct_edges): Pass around a vector of
8367 ipa_argagg_values rather than a link list of replacement values.
8368 (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
8369 values coming from clones.
8370 (create_specialized_node): Work with a vector of ipa_argagg_values
8371 rather than a link list of replacement values.
8372 (self_recursive_agg_pass_through_p): Make the pointer parameters
8374 (copy_plats_to_inter): Removed.
8375 (intersect_with_plats): Likewise.
8376 (agg_replacements_to_vector): Likewise.
8377 (intersect_with_agg_replacements): Likewise.
8378 (intersect_aggregates_with_edge): Likewise.
8379 (push_agg_values_for_index_from_edge): Likewise.
8380 (push_agg_values_from_edge): Likewise.
8381 (find_aggregate_values_for_callers_subset): Rewrite.
8382 (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
8383 (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
8385 (decide_about_value): Work with a vector of ipa_argagg_values rather
8386 than a link list of replacement values.
8387 (decide_whether_version_node): Likewise.
8388 (ipa_analyze_node): Check number of parameters, assert that there
8389 are no descriptors when bailing out.
8390 * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
8392 (ipa_node_params_t::duplicate): Removed superfluous handling of
8393 ipa_agg_replacement_values. Name of src parameter removed because
8394 it is no longer used.
8395 (ipcp_transformation_t::duplicate): Replaced duplication of
8396 ipa_agg_replacement_values with copying vector m_agg_values.
8397 (ipa_dump_agg_replacement_values): Removed.
8398 (write_ipcp_transformation_info): Stream the new data-structure
8400 (read_ipcp_transformation_info): Likewise.
8401 (adjust_agg_replacement_values): Work with ipa_argagg_values instead
8402 of linked lists of ipa_agg_replacement_values, copy the items and
8403 truncate the vector as necessary to keep it sorted instead of marking
8404 items as invalid. Return one bool if CFG should be updated.
8405 (ipcp_modif_dom_walker): Store ipcp_transformation instead of
8406 linked list of ipa_agg_replacement_values.
8407 (ipcp_modif_dom_walker::before_dom_children): Use
8408 ipa_argagg_value_list instead of walking a list of
8409 ipa_agg_replacement_values.
8410 (ipcp_transform_function): Switch to the new data structure, adjust
8413 2022-10-18 Richard Biener <rguenther@suse.de>
8415 PR tree-optimization/107302
8416 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
8417 placement for a PHI latch def.
8419 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
8421 PR tree-optimization/107275
8422 * tree-if-conv.cc (if_convertible_loop_p_1): Move
8423 find_data_references_in_loop call from here...
8424 (if_convertible_loop_p): And move data-reference vector initialization
8426 (tree_if_conversion):... to here.
8428 2022-10-18 Jakub Jelinek <jakub@redhat.com>
8431 * gimple.def (GIMPLE_ASSUME): New statement kind.
8432 * gimple.h (struct gimple_statement_assume): New type.
8433 (is_a_helper <gimple_statement_assume *>::test,
8434 is_a_helper <const gimple_statement_assume *>::test): New.
8435 (gimple_build_assume): Declare.
8436 (gimple_has_substatements): Return true for GIMPLE_ASSUME.
8437 (gimple_assume_guard, gimple_assume_set_guard,
8438 gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
8439 New inline functions.
8440 * gsstruct.def (GSS_ASSUME): New.
8441 * gimple.cc (gimple_build_assume): New function.
8442 (gimple_copy): Handle GIMPLE_ASSUME.
8443 * gimple-pretty-print.cc (dump_gimple_assume): New function.
8444 (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
8445 * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
8446 * omp-low.cc (WALK_SUBSTMTS): Likewise.
8447 (lower_omp_1): Likewise.
8448 * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
8450 * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
8451 * function.h (struct function): Add assume_function bitfield.
8452 * gimplify.cc (gimplify_call_expr): If the assumption isn't
8453 simple enough, expand it into GIMPLE_ASSUME wrapped block or
8455 * gimple-low.cc: Include attribs.h.
8456 (create_assumption_fn): New function.
8457 (struct lower_assumption_data): New type.
8458 (find_assumption_locals_r, assumption_copy_decl,
8459 adjust_assumption_stmt_r, adjust_assumption_stmt_op,
8460 lower_assumption): New functions.
8461 (lower_stmt): Handle GIMPLE_ASSUME.
8462 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
8464 * lto-streamer-out.cc (output_struct_function_base): Pack
8465 assume_function bit.
8466 * lto-streamer-in.cc (input_struct_function_base): And unpack it.
8467 * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
8468 has TREE_ASM_WRITTEN set and don't release its body.
8469 (symbol_table::compile): Allow assume functions not to have released
8471 * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
8472 * passes.cc (execute_one_pass): For TODO_discard_function don't
8473 release body of assume functions.
8474 * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
8475 of PROP_assumptions_done functions.
8476 * tree-pass.h (PROP_assumptions_done): Define.
8477 (TODO_discard_function): Adjust comment.
8478 (make_pass_assumptions): Declare.
8479 * passes.def (pass_assumptions): Add.
8480 * timevar.def (TV_TREE_ASSUMPTIONS): New.
8481 * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
8482 * tree-vrp.cc (pass_data_assumptions): New variable.
8483 (pass_assumptions): New class.
8484 (make_pass_assumptions): New function.
8486 2022-10-18 Richard Biener <rguenther@suse.de>
8488 PR tree-optimization/107301
8489 * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
8490 Check whether we can duplicate the block.
8491 (find_implicit_erroneous_behavior): Likewise.
8493 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
8495 PR tree-optimization/107273
8496 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
8497 instead of copying precison of each member.
8499 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8502 * config/h8300/combiner.md: Replace '<' preincment constraint with
8503 ZA/Z1..ZH/Z7 combinations.
8504 * config/h8300/movepush.md: Similarly
8506 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8508 * config/h8300/constraints.md (Za..Zh): New constraints for
8509 autoinc addresses using a specific register.
8510 * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
8511 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
8513 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
8515 * config/i386/cet.c: Remove accidental commit.
8516 * config/i386/driver-mingw32.c: Likewise.
8517 * config/i386/i386-builtins.c: Likewise.
8518 * config/i386/i386-d.c: Likewise.
8519 * config/i386/i386-expand.c: Likewise.
8520 * config/i386/i386-features.c: Likewise.
8521 * config/i386/i386-options.c: Likewise.
8522 * config/i386/t-cet: Likewise.
8523 * config/i386/x86-tune-sched-atom.c: Likewise.
8524 * config/i386/x86-tune-sched-bd.c: Likewise.
8525 * config/i386/x86-tune-sched-core.c: Likewise.
8526 * config/i386/x86-tune-sched.c: Likewise.
8528 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8530 * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
8531 Enable redundant extension elimination at -O2 and above.
8532 * config/i386/cet.c: New file.
8533 * config/i386/driver-mingw32.c: New file.
8534 * config/i386/i386-builtins.c: New file.
8535 * config/i386/i386-d.c: New file.
8536 * config/i386/i386-expand.c: New file.
8537 * config/i386/i386-features.c: New file.
8538 * config/i386/i386-options.c: New file.
8539 * config/i386/t-cet: New file.
8540 * config/i386/x86-tune-sched-atom.c: New file.
8541 * config/i386/x86-tune-sched-bd.c: New file.
8542 * config/i386/x86-tune-sched-core.c: New file.
8543 * config/i386/x86-tune-sched.c: New file.
8545 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
8547 * config/h8300/extensions.md (CCZN setting zero extended load): Add
8550 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
8552 PR tree-optimization/107293
8554 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
8555 Check that condition post-dominates the definition point.
8557 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
8559 PR tree-optimization/107286
8560 * value-range.cc (range_tests_floats): Do not test for -Inf when
8561 flag_finite_math_only.
8563 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
8565 * gimple-range-fold.cc (fold_using_range::range_of_range_op):
8566 Provide relation_trio class.
8567 * gimple-range-gori.cc (gori_compute::refine_using_relation):
8568 Provide relation_trio class.
8569 (gori_compute::refine_using_relation): Ditto.
8570 (gori_compute::compute_operand1_range): Provide lhs_op2 and
8571 op1_op2 relations via relation_trio class.
8572 (gori_compute::compute_operand2_range): Ditto.
8573 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
8574 relation_trio instead of relation_kind.
8575 (gimple_range_op_handler::calc_op2): Ditto.
8576 (*::fold_range): Ditto.
8577 * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
8578 (gimple_range_op::calc_op2): Adjust prototypes.
8579 * range-op-float.cc (*::fold_range): Use relation_trio instead of
8581 (*::op1_range): Ditto.
8582 (*::op2_range): Ditto.
8583 * range-op.cc (*::fold_range): Use relation_trio instead of
8585 (*::op1_range): Ditto.
8586 (*::op2_range): Ditto.
8587 * range-op.h (class range_operator): Adjust prototypes.
8588 (class range_operator_float): Ditto.
8589 (class range_op_handler): Adjust prototypes.
8590 (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
8591 * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
8593 (relation_oracle::validate_relation): Use relation_trio in call
8595 * value-relation.h (enum relation_kind_t): Add VREL_LAST as
8597 (class relation_trio): New.
8598 (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
8600 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
8602 * range-op-float.cc (foperator_not_equal::op1_range): Check for
8603 VREL_EQ after singleton.
8604 (foperator_unordered::op1_range): Set VARYING before calling
8606 (foperator_ordered::op1_range): Set rather than clear NAN if both
8607 operands are the same.
8609 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
8611 * value-relation.cc (value_relation::dump): Change message.
8612 * value-relation.h (value_relation::set_relation): If op1 is the
8613 same as op2 do not create a relation.
8615 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
8617 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
8618 'case QImode:', etc.
8620 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
8622 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
8624 2022-10-17 Richard Biener <rguenther@suse.de>
8625 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8627 PR tree-optimization/99409
8628 PR tree-optimization/99394
8629 * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
8630 (stmt_vec_info_type::recurr_info_type): Likewise.
8631 (vectorizable_recurr): New function.
8632 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
8634 (vect_analyze_scalar_cycles_1): Look for first order
8636 (vect_analyze_loop_operations): Handle them.
8637 (vect_transform_loop): Likewise.
8638 (vectorizable_recurr): New function.
8639 (maybe_set_vectorized_backedge_value): Handle the backedge value
8640 setting in the first order recurrence PHI and the permutes.
8641 * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
8643 (vect_transform_stmt): Likewise.
8644 (vect_is_simple_use): Likewise.
8645 (vect_is_simple_use): Likewise.
8646 * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
8647 (vect_build_slp_tree_2): Likewise.
8648 (vect_schedule_scc): Handle the backedge value setting in the
8649 first order recurrence PHI and the permutes.
8651 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8653 * config/riscv/t-riscv: Change Tab into 2 space.
8655 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8657 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
8659 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
8661 * config.gcc: --target=*-elf --without-{newlib,headers} should
8664 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
8666 * common/config/i386/cpuinfo.h:
8667 (get_intel_cpu): Handle Meteorlake.
8668 * common/config/i386/i386-common.cc:
8669 (processor_alias_table): Add Meteorlake.
8671 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
8673 * common/config/i386/cpuinfo.h:
8674 (get_intel_cpu): Handle Raptorlake.
8675 * common/config/i386/i386-common.cc:
8676 (processor_alias_table): Add Raptorlake.
8678 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
8680 * config/h8300/constraints.md (Z0..Z7): New register
8682 * config/h8300/h8300.h (reg_class): Add new classes.
8683 (REG_CLASS_NAMES): Similarly.
8684 (REG_CLASS_CONTENTS): Similarly.
8686 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
8688 * config/h8300/constraints.md (Zz constraint): Renamed
8690 * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
8691 constraint to use Zz instead of Z.
8693 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
8695 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
8697 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8699 * value-range.cc (frange::set): Implement distinction between
8700 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
8702 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8704 * gimple-range-op.cc (class cfn_copysign): New.
8705 (gimple_range_op_handler::maybe_builtin_call): Add
8706 CFN_BUILT_IN_COPYSIGN*.
8708 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8710 * real.h (real_isdenormal): Check rvc_normal.
8711 * value-range.cc (range_tests_floats): New test.
8713 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8715 * gimple-range-op.cc
8716 (gimple_range_op_handler::maybe_builtin_call): Replace
8717 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
8719 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8721 * value-range.cc (frange::set): Normalize ranges for both bounds.
8723 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8725 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
8727 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
8729 * gimple-range-op.cc
8730 (gimple_range_op_handler::maybe_builtin_call): Add
8731 CFN_BUILT_IN_SIGNBIT[FL]* entries.
8733 2022-10-14 Richard Biener <rguenther@suse.de>
8735 PR tree-optimization/107254
8736 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
8737 For permutes also analyze live lanes.
8738 (vect_schedule_slp_node): For permutes also code generate
8741 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
8744 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
8745 blockage for leaf functions.
8746 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
8747 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
8748 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
8750 2022-10-14 Jakub Jelinek <jakub@redhat.com>
8752 * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
8753 * tree.h (bfloat16_type_node): Define.
8754 * tree.cc (excess_precision_type): Promote bfloat16_type_mode
8755 like float16_type_mode.
8756 (build_common_tree_nodes): Initialize bfloat16_type_node if
8757 BFmode is supported.
8758 * expmed.h (maybe_expand_shift): Declare.
8759 * expmed.cc (maybe_expand_shift): No longer static.
8760 * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
8761 conversions. If there is no optab, handle BF -> {DF,XF,TF,HF}
8762 conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
8763 -ffast-math generic implementation for BF -> SF and SF -> BF
8765 * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
8766 * builtins.def (BUILT_IN_NANSF16B): New builtin.
8767 * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
8768 * config/i386/i386.cc (classify_argument): Handle E_BCmode.
8769 (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
8771 (ix86_mangle_type): Mangle BFmode as DF16b.
8772 (ix86_invalid_conversion, ix86_invalid_unary_op,
8773 ix86_invalid_binary_op): Remove.
8774 (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
8775 TARGET_INVALID_BINARY_OP): Don't redefine.
8776 * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
8777 (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
8778 ix86_bf16_type_node, only create it if still NULL.
8779 * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
8780 * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
8782 2022-10-14 Jakub Jelinek <jakub@redhat.com>
8786 * doc/invoke.texi (-fexcess-precision=standard): Mention that the
8787 option now also works in C++.
8789 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
8791 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
8792 early for calls made from thunks.
8794 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
8796 * expr.cc (emit_group_stote): Fix handling of modes of different
8797 sizes for big-endian targets in latest change and add commentary.
8799 2022-10-13 Martin Liska <mliska@suse.cz>
8801 * output.h (assemble_vtv_preinit_initializer): Remove.
8802 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
8804 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8806 PR tree-optimization/102540
8807 PR tree-optimization/102872
8808 * gimple-range-cache.cc (ranger_cache::fill_block_cache):
8809 Handle partial equivs.
8810 (ranger_cache::range_from_dom): Cleanup dump output.
8812 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8814 * range-op.cc (operator_cast::lhs_op1_relation): New.
8815 (operator_bitwise_and::lhs_op1_relation): New.
8817 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8819 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
8822 (equiv_relation_iterator::equiv_relation_iterator): New.
8823 (equiv_relation_iterator::next): New.
8824 (equiv_relation_iterator::get_name): New.
8825 * value-relation.h (class relation_oracle): Privatize some methods.
8826 (class equiv_relation_iterator): New.
8827 (FOR_EACH_EQUIVALENCE): New.
8828 (FOR_EACH_PARTIAL_EQUIV): New.
8829 (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
8831 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
8833 * value-relation.cc (equiv_chain::dump): Don't print empty
8835 (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
8836 (equiv_oracle::~equiv_oracle): Release the partial equiv table.
8837 (equiv_oracle::add_partial_equiv): New.
8838 (equiv_oracle::partial_equiv_set): New.
8839 (equiv_oracle::partial_equiv): New.
8840 (equiv_oracle::query_relation): Check for partial equivs too.
8841 (equiv_oracle::dump): Also dump partial equivs.
8842 (dom_oracle::register_relation): Handle partial equivs.
8843 (dom_oracle::query_relation): Check for partial equivs.
8844 * value-relation.h (enum relation_kind_t): Add partial equivs.
8845 (relation_partial_equiv_p): New.
8846 (relation_equiv_p): New.
8847 (class pe_slice): New.
8848 (class equiv_oracle): Add prototypes.
8853 2022-10-13 Richard Biener <rguenther@suse.de>
8855 PR tree-optimization/107247
8856 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8857 Reduce multi vector SLP reduction accumulators. Check
8858 the adjusted number of accumulator vectors against
8859 one for the re-use in the epilogue.
8861 2022-10-13 Jakub Jelinek <jakub@redhat.com>
8863 * genmodes.cc (emit_mode_wider): Emit previous content of
8864 mode_wider array into mode_next array and for mode_wider
8865 emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
8866 otherwise skip through modes with the same precision.
8867 * machmode.h (mode_next): Declare.
8868 (GET_MODE_NEXT_MODE): New inline function.
8869 (mode_iterator::get_next, mode_iterator::get_known_next): New
8871 (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
8872 (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
8873 (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
8874 (FOR_EACH_WIDER_MODE_FROM): Define.
8875 (FOR_EACH_NEXT_MODE): Define.
8876 * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
8877 instead of FOR_EACH_MODE_FROM.
8878 * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant
8879 !CLASS_HAS_WIDER_MODES_P check.
8880 (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
8882 * config/i386/i386-expand.cc (get_mode_wider_vector): Use
8883 GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
8885 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
8888 * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
8889 GT/LE for merging compare with zero into AND.
8890 (aarch64_get_condition_code_1): Add CC_NZVmode support.
8891 * config/aarch64/aarch64-modes.def: Add CC_NZV.
8892 * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
8894 2022-10-13 Richard Biener <rguenther@suse.de>
8896 PR tree-optimization/107160
8897 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8898 Do not register accumulator if we failed to reduce it
8901 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
8903 * range-op-float.cc (range_operator_float::op1_op2_relation): New.
8904 (class foperator_equal): Add using.
8905 (class foperator_not_equal): Same.
8906 (class foperator_lt): Same.
8907 (class foperator_le): Same.
8908 (class foperator_gt): Same.
8909 (class foperator_ge): Same.
8910 * range-op.cc (range_op_handler::op1_op2_relation): New.
8911 * range-op.h (range_operator_float::op1_op2_relation): New.
8913 2022-10-13 Richard Biener <rguenther@suse.de>
8915 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
8916 * match.pd: Replace 'return' statements in with expressions
8917 with appropriate variants.
8919 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
8921 PR tree-optimization/107229
8922 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
8924 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
8926 PR tree-optimization/107226
8927 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
8928 BITFIELD_REF's with non integral typed first operands.
8930 2022-10-13 Joseph Myers <joseph@codesourcery.com>
8932 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
8933 (LDBL_IS_IEC_60559): Update comment.
8935 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
8937 * range-op-float.cc (class foperator_negate): New.
8938 (floating_op_table::floating_op_table): Add NEGATE_EXPR
8939 (range_op_float_tests): Add negate tests.
8941 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8943 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
8945 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8947 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
8949 (add_vector_type_attribute): Ditto.
8950 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
8952 * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
8955 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8957 * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
8959 (build_const_pointer): New function.
8960 (register_builtin_type): Ditto.
8961 (DEF_RVV_TYPE): Simplify macro.
8962 (register_vector_type): Refine implementation.
8963 * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
8965 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8967 * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
8969 * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
8972 2022-10-12 Cui,Lili <lili.cui@intel.com>
8974 * config/i386/driver-i386.cc (host_detect_local_cpu):
8975 Move sapphirerapids out of AVX512_VP2INTERSECT.
8976 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
8977 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
8979 2022-10-12 Martin Liska <mliska@suse.cz>
8981 * gcov-io.cc (gcov_write_summary): Rename to ...
8982 (gcov_write_object_summary): ... this.
8983 * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
8984 (GCOV_TAG_SUMMARY_LENGTH): ... this.
8986 2022-10-12 Martin Liska <mliska@suse.cz>
8988 * configure: Regenerate.
8990 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
8992 * range-op-float.cc (frange_float): New.
8993 (range_op_float_tests): New.
8994 * range-op.cc (range_op_tests): Call range_op_float_tests.
8996 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
8998 * value-range.h (frange::nan_signbit_p): New.
9000 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9002 * value-range.cc (frange::set_nonnegative): Pass bool to
9004 * value-range.h: Disallow conversion to bool in update_nan().
9006 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9008 * value-range.h (frange::frange): Add constructor taking type.
9010 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
9012 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
9015 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9017 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
9018 calling tracer.trailer().
9020 2022-10-11 Jakub Jelinek <jakub@redhat.com>
9023 * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
9024 MASK_REGNO_P (REGNO (x)).
9026 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9028 * range-op-float.cc (class foperator_abs): New.
9029 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
9031 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9033 * range-op-float.cc (foperator_unordered_le::op1_range): New.
9034 (foperator_unordered_le::op2_range): New.
9035 (foperator_unordered_gt::op1_range): New.
9036 (foperator_unordered_gt::op2_range): New.
9037 (foperator_unordered_ge::op1_range): New.
9038 (foperator_unordered_ge::op2_range): New.
9039 (foperator_unordered_equal::op1_range): New.
9041 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9043 * range-op-float.cc (class foperator_unordered_lt): New.
9044 (class foperator_relop_unknown): Remove
9045 (class foperator_unordered_le): New.
9046 (class foperator_unordered_gt): New.
9047 (class foperator_unordered_ge): New.
9048 (class foperator_unordered_equal): New.
9049 (floating_op_table::floating_op_table): Replace all UN_EXPR
9050 entries with their appropriate fop_unordered_* counterpart.
9052 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9054 * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
9055 (operator_lt::op2_range): Same.
9056 (operator_le::op2_range): Same.
9057 (operator_gt::op2_range): Same.
9058 (operator_ge::op2_range): Same.
9060 2022-10-11 Richard Biener <rguenther@suse.de>
9062 PR tree-optimization/107212
9063 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
9064 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
9066 (vectorizable_live_operation): Do not pun to the SLP
9067 node representative for reduction epilogue generation.
9069 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9071 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
9073 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9075 * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
9076 * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
9077 (GEN_VNM): Add gathervNm_expr.
9078 (GEN_VN_NOEXEC): Add vec_seriesvNsi.
9079 (gcn_expand_vector_init): Add initialization of vectors from smaller
9082 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9084 * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
9085 * config/gcn/gcn-valu.md
9086 (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
9087 * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
9088 new overload variant.
9090 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9092 * config/gcn/gcn-valu.md
9093 (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
9094 (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
9095 * config/gcn/gcn.h (MODE_VF): New macro.
9097 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
9099 * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
9100 V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
9101 V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
9102 V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
9103 V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
9104 V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
9105 (ADJUST_ALIGNMENT): Likewise.
9106 * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
9107 (gcn_full_exec_reg): Delete.
9108 (gcn_scalar_exec): Delete.
9109 (gcn_scalar_exec_reg): Delete.
9110 (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
9111 (vgpr_2reg_mode_p): Likewise.
9112 (vgpr_vector_mode_p): Use VECTOR_MODE_P.
9113 * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
9114 V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
9115 V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
9116 Add additional vector modes.
9117 (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
9118 (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
9119 Add additional vector mode mappings.
9120 (mov<mode>): Implement vector length conversions.
9121 (ldexp<mode>3<exec>): Use VnSI.
9122 (frexp<mode>_exp2<exec>): Likewise.
9123 (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
9124 (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
9125 (fold_left_plus_<mode>): Use V64_FP.
9126 (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
9127 (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
9128 (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
9129 (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
9130 (*plus_carry_dpp_shr_<mode>): Use V64_DI.
9131 (mov_from_lane63_<mode>): Use V64_2REG.
9132 * config/gcn/gcn.cc (VnMODE): New function.
9133 (gcn_can_change_mode_class): Support multiple vector sizes.
9134 (gcn_modes_tieable_p): Likewise.
9135 (gcn_operand_part): Likewise.
9136 (gcn_scalar_exec): Delete function.
9137 (gcn_scalar_exec_reg): Delete function.
9138 (gcn_full_exec): Delete function.
9139 (gcn_full_exec_reg): Delete function.
9140 (gcn_inline_fp_constant_p): Support multiple vector sizes.
9141 (gcn_fp_constant_p): Likewise.
9143 (GEN_VN_NOEXEC): New macro.
9144 (GEN_VNM_NOEXEC): New macro.
9145 (GEN_VN): New macro.
9146 (GEN_VNM): New macro.
9147 (GET_VN_FN): New macro.
9148 (CODE_FOR): New macro.
9149 (CODE_FOR_OP): New macro.
9150 (gen_mov_with_exec): Delete function.
9151 (gen_duplicate_load): Delete function.
9152 (gcn_expand_vector_init): Support multiple vector sizes.
9153 (strided_constant): Likewise.
9154 (gcn_addr_space_legitimize_address): Likewise.
9155 (gcn_expand_scalar_to_vector_address): Likewise.
9156 (gcn_expand_scaled_offsets): Likewise.
9157 (gcn_secondary_reload): Likewise.
9158 (gcn_valid_cvt_p): Likewise.
9159 (gcn_expand_builtin_1): Likewise.
9160 (gcn_make_vec_perm_address): Likewise.
9161 (gcn_vectorize_vec_perm_const): Likewise.
9162 (gcn_vector_mode_supported_p): Likewise.
9163 (gcn_autovectorize_vector_modes): New hook.
9164 (gcn_related_vector_mode): Support multiple vector sizes.
9165 (gcn_expand_dpp_shr_insn): Add FIXME comment.
9166 (gcn_md_reorg): Support multiple vector sizes.
9167 (print_reg): Likewise.
9168 (print_operand): Likewise.
9169 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
9171 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
9173 * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
9175 (tree_if_conversion): ... to here. Also call bitfield lowering when
9177 (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
9178 need to lower bitfields.
9179 (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
9181 (get_bitfield_rep): New function.
9182 (lower_bitfield): Likewise.
9183 (bitfields_to_lower_p): Likewise.
9184 (need_to_lower_bitfields): New global boolean.
9185 (need_to_ifcvt): Likewise.
9186 * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
9188 * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
9190 (vect_recog_bitfield_ref_pattern): New.
9191 (vect_recog_bit_insert_pattern): New.
9193 2022-10-11 liuhongt <hongtao.liu@intel.com>
9196 * config/i386/i386.md (*notxor<mode>_1): New post_reload
9197 define_insn_and_split.
9198 (*notxorqi_1): Ditto.
9200 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
9202 PR tree-optimization/107195
9203 * value-range.cc (irange::set_range_from_nonzero_bits): Set range
9204 to [0,0] when nonzero mask is 0.
9206 2022-10-11 Olivier Hainque <hainque@adacore.com>
9208 * configure: Regenerate.
9210 2022-10-11 Olivier Hainque <hainque@adacore.com>
9212 * config.gcc (*vxworks*): Add t-slibgcc fragment
9215 2022-10-11 Olivier Hainque <hainque@adacore.com>
9217 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
9219 (VXWORKS_LIBGCC_SPEC): Use them and document.
9221 2022-10-11 Martin Liska <mliska@suse.cz>
9223 * gimple-range-op.cc: Add override keyword.
9225 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
9228 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
9231 2022-10-11 Liwei Xu <liwei.xu@intel.com>
9232 liuhongt <hongtao.liu@intel.com>
9234 PR tree-optimization/54346
9235 * match.pd: Merge the index of VCST then generates the new vec_perm.
9237 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
9239 PR rtl-optimization/107182
9240 * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
9241 return, clear EDGE_CROSSING on the appropriate edge.
9243 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9245 * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
9246 from config/riscv/riscv-vector-builtins.h.
9247 (DEF_RVV_TYPE): Change USER_NAME to NAME.
9248 (register_vector_type): Change user_name to name.
9249 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
9251 * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
9252 to riscv-vector-builtins.cc.
9253 (DEF_RVV_TYPE): Change USER_NAME to NAME.
9255 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9257 * config/riscv/riscv.md: Add vsetvl instruction type.
9259 2022-10-10 Nathan Sidwell <nathan@acm.org>
9261 * common.opt (-fabi-version=): Document 18.
9262 * doc/invoke.texi (-fabi-version): Document 18.
9264 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
9267 * toplev.cc (toplev::main): Don't run self tests in case of
9270 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
9272 * config/riscv/riscv-c.cc: Add newline to the end of file.
9274 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9276 * range-op-float.cc (class foperator_identity): Make members public.
9277 (class foperator_equal): Same.
9278 (class foperator_not_equal): Same.
9279 (class foperator_lt): Same.
9280 (class foperator_le): Same.
9281 (class foperator_gt): Same.
9282 (class foperator_ge): Same.
9283 (class foperator_unordered): Same.
9284 (class foperator_ordered): Same.
9286 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9288 * value-range.h (frange::maybe_isnan): New.
9290 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9292 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
9293 TRUE side for x != x.
9295 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9297 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
9298 operands are equal and result is TRUE.
9300 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9302 * range.h (range_true): Return int_range<2>.
9303 (range_false): Same.
9304 (range_true_and_false): Same.
9306 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
9308 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
9310 2022-10-10 liuhongt <hongtao.liu@intel.com>
9313 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
9314 predicate of operands[0] and operands[1].
9316 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9318 * common/config/arc/arc-common.cc (arc_option_optimization_table):
9319 Remove Rcq and Rcw options.
9320 * config/arc/arc.opt (mRcq): Ignore option, preserve it for
9321 backwards compatibility.
9323 * doc/invoke.texi (mRcw, mRcq): Update document.
9325 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9327 * config/arc/arc.cc (arc_check_short_reg_p): New function.
9328 (arc_address_cost): Replace satisfies_constraint_Rcq with the
9330 (arc_output_addsi): Likewise.
9331 (split_addsi): Likewise.
9332 (split_subsi): Likewise.
9333 * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
9334 (movhi_insn): Likewise.
9335 (movsi_insn): Likewise.
9336 (tst_movb): Likewise.
9338 (tst_bitfield): Likewise.
9340 (addsi3_mixed): Likewise.
9341 (mulhisi3_reg): Likewise.
9342 (umulhisi3_reg): Likewise.
9343 (mulsi_600): Likewise.
9345 (subsi3_insn): Likewise.
9346 (bicsi3_insn): Likewise.
9349 (one_cmplsi2): Likewise.
9350 (lshrsi3_insn): Likewise.
9351 (cmpsi_cc_insn_mixed): Likewise.
9352 (cmpsi_cc_zn_insn): Likewise.
9354 (cmpsi_cc_z_insn): Likewise.
9355 (cmpsi_cc_c_insn): Likewise.
9356 (indirect_jump): Likewise.
9357 (casesi_jump): Likewise.
9359 (call_value_i): Likewise.
9362 (ashlsi2_cnt1): Likewise.
9363 (lshrsi3_cnt1): Likewise.
9364 (ashrsi3_cnt1): Likewise.
9365 * config/arc/constraints.md (Rcq): Remove.
9367 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9369 * config/arc/arc.md (smaxsi3): Remove Rcw.
9370 (sminsi3): Likewise.
9371 (addsi3_mixed): Likewise.
9372 (add_f_2): Likewise.
9373 (subsi3_insn): Likewise.
9379 (bset_insn): Likewise.
9380 (bxor_insn): Likewise.
9381 (bclr_insn): Likewise.
9382 (bmsk_insn): Likewise.
9383 (bicsi3_insn): Likewise.
9386 (lshrsi3_insn): Likewise.
9389 * config/arc/constraints.md(Rcw): Remove it.
9391 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9393 * config/arc/arc.md(mulsi3_700): Remove Rcr.
9394 (mulsi3_highpart): Likewise.
9395 (umulsi3_highpart_i): Likewise.
9396 (umulsi3_highpart_int): Likewise.
9399 * config/arc/constraints.md (Rcr): Remove it.
9401 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
9403 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
9405 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
9408 * config/pru/pru-protos.h (pru_noteq_condition): New
9409 function declaration.
9410 * config/pru/pru.cc (pru_noteq_condition): New function.
9411 * config/pru/pru.md (cbranchdi4): Define new pattern.
9413 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
9415 * config/pru/pru.md (lshrdi3): New expand pattern.
9418 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
9420 * config.gcc: set with_arch to default_mips_arch if no defined.
9421 * config/mips/driver-native.cc (host_detect_local_cpu):
9422 try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
9423 pass -mnan=2008 if __mips_nan2008__ is defined.
9424 * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
9425 * configure.ac: detect sys/auxv.h and getauxval.
9426 * configure: regenerated.
9428 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
9430 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
9431 on the same line within the same basic block.
9433 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
9435 PR tree-optimization/101836
9436 * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
9437 to determine a flexible array member reference.
9439 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
9441 * doc/extend.texi: Document strict_flex_array attribute.
9442 * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
9443 * print-tree.cc (print_node): Print new bit decl_not_flexarray.
9444 * tree-core.h (struct tree_decl_common): New bit field
9446 * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
9447 in new bit decl_not_flexarray.
9448 * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
9449 out new bit decl_not_flexarray.
9450 * tree.cc (array_at_struct_end_p): Update it with the new bit field
9452 * tree.h (DECL_NOT_FLEXARRAY): New flag.
9454 2022-10-07 Olivier Hainque <hainque@adacore.com>
9456 * config/vxworks/_vxworks-versions.h: Use OS specific
9457 paths in #include of version.h.
9459 2022-10-07 Martin Liska <mliska@suse.cz>
9461 * opts.cc (finish_options): Print sorry message only
9462 for -flive-patching=inline-only-static.
9464 2022-10-07 Jason Merrill <jason@redhat.com>
9466 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
9467 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
9469 2022-10-07 Richard Biener <rguenther@suse.de>
9471 PR tree-optimization/107153
9472 * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
9474 * tree-parloops.cc (gen_parallel_loop): Update SSA form
9475 after to-exit-first transform, no PHI insertion is necessary.
9476 (pass_parallelize_loops::execute): Force re-write of the
9477 virtual operand SSA web.
9479 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
9481 * value-range.cc (irange::irange_contains_p): Fix comment typo.
9483 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
9485 * function.cc (thread_prologue_and_epilogue_insns): Update only
9486 entry and exit blocks when not optimizing. Remove dead statement.
9488 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
9490 * value-range.cc (irange::irange_set): Convert nonzero mask to
9492 (irange::irange_set_anti_range): Same.
9493 (irange::set): Same.
9494 (irange::verify_range): Same.
9495 (irange::contains_p): Same.
9496 (irange::invert): Same.
9497 (irange::set_range_from_nonzero_bits): Same.
9498 (irange::set_nonzero_bits): Same.
9500 (irange::intersect_nonzero_bits): Same.
9501 (irange::union_nonzero_bits): Same.
9502 * value-range.h (irange::varying_compatible_p): Same.
9505 (irange::set_undefined): Same.
9506 (irange::set_varying): Same.
9508 2022-10-07 Martin Liska <mliska@suse.cz>
9510 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
9511 size to function parameter.
9512 (ix86_unary_operator_ok): Likewise.
9514 2022-10-07 Martin Liska <mliska@suse.cz>
9516 * auto-profile.cc (get_inline_stack): Remove unused variable.
9518 2022-10-07 Jakub Jelinek <jakub@redhat.com>
9520 * ipa-prop.h (ipa_constant_data): Fix comment typo.
9521 * value-range.cc (irange::irange_contains_p): Likewise.
9522 * value-relation.cc (dom_oracle::set_one_relation): Likewise.
9523 * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
9524 * tree-inline.cc (remap_ssa_name): Likewise.
9526 2022-10-07 Jakub Jelinek <jakub@redhat.com>
9528 * attribs.h (is_attribute_namespace_p): New inline function.
9529 (lookup_attribute): Document meaning of ATTR_NS equal to "".
9530 * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
9531 (private_lookup_attribute): For ATTR_NS "" match either standard
9532 attribute or "gnu" namespace one.
9534 2022-10-07 Olivier Hainque <hainque@adacore.com>
9536 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
9537 4 to 3 for VxWorks >= 7.
9539 2022-10-07 Olivier Hainque <hainque@adacore.com>
9541 * defaults.h (DWARF_DEFAULT_VERSION): Define if not
9543 * common.opt (gdwarf-): Use it.
9544 * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
9545 * doc/tm.texi: Update accordingly.
9546 * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
9547 * config/vxworks.cc: Remove code setting dwarf_version, now
9548 handled by the DWARF_DEFAULT_VERSION redefinition.
9550 2022-10-07 Olivier Hainque <hainque@adacore.com>
9552 * ginclude/stddef.h: #undef offsetof before #define.
9554 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9556 PR tree-optimization/107170
9557 * vr-values.cc (vr_values::range_of_expr): Do not die on
9560 2022-10-06 Joseph Myers <joseph@codesourcery.com>
9562 * doc/invoke.texi (-fno-asm): Update description of effects on
9565 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
9567 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
9568 dependency that is a write-after-write if the access function is not
9571 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
9573 * df-scan.cc (df_ref_create_structure): Minor cleanup.
9575 2022-10-06 Richard Biener <rguenther@suse.de>
9577 PR middle-end/107115
9578 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
9579 eliding a seemingly redundant store.
9581 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9583 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
9586 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
9588 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
9589 Ampere-1 core entry.
9591 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
9593 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
9595 2022-10-06 Richard Biener <rguenther@suse.de>
9597 PR tree-optimization/107107
9598 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
9599 affect value-numbering when doing the tail merging
9602 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
9604 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
9607 2022-10-06 Jakub Jelinek <jakub@redhat.com>
9610 * internal-fn.def (ASSUME): New internal function.
9611 * internal-fn.h (expand_ASSUME): Declare.
9612 * internal-fn.cc (expand_ASSUME): Define.
9613 * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
9614 * fold-const.h (simple_condition_p): Declare.
9615 * fold-const.cc (simple_operand_p_2): Rename to ...
9616 (simple_condition_p): ... this. Remove forward declaration.
9617 No longer static. Adjust function comment and fix a typo in it.
9618 Adjust recursive call.
9619 (simple_operand_p): Adjust function comment.
9620 (fold_truth_andor): Adjust simple_operand_p_2 callers to call
9622 * doc/extend.texi: Document assume attribute. Move fallthrough
9623 attribute example to its section.
9625 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
9627 PR rtl-optimization/107088
9628 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
9631 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9633 * value-range.cc (frange::set): Call set_nan unconditionally.
9634 (range_tests_nan): Adjust tests.
9635 (range_tests_signed_zeros): Same.
9636 (range_tests_floats): Same.
9637 * value-range.h (frange::update_nan): Guard with HONOR_NANS.
9638 (frange::set_nan): Set undefined if !HONOR_NANS.
9640 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9642 * range-op-float.cc (foperator_lt::fold_range): Remove extra check
9643 to finite_operands_p.
9644 (foperator_le::fold_range): Same.
9645 (foperator_gt::fold_range): Same.
9646 (foperator_ge::fold_range): Same.
9648 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
9650 * value-range-pretty-print.cc (vrange_printer::print_real_value):
9651 Avoid printing INF and NAN twice.
9653 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
9655 * config/rs6000/constraints.md (wD): Delete.
9656 * doc/md.texi (Machine Constraints): Adjust.
9658 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
9660 * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
9661 define_expand. Split the contents to...
9662 (*vsx_extract_<mode>_0): ... this. Rewrite.
9663 (*vsx_extract_<mode>_1): ... and this. Rewrite.
9665 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
9667 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
9670 2022-10-05 David Malcolm <dmalcolm@redhat.com>
9673 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
9675 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9677 * config.gcc: Add riscv_vector.h.
9678 * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
9679 * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
9680 (riscv_register_pragmas): Ditto.
9681 * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
9682 (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
9683 (mangle_builtin_type): Ditto.
9684 (verify_type_context): Ditto.
9685 (handle_pragma_vector): New function.
9686 * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
9687 (register_vector_type): New function.
9688 (init_builtins): Add RVV builtin types support.
9689 (handle_pragma_vector): New function.
9690 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
9691 name according to file name.
9692 (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
9693 (init_builtins): Remove declaration in riscv-vector-builtins.h.
9694 (mangle_builtin_type): Ditto.
9695 (verify_type_context): Ditto.
9696 * config/riscv/riscv.cc: Adjust for RVV builtin types support.
9697 * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
9698 * config/riscv/t-riscv: Remove redundant file including.
9699 * config/riscv/riscv_vector.h: New file.
9701 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
9703 * range-op.cc (operator_cast::fold_range): Handle truncating casts
9706 2022-10-05 Martin Liska <mliska@suse.cz>
9709 * attribs.h (lookup_attribute_by_prefix): Support the attribute
9710 starting with underscore (_Noreturn).
9712 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
9714 PR tree-optimization/107052
9715 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
9718 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
9720 PR tree-optimization/107052
9721 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
9723 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
9725 PR tree-optimization/106698
9726 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
9728 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
9730 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
9731 Remove __riscv_cmodel_pic, that deprecated in last version.
9733 2022-10-05 David Malcolm <dmalcolm@redhat.com>
9736 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
9738 2022-10-04 Jakub Jelinek <jakub@redhat.com>
9740 * attribs.h (remove_attribute): Declare overload with additional
9742 (private_lookup_attribute): Declare overload with additional
9743 attr_ns and attr_ns_len arguments.
9744 (lookup_attribute): New overload with additional attr_ns argument.
9745 * attribs.cc (remove_attribute): New overload with additional
9747 (private_lookup_attribute): New overload with additional
9748 attr_ns and attr_ns_len arguments.
9750 2022-10-04 Jakub Jelinek <jakub@redhat.com>
9752 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
9753 common_function_versions): Use auto_diagnostic_group.
9755 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
9757 * value-range.cc (irange::set_nonzero_bits): Remove assert.
9759 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
9761 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
9762 * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
9763 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
9764 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
9765 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
9766 __ARM_FEATURE_RCPC when appropriate.
9768 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
9770 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
9771 (-fopenmp-simd): Likewise; update permitted directives.
9773 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
9775 * doc/install.texi (Specific): Add missing items to bullet list.
9776 (amdgcn): Update LLVM requirements, use version not date for newlib.
9777 (nvptx): Use version not git hash for newlib.
9779 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
9781 * value-range-storage.cc (irange_storage_slot::set_irange): Remove
9783 * value-range.cc (irange::irange_set): Adjust for nonzero mask
9785 (irange::irange_set_anti_range): Same.
9786 (irange::set): Same.
9787 (irange::verify_range): Same.
9788 (irange::legacy_equal_p): Same.
9789 (irange::operator==): Same.
9790 (irange::contains_p): Same.
9791 (irange::legacy_intersect): Same.
9792 (irange::legacy_union): Same.
9793 (irange::irange_single_pair_union): Call union_nonzero_bits.
9794 (irange::irange_union): Same.
9795 (irange::irange_intersect): Call intersect_nonzero_bits.
9796 (irange::intersect): Adjust for nonzero mask being a wide int.
9797 (irange::invert): Same.
9798 (irange::set_nonzero_bits): Same.
9799 (irange::get_nonzero_bits_from_range): New.
9800 (irange::set_range_from_nonzero_bits): New.
9801 (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
9803 (irange::intersect_nonzero_bits): Same.
9804 (irange::union_nonzero_bits): Same.
9805 (range_tests_nonzero_bits): Remove test.
9806 * value-range.h (irange::varying_compatible_p): Adjust for nonzero
9807 mask being a wide int.
9810 (irange::set_undefined): Same.
9811 (irange::set_varying): Same.
9812 (irange::normalize_kind): Same.
9814 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
9816 PR tree-optimization/107130
9817 * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
9818 (class cfn_ffs): New.
9819 (gimple_range_op_handler::maybe_builtin_call): Separate out
9820 CASE_CFN_FFS into its own case.
9822 2022-10-03 Sergei Trofimovich <siarheit@google.com>
9824 * config/i386/t-i386: Add build-time dependencies against
9825 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
9828 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
9830 * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
9832 * doc/md.texi (while_ult): Document new operand 3 usage.
9833 * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
9834 maps to a non-vector mode.
9836 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
9838 PR tree-optimization/107109
9839 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
9841 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
9843 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
9845 (mve_vrev64q_m_f<mode>): Likewise.
9847 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9849 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
9850 (range_tests_nonzero_bits): New test.
9852 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9854 * value-range.cc (irange::operator==): Early bail on m_num_ranges
9857 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9859 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
9860 check when comparing VR_VARYING ranges.
9862 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
9864 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
9865 incompatible ranges in ipa-prop.
9867 2022-10-02 Jakub Jelinek <jakub@redhat.com>
9869 PR tree-optimization/107121
9870 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
9871 DEFFERED_INIT -> DEFERRED_INIT.
9873 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
9875 * config/vxworks-driver.cc: New.
9876 * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
9877 * config/t-vxworks: Add vxworks-driver.o.
9878 * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
9880 2022-10-02 Olivier Hainque <hainque@adacore.com>
9882 * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
9883 HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
9884 of ENABLE_SHARED_LIBGCC.
9886 2022-10-01 Stafford Horne <shorne@gmail.com>
9888 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
9889 HAVE_AS_TLS is defined.
9891 2022-10-01 Julian Brown <julian@codesourcery.com>
9893 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
9896 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
9898 * config/h8300/h8300.md (HSI2): New iterator.
9899 (eqne_invert): Similarly.
9900 * config/h8300/testcompare.md (testhi_upper_z): New pattern.
9901 (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
9902 (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
9903 define_insn_and_splits and/or define_insns.
9904 (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
9905 (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
9907 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
9909 * tree-ssa-dom.cc (record_edge_info): Install correct version of
9912 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
9914 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
9916 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
9918 * tree-ssa-dom.cc (single_block_loop_p): New function.
9919 (record_edge_info): Also record equivalences for the outgoing
9920 edge of a single block loop where the condition is an invariant.
9922 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
9924 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
9925 (free_all_edge_infos): Do not clear e->aux here.
9927 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
9929 * target.def (TARGET_C_EXCESS_PRECISION): Document
9930 -fexcess-precision=16.
9932 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
9934 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
9936 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
9939 * config/riscv/riscv.cc (riscv_excess_precision): Add support
9940 for EXCESS_PRECISION_TYPE_FLOAT16.
9942 2022-09-30 Jakub Jelinek <jakub@redhat.com>
9945 * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
9946 and _Float16 as DF16_.
9947 * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
9948 (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
9949 rather than mangling __fp16 as __fp16.
9951 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
9953 PR preprocessor/69543
9954 * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
9955 information away from the diagnostic location.
9956 (maybe_warn_read_write_only): Likewise.
9957 (maybe_warn_operand): Likewise.
9959 2022-09-30 Jakub Jelinek <jakub@redhat.com>
9962 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
9963 as Dh and _Float16 as DF16_.
9965 2022-09-30 Jakub Jelinek <jakub@redhat.com>
9968 * config/i386/i386.cc (ix86_mangle_type): Always return NULL
9969 for float128_type_node or float64x_type_node, don't check
9970 float128t_type_node later on.
9971 * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
9972 for float128_type_node or float64x_type_node.
9973 * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
9974 Don't check float128_type_node later on.
9975 * config/s390/s390.cc (s390_mangle_type): Don't use
9976 TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
9977 a few lines earlier.
9979 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
9980 Yvan ROUX <yvan.roux@foss.st.com>
9982 * doc/sourcebuild.texi: Document new vma_equals_lma effective
9985 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
9987 * config/riscv/riscv.cc (riscv_file_start): New .option.
9988 * config/riscv/riscv.opt: New options.
9989 * doc/invoke.texi: New definations.
9991 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
9995 * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
9996 documentation for PowerPC ELFv2 ABI dual entry points.
9997 * config/rs6000/rs6000-internal.h
9998 (rs6000_print_patchable_function_entry): New function declaration.
9999 * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
10000 Support patchable-function-entry by emitting nops before and after
10001 local entry for the function that needs global entry.
10002 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
10003 the function that needs global entry till global entry has been
10005 * config/rs6000/rs6000.h (struct machine_function): New bool member
10006 global_entry_emitted.
10008 2022-09-30 Richard Biener <rguenther@suse.de>
10010 PR tree-optimization/107095
10011 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
10012 for .MASK_STORE size.
10014 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10016 * range-op.cc (plus_minus_ranges): New.
10017 (adjust_op1_for_overflow): New.
10018 (operator_plus::op1_range): Use new adjustment.
10019 (operator_plus::op2_range): Ditto.
10020 (operator_minus::op1_range): Ditto.
10021 * value-relation.h (relation_lt_le_gt_ge_p): New.
10023 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10025 * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
10026 (gori_compute::compute_operand1_range): Invoke
10027 refine_using_relation when applicable.
10028 (gori_compute::compute_operand2_range): Ditto.
10029 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10031 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10033 * gimple-range-gori.cc (ori_compute::compute_operand_range):
10034 Create a relation record and pass it along when possible.
10035 (gori_compute::compute_operand1_range): Pass relation along.
10036 (gori_compute::compute_operand2_range): Ditto.
10037 (gori_compute::compute_operand1_and_operand2_range): Ditto.
10038 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10039 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
10040 relation to op1_range call.
10041 (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
10042 * gimple-range-op.h (class gimple_range_op_handler): Adjust
10045 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10047 * value-relation.cc (class value_relation): Move to .h file.
10048 (value_relation::set_relation): Ditto.
10049 (value_relation::value_relation): ditto.
10050 * value-relation.h (class value_relation): Move from .cc file.
10051 (value_relation::set_relation): Ditto
10052 (value_relation::value_relation): Ditto.
10054 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
10056 * range-op.cc (operator_minus::op2_range): Check for undefined.
10057 (operator_mult::op1_range): Ditto.
10058 (operator_exact_divide::op1_range): Ditto.
10059 (operator_lshift::op1_range): Ditto.
10060 (operator_rshift::op1_range): Ditto.
10061 (operator_cast::op1_range): Ditto.
10062 (operator_bitwise_and::op1_range): Ditto.
10063 (operator_bitwise_or::op1_range): Ditto.
10064 (operator_trunc_mod::op1_range): Ditto.
10065 (operator_trunc_mod::op2_range): Ditto.
10066 (operator_bitwise_not::op1_range): Ditto.
10067 (pointer_or_operator::op1_range): Ditto.
10068 (range_op_handler::op1_range): Ditto.
10069 (range_op_handler::op2_range): Ditto.
10071 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
10073 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
10074 Remove unused elt_bits variable.
10076 2022-09-29 Olivier Hainque <hainque@adacore.com>
10078 * config/vxworks.h: Add comment on our use of
10079 HAVE_INITFINI_ARRAY_SUPPORT.
10081 2022-09-29 Olivier Hainque <hainque@adacore.com>
10083 * config/aarch64/t-aarch64-vxworks: Request multilib
10084 variants for mcmodel=large.
10086 2022-09-29 Olivier Hainque <hainque@adacore.com>
10088 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
10091 2022-09-29 Olivier Hainque <hainque@adacore.com>
10093 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
10094 when ARM_UNWIND_INFO is set.
10096 2022-09-29 Julian Brown <julian@codesourcery.com>
10098 PR middle-end/107028
10099 * gimplify.cc (omp_check_mapping_compatibility,
10100 oacc_resolve_clause_dependencies): New functions.
10101 (omp_accumulate_sibling_list): Remove redundant duplicate clause
10102 detection for OpenACC.
10103 (build_struct_sibling_lists): Skip deleted groups. Don't build sibling
10104 list for struct variables that are fully mapped on the same directive
10106 (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
10108 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
10110 PR middle-end/25521
10111 * varasm.cc (categorize_decl_for_section): Place `const volatile'
10112 objects in read-only sections.
10113 (default_select_section): Likewise.
10115 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10117 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
10120 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10122 * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
10123 (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
10124 (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test.
10125 (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
10126 (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
10128 (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
10129 (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
10130 (TARGET_F32MM, TARGET_F64MM): Delete.
10131 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
10132 float macros with just TARGET_FLOAT rather than TARGET_FLOAT
10134 * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
10135 only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
10136 (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
10137 rather than TARGET_SIMD && TARGET_AES.
10138 (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
10139 (*aarch64_crypto_aese_fused): Likewise.
10140 (*aarch64_crypto_aesd_fused): Likewise.
10141 (aarch64_crypto_pmulldi): Likewise.
10142 (aarch64_crypto_pmullv2di): Likewise.
10143 (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
10144 (aarch64_crypto_sha1hv4si): Likewise.
10145 (aarch64_be_crypto_sha1hv4si): Likewise.
10146 (aarch64_crypto_sha1su1v4si): Likewise.
10147 (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
10148 (aarch64_crypto_sha1su0v4si): Likewise.
10149 (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
10150 (aarch64_crypto_sha256su0v4si): Likewise.
10151 (aarch64_crypto_sha256su1v4si): Likewise.
10152 (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
10153 (aarch64_crypto_sha512su0qv2di): Likewise.
10154 (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
10155 (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
10156 (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
10157 (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
10158 (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
10159 (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
10160 * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
10161 (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
10162 (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
10164 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10166 * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
10167 * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
10168 (aarch64_isa_flags): Redefine as read-only macros.
10169 (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
10170 !TARGET_GENERAL_REGS_ONLY.
10171 * common/config/aarch64/aarch64-common.cc
10172 (aarch64_set_asm_isa_flags): New function.
10173 (aarch64_handle_option): Call it when updating -mgeneral-regs.
10174 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
10175 m_old_isa_flags with m_old_asm_isa_flags.
10176 (aarch64_set_asm_isa_flags): Declare.
10177 * config/aarch64/aarch64-builtins.cc
10178 (aarch64_simd_switcher::aarch64_simd_switcher)
10179 (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
10180 aarch64_asm_isa_flags instead of aarch64_isa_flags.
10181 * config/aarch64/aarch64-sve-builtins.cc
10182 (check_required_extensions): Use aarch64_asm_isa_flags instead
10183 of aarch64_isa_flags.
10184 * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
10185 (aarch64_override_options, aarch64_handle_attr_arch)
10186 (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
10187 aarch64_set_asm_isa_flags to set the ISA flags.
10188 (aarch64_option_print, aarch64_declare_function_name)
10189 (aarch64_start_file): Use aarch64_asm_isa_flags instead
10190 of aarch64_isa_flags.
10191 (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
10194 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10196 * common/config/aarch64/aarch64-common.cc (all_extensions):
10197 Include the feature flag in flags_on and flags_off.
10198 (aarch64_parse_extension): Update accordingly.
10199 (aarch64_get_extension_string_for_isa_flags): Likewise.
10201 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10203 * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
10204 for feature flags throughout.
10205 * config/aarch64/aarch64-protos.h: Likewise.
10206 * config/aarch64/aarch64-sve-builtins.h: Likewise.
10207 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
10208 * config/aarch64/aarch64.cc: Likewise.
10209 * config/aarch64/aarch64.opt: Likewise.
10210 * config/aarch64/driver-aarch64.cc: Likewise.
10212 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10214 * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
10215 (processor_name_to_arch, arch_to_arch_name): Remove const from
10217 (all_extensions, all_cores, all_architectures): Make a constexpr.
10218 * config/aarch64/aarch64.cc (processor): Remove const from
10220 (all_architectures): Make a constexpr.
10221 * config/aarch64/driver-aarch64.cc (aarch64_core_data)
10222 (aarch64_arch_driver_info): Remove const from member variables.
10223 (aarch64_cpu_data, aarch64_arches): Make a constexpr.
10224 (get_arch_from_id): Return a pointer to const.
10225 (host_detect_local_cpu): Update accordingly.
10227 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10229 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
10230 (arch_to_arch_name): Use const char * instead of std::string.
10232 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10234 * common/config/aarch64/aarch64-common.cc
10235 (TARGET_OPTION_INIT_STRUCT): Delete.
10236 (aarch64_option_extension): Remove is_synthetic_flag.
10237 (all_extensions): Update accordingly.
10238 (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
10239 (aarch64_option_init_struct, aarch64_contains_opt): Delete.
10240 (aarch64_get_extension_string_for_isa_flags): Rewrite to use
10241 all_extensions instead of all_extensions_on.
10243 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10245 * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
10246 * config/aarch64/aarch64-cores.def: Use the same format to specify
10248 * config/aarch64/aarch64-arches.def: Likewise, moving that information
10250 * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
10251 * config/aarch64/aarch64.h (aarch64_feature): New class enum.
10252 Turn AARCH64_FL_* macros into constexprs, getting the definitions
10253 from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros.
10254 * common/config/aarch64/aarch64-common.cc: Include
10255 aarch64-feature-deps.h.
10256 (all_extensions): Update for new .def format.
10257 (all_extensions_by_on, all_cores, all_architectures): Likewise.
10258 * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
10259 (aarch64_extensions): Update for new .def format.
10260 (aarch64_cpu_data, aarch64_arches): Likewise.
10261 * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
10262 (all_architectures, all_cores): Update for new .def format.
10263 * config/aarch64/aarch64-sve-builtins.cc
10264 (check_required_extensions): Likewise.
10265 * config/aarch64/aarch64-feature-deps.h: New file.
10267 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10269 * config/aarch64/aarch64-option-extensions.def: Move crypto
10272 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10274 * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
10275 on fp as well as simd.
10277 (aes): Likewise. Make +noaes disable crypto.
10278 (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and
10280 (sve2-sha3): Depend on sha2 as well as sha3.
10282 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10285 * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
10286 (AARCH64_FL_FOR_V8_4A): Update accordingly.
10287 (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
10288 * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
10289 AARCH64_FL_RCPC8_4.
10291 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10293 * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
10294 from the flags field.
10295 * common/config/aarch64/aarch64-common.cc (all_cores): Add it
10297 * config/aarch64/aarch64.cc (all_cores): Likewise.
10298 * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
10300 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10302 * config.gcc: Remove dead aarch64-option-extensions.def code.
10303 * config/aarch64/aarch64-arches.def: Update comment.
10305 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10307 * config/aarch64/aarch64-arches.def: Add a leading "V" to the
10309 * config/aarch64/aarch64-cores.def: Update accordingly.
10310 * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
10311 * config/aarch64/aarch64.cc (all_cores): Likewise.
10312 * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
10315 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10317 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
10318 (AARCH64_FL_FOR_V8A): ...this.
10319 (AARCH64_FL_FOR_ARCH8_1): Rename to...
10320 (AARCH64_FL_FOR_V8_1A): ...this.
10321 (AARCH64_FL_FOR_ARCH8_2): Rename to...
10322 (AARCH64_FL_FOR_V8_2A): ...this.
10323 (AARCH64_FL_FOR_ARCH8_3): Rename to...
10324 (AARCH64_FL_FOR_V8_3A): ...this.
10325 (AARCH64_FL_FOR_ARCH8_4): Rename to...
10326 (AARCH64_FL_FOR_V8_4A): ...this.
10327 (AARCH64_FL_FOR_ARCH8_5): Rename to...
10328 (AARCH64_FL_FOR_V8_5A): ...this.
10329 (AARCH64_FL_FOR_ARCH8_6): Rename to...
10330 (AARCH64_FL_FOR_V8_6A): ...this.
10331 (AARCH64_FL_FOR_ARCH8_7): Rename to...
10332 (AARCH64_FL_FOR_V8_7A): ...this.
10333 (AARCH64_FL_FOR_ARCH8_8): Rename to...
10334 (AARCH64_FL_FOR_V8_8A): ...this.
10335 (AARCH64_FL_FOR_ARCH8_R): Rename to...
10336 (AARCH64_FL_FOR_V8R): ...this.
10337 (AARCH64_FL_FOR_ARCH9): Rename to...
10338 (AARCH64_FL_FOR_V9A): ...this.
10339 (AARCH64_FL_FOR_ARCH9_1): Rename to...
10340 (AARCH64_FL_FOR_V9_1A): ...this.
10341 (AARCH64_FL_FOR_ARCH9_2): Rename to...
10342 (AARCH64_FL_FOR_V9_2A): ...this.
10343 (AARCH64_FL_FOR_ARCH9_3): Rename to...
10344 (AARCH64_FL_FOR_V9_3A): ...this.
10345 * common/config/aarch64/aarch64-common.cc (all_cores): Update
10347 * config/aarch64/aarch64-arches.def: Likewise.
10348 * config/aarch64/aarch64-cores.def: Likewise.
10349 * config/aarch64/aarch64.cc (all_cores): Likewise.
10351 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10353 * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
10354 (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
10355 (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
10356 (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
10357 (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
10358 (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
10359 (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
10360 (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
10361 (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
10362 (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
10363 (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
10364 (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
10365 (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
10366 (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
10367 (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
10369 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10371 * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
10372 (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
10373 (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
10374 (AARCH64_ISA_V9_3): Add "A" to the end of the name.
10375 (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
10376 (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
10378 * common/config/aarch64/aarch64-common.cc
10379 (aarch64_get_extension_string_for_isa_flags): Likewise.
10380 * config/aarch64/aarch64-c.cc
10381 (aarch64_define_unconditional_macros): Likewise.
10383 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
10385 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
10387 2022-09-29 Jakub Jelinek <jakub@redhat.com>
10389 PR bootstrap/107059
10390 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
10391 isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
10392 before FIXED_INCLUDE_DIR entry with multilib flag 0.
10393 * gcc.cc (do_spec_1): If multiarch_dir, add
10394 include-fixed/multiarch_dir paths before include-fixed paths.
10396 2022-09-29 Martin Liska <mliska@suse.cz>
10399 * common.opt: Add -gz=zstd value.
10400 * configure.ac: Detect --compress-debug-sections=zstd
10401 for both linker and assembler.
10402 * configure: Regenerate.
10403 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
10404 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
10406 2022-09-29 Richard Biener <rguenther@suse.de>
10408 PR tree-optimization/105646
10409 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
10410 the set of fallthru reachable blocks from function entry
10411 and use that to determine wlims.always_executed.
10413 2022-09-29 liuhongt <hongtao.liu@intel.com>
10415 PR tree-optimization/107055
10416 * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
10417 nonlinear induction variables.
10418 * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
10420 (vectorizable_nonlinear_induction): Put part codes into
10421 vect_can_peel_nonlinear_iv_p.
10422 * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
10424 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
10426 * basic-block.h: Remove discriminator from basic blocks.
10427 * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
10428 * final.cc (final_start_function_1): Switch from per-bb to per statement
10430 (final_scan_insn_1): Don't keep track of basic block discriminators.
10431 (compute_discriminator): Switch from basic block discriminators to
10432 instruction discriminators.
10433 (insn_discriminator): New function to return instruction discriminator.
10434 (notice_source_line): Use insn_discriminator.
10435 * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
10436 basic block discriminators.
10437 * gimple-streamer-in.cc (input_bb): Remove reading of basic block
10439 * gimple-streamer-out.cc (output_bb): Remove writing of basic block
10441 * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
10442 (location_with_discriminator): New function to combine locus with
10444 (has_discriminator): New function to check if a location has a discriminator.
10445 (get_discriminator_from_loc): New function to get the discriminator
10447 * input.h: Declarations of new functions.
10448 * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
10449 (apply_location_cache): Keep track of current discriminator.
10450 (input_location_and_block): Read discriminator from stream.
10451 * lto-streamer-out.cc (clear_line_info): Set current discriminator to
10453 (lto_output_location_1): Write discriminator to stream.
10454 * lto-streamer.h: Add discriminator to cached_location.
10455 Add current_discr to lto_location_cache.
10456 Add current_discr to output_block.
10457 * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
10458 * rtl.h: Add extern declaration of insn_discriminator.
10459 * tree-cfg.cc (assign_discriminator): New function to assign a unique
10460 discriminator value to all statements in a basic block that have the given
10462 (assign_discriminators): Assign discriminators to statement locations.
10463 * tree-pretty-print.cc (dump_location): Dump discriminators.
10464 * tree.cc (set_block): Preserve discriminator when setting block.
10465 (set_source_range): Preserve discriminator when setting source range.
10467 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
10470 * config/i386/predicates.md (encodekey128_operation): Check
10471 XMM4-XMM6 as clobbered.
10472 (encodekey256_operation): Likewise.
10473 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
10474 (encodekey256u32): Likewise.
10476 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10478 * config.gcc: Add riscv-vector-builtins.o.
10479 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
10480 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
10481 * config/riscv/riscv.cc (ENTRY): New macro.
10482 (riscv_v_ext_enabled_vector_mode_p): New function.
10483 (riscv_mangle_type): Add RVV mangle.
10484 (riscv_vector_mode_supported_p): Adjust RVV machine mode.
10485 (riscv_verify_type_context): Add context check for RVV.
10486 (riscv_vector_alignment): Add RVV alignment target hook support.
10487 (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
10488 (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
10489 (TARGET_VECTOR_ALIGNMENT): Ditto.
10490 * config/riscv/t-riscv: Add riscv-vector-builtins.o
10491 * config/riscv/riscv-vector-builtins.cc: New file.
10492 * config/riscv/riscv-vector-builtins.def: New file.
10493 * config/riscv/riscv-vector-builtins.h: New file.
10494 * config/riscv/riscv-vector-switch.def: New file.
10496 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
10498 * var-tracking.cc (vt_add_function_parameter): Add entry values
10499 up to maximal register mode.
10501 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
10503 * cselib.cc (new_cselib_val): Keep track of further subvalue
10506 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
10508 * config/arm/arm-c.cc (arm_cpu_builtins): Define
10509 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
10511 2022-09-28 Xi Ruoyao <xry111@xry111.site>
10513 PR tree-optimization/105414
10514 * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
10515 (UNSPEC_FMIN): Likewise.
10516 (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
10517 (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
10519 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
10521 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
10522 Fixed typo in "asan_mapping.h".
10524 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
10526 PR middle-end/58245
10527 * calls.cc: Include "tree-eh.h".
10528 (expand_call): Check stack canary before throwing exception.
10530 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
10532 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
10534 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
10536 * doc/invoke.texi: Update ABI version info.
10538 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
10540 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
10543 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
10545 * value-range.cc (irange::set_nonzero_bits): Set range when known.
10547 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
10549 * value-range.h (irange::set): New version taking wide_int_ref.
10551 2022-09-27 Jakub Jelinek <jakub@redhat.com>
10553 PR tree-optimization/107029
10554 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
10555 OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
10556 signed and so can trigger even the (b % 4) == 3 case.
10558 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
10560 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
10561 and return are available before trying to use them.
10563 2022-09-27 Jakub Jelinek <jakub@redhat.com>
10567 * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
10569 * tree.h (float128t_type_node): Define.
10570 * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
10571 * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
10572 _Float<N> is supported in C++ too.
10573 * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
10574 float128t_type_node.
10575 * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
10576 float128t_type_node for __float128 instead of float128_type_node
10577 and create it if NULL.
10578 * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
10579 _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
10581 * config/ia64/ia64.cc (ia64_init_builtins): Use
10582 float128t_type_node for __float128 instead of float128_type_node
10583 and create it if NULL.
10584 * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
10585 for float128t_type_node if non-NULL.
10586 * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
10587 float128_type_node as "u9__ieee128".
10588 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
10589 float128t_type_node for __float128 instead of float128_type_node
10590 and create it if NULL.
10592 2022-09-26 Martin Liska <mliska@suse.cz>
10594 * doc/invoke.texi: Add missing dash for
10595 Wanalyzer-exposure-through-uninit-copy.
10597 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
10599 PR tree-optimization/107009
10600 * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
10601 (range_op_bitwise_and_tests): New test.
10603 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
10605 PR tree-optimization/107009
10607 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
10608 Iterate over exports.
10610 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10612 * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
10614 * config/nvptx/gen-multilib-matches.sh: New.
10615 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
10616 (MULTILIB_EXCEPTIONS): Handle this.
10617 * doc/install.texi (Specific) <nvptx-*-none>: Document this.
10618 * doc/invoke.texi (Nvidia PTX Options): Likewise.
10620 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10622 * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
10623 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
10624 (MULTILIB_EXCEPTIONS): Handle it.
10626 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10628 * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
10629 * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
10631 * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
10632 * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
10634 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
10636 * config/nvptx/nvptx.h (ASM_SPEC): Define.
10638 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
10640 * cfgcleanup.cc (bb_is_just_return): No longer static.
10641 * cfgcleanup.h (bb_is_just_return): Add prototype.
10642 * cfgrtl.cc (fixup_reorder_chain): Do not create an
10643 unconditional jump to a return block. Conditionally
10644 remove unreachable blocks.
10646 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
10648 PR middle-end/106982
10649 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
10651 2022-09-26 Martin Liska <mliska@suse.cz>
10653 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
10656 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10658 * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
10659 (armv9.2-a): Likewise.
10660 (armv9.3-a): Likewise.
10661 * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
10662 (AARCH64_FL_V9_2): Likewise.
10663 (AARCH64_FL_V9_3): Likewise.
10664 (AARCH64_FL_FOR_ARCH9_1): Likewise.
10665 (AARCH64_FL_FOR_ARCH9_2): Likewise.
10666 (AARCH64_FL_FOR_ARCH9_3): Likewise.
10667 (AARCH64_ISA_V9_1): Likewise.
10668 (AARCH64_ISA_V9_2): Likewise.
10669 (AARCH64_ISA_V9_3): Likewise.
10670 * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
10671 armv9.3-a values to -march.
10673 2022-09-26 Martin Liska <mliska@suse.cz>
10675 * value-range.cc (tree_compare): Remove unused function.
10677 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
10680 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
10681 condition for adding REG_CFA_DEF_CFA reg note with
10682 frame_pointer_needed_indeed.
10684 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
10687 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
10688 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
10690 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
10691 Liwei Xu <liwei.xu@intel.com>
10694 * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
10696 (ix86_expand_vec_perm_const_1): Insert
10697 expand_vec_perm_shufps_shufps at the end of 2-instruction
10700 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
10702 * doc/sourcebuild.texi: Fix chapter level.
10704 2022-09-24 Jakub Jelinek <jakub@redhat.com>
10707 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
10709 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
10710 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
10712 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
10713 cur_region back after new_omp_region.
10715 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
10717 * config/riscv/riscv.h (LOCAL_SYM_P): New.
10718 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
10720 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
10722 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
10723 (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
10724 (ADJUST_ALIGNMENT): Adjust alignment.
10725 (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
10726 (RVV_MODES): New macro.
10727 (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
10728 (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
10730 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
10732 * common/config/riscv/riscv-common.cc: Change "static void" to "void".
10733 * config.gcc: Add riscv-selftests.o
10734 * config/riscv/predicates.md: Allow const_poly_int.
10735 * config/riscv/riscv-protos.h (riscv_reinit): New function.
10736 (riscv_parse_arch_string): change as exten function.
10737 (riscv_run_selftests): New function.
10738 * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
10740 (riscv_report_v_required): New function.
10741 (riscv_expand_op): New function.
10742 (riscv_expand_mult_with_const_int): New function.
10743 (riscv_legitimize_poly_move): Ditto.
10744 (riscv_legitimize_move): New function.
10745 (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
10747 (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
10749 (riscv_reinit): New function.
10750 (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
10751 * config/riscv/t-riscv: Add riscv-selftests.o.
10752 * config/riscv/riscv-selftests.cc: New file.
10754 2022-09-23 Richard Biener <rguenther@suse.de>
10756 PR tree-optimization/106922
10757 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
10758 an arbitrary number of same valued skipped stores.
10760 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10762 * value-range.cc (frange::set): Swap setters such that the one
10763 accepting REAL_VALUE_TYPE does all the work.
10765 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10767 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
10768 (demeter): Update tunings to neoversev2.
10769 * config/aarch64/aarch64-tune.md: Regenerate.
10770 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
10771 neoversev2_addrcost_table.
10772 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
10773 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
10774 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
10775 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
10776 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
10777 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
10778 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
10779 Update references to above.
10780 (demeter_vector_cost): Rename to neoversev2_vector_cost.
10781 (demeter_tunings): Rename to neoversev2_tunings.
10782 (aarch64_vec_op_count::rename_cycles_per_iter): Use
10783 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
10784 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
10786 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10788 * range-op-float.cc (build_le): Use vrp_val_*.
10792 * value-range.cc (frange::set): Chop ranges outside of the
10793 representable numbers for -ffinite-math-only.
10794 (frange::normalize_kind): Use vrp_val*.
10795 (frange::verify_range): Same.
10796 (frange::set_nonnegative): Same.
10797 (range_tests_floats): Remove tests that depend on -INF and +INF.
10798 * value-range.h (real_max_representable): Add prototype.
10799 (real_min_representable): Same.
10800 (vrp_val_max): Set max representable number for
10801 -ffinite-math-only.
10802 (vrp_val_min): Same but for min.
10803 (frange::set_varying): Use vrp_val*.
10805 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10807 * real.cc (debug): New.
10809 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
10811 * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
10812 (vrange_printer::visit): Call print_real_value.
10813 * value-range-pretty-print.h: New print_real_value.
10815 2022-09-23 Martin Liska <mliska@suse.cz>
10817 * common.opt: Update -flto-compression-level documentation.
10818 * opts.cc (print_filtered_help): Do not append range to an
10819 option that uses \t syntax.
10821 2022-09-23 Jakub Jelinek <jakub@redhat.com>
10823 * attribs.cc (decl_attributes): Improve diagnostics, instead of
10824 saying expected between 1 and 1, found 2 just say expected 1, found 2.
10826 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
10829 * config/i386/constraints.md (BH): New define_constraint.
10830 * config/i386/i386.cc (standard_sse_constant_p): Add return
10831 3/4 when operand matches new predicate.
10832 (standard_sse_constant_opcode): Add new alternative branch to
10834 * config/i386/predicates.md
10835 (vector_all_ones_zero_extend_half_operand): New define_predicate.
10836 (vector_all_ones_zero_extend_quarter_operand): Ditto.
10837 * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
10839 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10841 * gimple-range-fold.cc (range_of_range_op): Handle no operands.
10842 (range_of_call): Do not check for builtins.
10843 (fold_using_range::range_of_builtin_call): Delete.
10844 (fold_using_range::range_of_builtin_int_call): Delete.
10845 * gimple-range-fold.h: Adjust prototypes.
10846 * gimple-range-op.cc (class cfn_parity): New.
10847 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10849 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10851 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10852 for CFN_GOACC_DIM_*.
10853 * gimple-range-op.cc (class cfn_goacc_dim): New.
10854 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10856 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10858 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10859 for CFN_BUILT_IN_STRLEN.
10860 * gimple-range-op.cc (class cfn_strlen): New.
10861 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10863 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10865 * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
10866 (range_of_builtin_int_call): Remove cases for
10867 CFN_BUILT_IN_UBSAN_CHECK.
10868 * gimple-range-op.cc (class cfn_ubsan): New.
10869 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10871 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10873 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10874 for CFN_BUILT_IN_CLRSB.
10875 * gimple-range-op.cc (class cfn_clrsb): New.
10876 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10878 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10880 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10882 * gimple-range-op.cc (class cfn_ctz): New.
10883 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10885 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10887 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10889 * gimple-range-op.cc (class cfn_clz): New.
10890 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10892 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10894 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10895 for CFN_FFS and CFN_POPCOUNT.
10896 * gimple-range-op.cc (class cfn_pocount): New.
10897 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10899 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10901 * gimple-range-fold.cc (get_letter_range): Move to new class.
10902 (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
10903 and CFN_BUILT_IN_TOLOWER.
10904 * gimple-range-op.cc (class cfn_toupper_tolower): New.
10905 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10907 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10909 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
10910 for CFN_BUILT_IN_SIGNBIT.
10911 * gimple-range-op.cc (class cfn_signbit): New.
10912 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
10914 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10916 * gimple-range-fold.cc
10917 (fold_using_range::range_of_builtin_int_call): Remove case for
10918 CFN_BUILT_IN_CONSTANT_P.
10919 * gimple-range-op.cc (gimple_range_op_handler::supported_p):
10920 Check if a call also creates a range-op object.
10921 (gimple_range_op_handler): Also check builtin calls.
10922 (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P.
10923 (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P.
10924 (gimple_range_op_handler::maybe_builtin_call): Set arguments and
10925 handler for supported built-in calls.
10926 * gimple-range-op.h (maybe_builtin_call): New prototype.
10928 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10930 * gimple-range-fold.cc (range_of_range_op): Set result to
10931 VARYING if the call to fold_range fails.
10932 * tree-data-ref.cc (compute_distributive_range): Ditto.
10933 * tree-vrp.cc (range_fold_binary_expr): Ditto.
10934 (range_fold_unary_expr): Ditto.
10935 * value-query.cc (range_query::get_tree_range): Ditto.
10937 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10939 * range-op-float.cc (range_operator_float::fold_range): New base
10940 method for "int = float op int".
10941 * range-op.cc (range_op_handler::fold_range): New case.
10942 * range-op.h: Update prototypes.
10944 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10946 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
10947 operand 1 for second range if there is no operand 2.
10949 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10951 * Makefile.in (OBJS): Add gimple-range-op.o.
10952 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
10953 gimple_range_op_handler.
10954 * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
10955 to a method in gimple_range_op_handler.
10956 (gimple_range_operand1): Ditto.
10957 (gimple_range_operand2): Ditto.
10958 (fold_using_range::fold_stmt): Use gimple_range_op_handler.
10959 (fold_using_range::range_of_range_op): Ditto.
10960 (fold_using_range::relation_fold_and_or): Ditto.
10961 (fur_source::register_outgoing_edges): Ditto.
10962 (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
10963 * gimple-range-fold.h: Adjust prototypes.
10964 * gimple-range-gori.cc (gimple_range_calc_op1): Move
10965 to a method in gimple_range_op_handler.
10966 (gimple_range_calc_op2): Ditto.
10967 (gori_compute::compute_operand_range): Use
10968 gimple_range_op_handler.
10969 (gori_compute::compute_logical_operands): Ditto.
10970 (compute_operand1_range): Ditto.
10971 (gori_compute::compute_operand2_range): Ditto.
10972 (gori_compute::compute_operand1_and_operand2_range): Ditto.
10973 * gimple-range-gori.h: Adjust protoypes.
10974 * gimple-range-op.cc: New. Supply gimple_range_op_handler methods.
10975 * gimple-range-op.h: New. Supply gimple_range_op_handler class.
10976 * gimple-range.cc (gimple_ranger::prefill_name): Use
10977 gimple_range_op_handler.
10978 (gimple_ranger::prefill_stmt_dependencies): Ditto.
10979 * gimple-range.h: Include gimple-range-op.h.
10980 * range-op.cc (range_op_handler::range_op_handler): Adjust and
10981 remove gimple * parameter option.
10982 * range-op.h: Adjust prototypes.
10984 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
10986 * range-op.cc (range_op_handler::set_op_handler): Set new fields.
10987 (ange_op_handler::range_op_handler): Likewise.
10988 (range_op_handler::operator bool): Remove.
10989 (range_op_handler::fold_range): Use appropriate handler.
10990 (range_op_handler::op1_range): Likewise.
10991 (range_op_handler::op2_range): Likewise.
10992 (range_op_handler::lhs_op1_relation): Likewise.
10993 (range_op_handler::lhs_op2_relation): Likewise.
10994 (range_op_handler::op1_op2_relation): Likewise.
10995 * range-op.h (class range_op_handler): Store handler pointers.
10996 (range_op_handler:: operator bool): Inline.
10998 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
11000 * tree-ssa-threadbackward.cc
11001 (back_threader::find_paths_to_names): Replace sequence with
11002 a call to gimple_range_ssa_names.
11004 2022-09-22 Martin Liska <mliska@suse.cz>
11005 Fangrui Song <i@maskray.me>
11007 * configure: Regenerate.
11008 * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
11009 and gcc_cv_as_compress_debug={0,1}.
11010 * doc/invoke.texi: Document the removal.
11011 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
11013 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
11015 2022-09-22 Richard Biener <rguenther@suse.de>
11017 PR tree-optimization/106922
11018 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
11019 (vn_walk_cb_data::finish): Perform delayed verification of
11020 a skipped may-alias.
11021 (vn_reference_lookup_pieces): Likewise.
11022 (vn_reference_lookup): Likewise.
11023 (vn_reference_lookup_3): When skipping stores of the same
11024 value also handle constant stores that are more than a
11025 single VDEF away by delaying the verification.
11027 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
11029 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
11032 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
11034 * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
11035 (xtensa_output_mi_thunk): New functions.
11036 (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
11037 (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
11038 (xtensa_prepare_expand_call): Use fixed register a8 as temporary
11039 when called with reload_completed set to 1.
11041 2022-09-22 Richard Biener <rguenther@suse.de>
11043 PR tree-optimization/99407
11044 * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
11045 (dse_classify_store): Use data-ref analysis to disambiguate more uses.
11046 (pass_dse::use_dr_analysis_p): New pass parameter.
11047 (pass_dse::set_pass_param): Implement.
11048 (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
11049 * passes.def: Allow DR analysis for the DSE pass before loop.
11051 2022-09-22 Richard Biener <rguenther@suse.de>
11053 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
11054 function split out from ...
11055 (vn_nary_op_insert_pieces_predicated): ... here.
11057 2022-09-22 liuhongt <hongtao.liu@intel.com>
11060 * config/i386/mmx.md (floorv2sf2): Fix typo, use
11061 register_operand instead of vector_operand for operands[1].
11063 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
11065 PR tree-optimization/106967
11066 * value-range.cc (frange::set): Set known NANs to undefined for
11067 flag_finite_math_only.
11069 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
11071 * value-range.cc (frange::combine_zeros): Call set_undefined.
11072 (frange::intersect_nans): Same.
11073 (frange::intersect): Same.
11074 (frange::verify_range): Undefined ranges do not have a type.
11075 * value-range.h (frange::set_undefined): Clear NAN flags and type.
11077 2022-09-21 Richard Biener <rguenther@suse.de>
11079 PR tree-optimization/106984
11080 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
11081 a separate statement.
11083 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11085 * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
11086 EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
11087 OPTION_DEFAULT_SPECS.
11088 (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
11089 local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
11091 (CONFIG_TUNE_SPEC): Define.
11092 (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
11094 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
11096 PR tree-optimization/106967
11097 * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
11098 (foperator_equal::op1_range): Same.
11099 (foperator_not_equal::fold_range): Same.
11100 (foperator_not_equal::op1_range): Same.
11101 (foperator_lt::fold_range): Same.
11102 (foperator_lt::op1_range): Same.
11103 (foperator_lt::op2_range): Same.
11104 (foperator_le::fold_range): Same.
11105 (foperator_le::op1_range): Same.
11106 (foperator_le::op2_range): Same.
11107 (foperator_gt::fold_range): Same.
11108 (foperator_gt::op1_range): Same.
11109 (foperator_gt::op2_range): Same.
11110 (foperator_ge::fold_range): Same.
11111 (foperator_ge::op1_range): Same.
11112 (foperator_ge::op2_range): Same.
11113 (foperator_unordered::op1_range): Same.
11114 (foperator_ordered::fold_range): Same.
11115 (foperator_ordered::op1_range): Same.
11116 (build_le): Assert that we don't have a NAN.
11121 2022-09-21 liuhongt <hongtao.liu@intel.com>
11123 PR tree-optimization/106963
11124 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
11125 vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
11127 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
11129 * value-range.h (frange::maybe_isnan): Return false for
11132 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
11134 * value-range.cc (frange::set_nonnegative): Set +NAN.
11135 (range_tests_signed_zeros): New test.
11136 * value-range.h (frange::update_nan): New overload to set NAN sign.
11138 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
11141 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
11142 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
11143 markup to (new) extern declarations instead of to the main
11146 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
11148 PR tree-optimization/106794
11149 PR tree-optimization/106914
11150 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
11151 Only consider loads that already have a permutation.
11152 (vect_optimize_slp_pass::start_choosing_layouts): Assert that
11153 loads with permutations are leaf nodes. Prevent any kind of grouped
11154 access from changing layout if it doesn't have a load permutation.
11156 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
11158 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
11159 early-out optimisation to SSA_NAMEs.
11161 2022-09-20 Martin Liska <mliska@suse.cz>
11163 * ctfc.cc (ctf_add_string): Replace "the the" with "the".
11164 * doc/md.texi: Likewise.
11165 * gimple-range-infer.cc (non_null_loadstore): Likewise.
11167 2022-09-20 liuhongt <hongtao.liu@intel.com>
11170 * config/i386/mmx.md (nearbyintv2sf2): New expander.
11171 (rintv2sf2): Ditto.
11172 (ceilv2sf2): Ditto.
11173 (lceilv2sfv2si2): Ditto.
11174 (floorv2sf2): Ditto.
11175 (lfloorv2sfv2si2): Ditto.
11176 (btruncv2sf2): Ditto.
11177 (lrintv2sfv2si2): Ditto.
11178 (roundv2sf2): Ditto.
11179 (lroundv2sfv2si2): Ditto.
11180 (*mmx_roundv2sf2): New define_insn.
11182 2022-09-20 konglin1 <lingling.kong@intel.com>
11184 PR middle-end/105735
11185 * tree-scalar-evolution.cc
11186 (analyze_and_compute_bitop_with_inv_effect): New function.
11187 (final_value_replacement_loop): Enhanced to handle bitop
11188 with inv induction.
11190 2022-09-20 Xi Ruoyao <xry111@xry111.site>
11192 * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
11193 -static-pie, pass -static -pie --no-dynamic-linker -z text to
11194 the linker, and do not pass --dynamic-linker.
11196 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
11198 * value-range.cc (frange::flush_denormals_to_zero): New.
11199 (frange::set): Call flush_denormals_to_zero.
11200 * value-range.h (class frange): Add flush_denormals_to_zero.
11202 2022-09-20 liuhongt <hongtao.liu@intel.com>
11204 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
11205 latest Intel processors.
11207 2022-09-20 konglin1 <lingling.kong@intel.com>
11210 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
11211 Fixed V16BF mode case.
11213 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
11215 * targhooks.cc (default_zero_call_used_regs): Improve sorry
11218 2022-09-18 Julian Brown <julian@codesourcery.com>
11220 * gimplify.cc (omp_segregate_mapping_groups): Update comment.
11221 (gimplify_adjust_omp_clauses): Move ATTACH and
11222 ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
11223 for offloaded OpenMP regions.
11225 2022-09-18 Jakub Jelinek <jakub@redhat.com>
11227 PR middle-end/106831
11228 * value-range.cc (frange::singleton_p): Avoid propagating long
11229 doubles that may have multiple representations.
11231 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
11233 * range-op-float.cc (frange_add_zeros): Replace set_signbit with
11235 * value-query.cc (range_query::get_tree_range): Remove set_signbit
11237 * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
11239 (vrange_printer::print_frange_nan): New.
11240 * value-range-pretty-print.h (print_frange_prop): Remove.
11241 (print_frange_nan): New.
11242 * value-range-storage.cc (frange_storage_slot::set_frange): Set
11243 kind and NAN fields.
11244 (frange_storage_slot::get_frange): Restore kind and NAN fields.
11245 * value-range-storage.h (class frange_storage_slot): Add kind and
11247 * value-range.cc (frange::update_nan): Remove.
11248 (frange::set_signbit): Remove.
11249 (frange::set): Adjust for NAN fields.
11250 (frange::normalize_kind): Remove m_props.
11251 (frange::combine_zeros): New.
11252 (frange::union_nans): New.
11253 (frange::union_): Handle new NAN fields.
11254 (frange::intersect_nans): New.
11255 (frange::intersect): Handle new NAN fields.
11256 (frange::operator=): Same.
11257 (frange::operator==): Same.
11258 (frange::contains_p): Same.
11259 (frange::singleton_p): Remove special case for signed zeros.
11260 (frange::verify_range): Adjust for new NAN fields.
11261 (frange::set_zero): Handle signed zeros.
11262 (frange::set_nonnegative): Same.
11263 (range_tests_nan): Adjust tests.
11264 (range_tests_signed_zeros): Same.
11265 (range_tests_signbit): Same.
11266 (range_tests_floats): Same.
11267 * value-range.h (class fp_prop): Remove.
11268 (FP_PROP_ACCESSOR): Remove.
11269 (class frange_props): Remove
11270 (frange::lower_bound): NANs don't have endpoints.
11271 (frange::upper_bound): Same.
11272 (frange_props::operator==): Remove.
11273 (frange_props::union_): Remove.
11274 (frange_props::intersect): Remove.
11275 (frange::update_nan): New.
11276 (frange::clear_nan): New.
11277 (frange::undefined_p): New.
11278 (frange::set_nan): New.
11279 (frange::known_finite): Adjust for new NAN representation.
11280 (frange::maybe_isnan): Same.
11281 (frange::known_isnan): Same.
11282 (frange::signbit_p): Same.
11283 * gimple-range-fold.cc (range_of_builtin_int_call): Rename
11284 known_signbit_p into signbit_p.
11286 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11288 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
11289 to prevent warning.
11291 2022-09-17 Jakub Jelinek <jakub@redhat.com>
11293 PR tree-optimization/106958
11294 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
11295 id >= l, cast op to type1, otherwise to pointer_sized_int_node.
11296 If type has pointer type, cast exp to pointer_sized_int_node
11299 2022-09-16 liuhongt <hongtao.liu@intel.com>
11302 * config/i386/i386-builtins.cc
11303 (ix86_builtin_vectorized_function): Modernized with
11304 corresponding expanders.
11305 * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
11307 (floor<mode>2): Ditto.
11308 (lfloor<mode><sseintvecmodelower>2): Ditto.
11309 (ceil<mode>2): Ditto.
11310 (lceil<mode><sseintvecmodelower>2): Ditto.
11311 (btrunc<mode>2): Ditto.
11312 (lround<mode><sseintvecmodelower>2): Ditto.
11313 (exp2<mode>2): Ditto.
11315 2022-09-15 Joseph Myers <joseph@codesourcery.com>
11317 * ginclude/float.h (INFINITY): Define only if
11318 [__FLT_HAS_INFINITY__].
11320 2022-09-15 Richard Biener <rguenther@suse.de>
11322 PR tree-optimization/106922
11323 * tree-ssa-pre.cc (translate_vuse_through_block): Only
11324 keep the VUSE if its def dominates PHIBLOCK.
11325 (prune_clobbered_mems): Rewrite logic so we check whether
11326 a value dies in a block when the VUSE def doesn't dominate it.
11328 2022-09-15 Richard Biener <rguenther@suse.de>
11330 * tree.cc (build_common_tree_nodes): Initialize void_list_node
11333 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
11336 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
11338 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11340 * range-op-float.cc (frange_add_zeros): New.
11341 (build_le): Call frange_add_zeros.
11343 (foperator_equal::op1_range): Same.
11344 (foperator_not_equal::op1_range): Same.
11346 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11348 * range-op-float.cc (build_le): Accept frange instead of number.
11352 (foperator_lt::op1_range): Pass full range to build_*.
11353 (foperator_lt::op2_range): Same.
11354 (foperator_le::op1_range): Same.
11355 (foperator_le::op2_range): Same.
11356 (foperator_gt::op1_range): Same.
11357 (foperator_gt::op2_range): Same.
11358 (foperator_ge::op1_range): Same.
11359 (foperator_ge::op2_range): Same.
11361 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11363 * value-range.cc (frange::set): Use set_nan.
11364 * value-range.h (frange::set_nan): Inline code originally in
11367 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11369 * range-op-float.cc (frange_set_nan): Remove.
11370 (build_lt): Use set_nan, update_nan, clear_nan.
11372 (foperator_equal::op1_range): Same.
11373 (foperator_not_equal::op1_range): Same.
11374 (foperator_lt::op1_range): Same.
11375 (foperator_lt::op2_range): Same.
11376 (foperator_le::op1_range): Same.
11377 (foperator_le::op2_range): Same.
11378 (foperator_gt::op1_range): Same.
11379 (foperator_gt::op2_range): Same.
11380 (foperator_ge::op1_range): Same.
11381 (foperator_ge::op2_range): Same.
11382 (foperator_unordered::op1_range): Same.
11383 (foperator_ordered::op1_range): Same.
11384 * value-query.cc (range_query::get_tree_range): Same.
11385 * value-range.cc (frange::set_nan): Same.
11386 (frange::update_nan): Same.
11387 (frange::union_): Same.
11388 (frange::intersect): Same.
11389 (range_tests_nan): Same.
11390 (range_tests_signed_zeros): Same.
11391 (range_tests_signbit): Same.
11392 (range_tests_floats): Same.
11393 * value-range.h (class frange): Add update_nan and clear_nan.
11394 (frange::set_nan): New.
11396 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11398 * value-query.cc (range_query::get_tree_range): Remove check for overflow.
11399 * value-range-pretty-print.cc (vrange_printer::visit): Move read
11400 of type until after undefined_p is checked.
11401 * value-range.cc (frange::set): Remove asserts for REAL_CST.
11402 (frange::contains_p): Tidy up.
11403 (range_tests_nan): Add comment.
11404 * value-range.h (frange::type): Check for undefined_p.
11405 (frange::set_undefined): Remove set of endpoints.
11407 2022-09-14 Julian Brown <julian@codesourcery.com>
11409 * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
11410 GOMP_MAP_STRUCT (for reindexing).
11411 (omp_gather_mapping_groups): Reimplement using...
11412 (omp_gather_mapping_groups_1): This new function. Stop processing at
11414 (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
11415 (omp_index_mapping_groups): Reimplement using...
11416 (omp_index_mapping_groups_1): This new function. Handle
11418 (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
11420 (omp_tsort_mapping_groups_1): Adjust handling of base group being the
11421 same as current group. Use omp_mapped_by_containing_struct.
11422 (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
11423 and omp_reindex_mapping_groups. Robustify group deletion for reordered
11425 (gimplify_scan_omp_clauses): Update calls to
11426 omp_build_struct_sibling_lists.
11428 2022-09-14 Julian Brown <julian@codesourcery.com>
11430 * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
11431 (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
11432 (insert_struct_comp_map): Refactor function into...
11433 (build_omp_struct_comp_nodes): This new function. Remove list handling
11434 and improve self-documentation.
11435 (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move
11436 code to strip outer parts of address out of function, but strip no-op
11438 (omp_mapping_group): Add DELETED field for use during reindexing.
11439 (omp_strip_components_and_deref, omp_strip_indirections): New functions.
11440 (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
11441 (omp_gather_mapping_groups): Initialise DELETED field for new groups.
11442 (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
11443 (omp_siblist_insert_node_after, omp_siblist_move_node_after,
11444 omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
11446 (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
11447 node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
11448 (omp_build_struct_sibling_lists): New function.
11449 (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
11450 struct_seen_clause, struct_deref_set. Call
11451 omp_build_struct_sibling_lists as pre-pass instead of handling sibling
11452 lists in the function's main processing loop.
11453 (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
11454 handling, unused now.
11455 * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
11456 struct references, and references to pointers to structs also.
11458 2022-09-14 Richard Biener <rguenther@suse.de>
11460 PR tree-optimization/106938
11461 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
11462 edges for all last stmts in a block. Do EH cleanup
11463 only on the last stmt in a block.
11465 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
11467 PR tree-optimization/106936
11468 * value-query.cc (range_query::get_value_range): Remove assert.
11470 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11472 * config/mips/mips.cc (mips_option_override): Drop unused variable.
11474 2022-09-14 Julian Brown <julian@codesourcery.com>
11476 * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
11478 (omp_tsort_mark): Add enum.
11479 (omp_mapping_group): Add struct.
11480 (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
11481 omp_group_last, omp_gather_mapping_groups, omp_group_base,
11482 omp_index_mapping_groups, omp_containing_struct,
11483 omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
11484 omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
11486 (gimplify_scan_omp_clauses): Call above functions instead of
11487 omp_target_reorder_clauses, unless we've seen an error.
11488 * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
11489 sorted mapping groups.
11491 2022-09-14 Jakub Jelinek <jakub@redhat.com>
11493 PR tree-optimization/106878
11494 * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
11495 reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
11496 the second argument is INTEGER_CST, BIT_AND_EXPR.
11497 * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
11498 (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
11499 POINTER_TYPE_P or OFFSET_TYPE.
11500 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
11501 pointers cast them to pointer sized integers first.
11503 2022-09-14 Richard Biener <rguenther@suse.de>
11505 PR tree-optimization/106934
11506 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
11508 (maybe_rewrite_mem_ref_base): Likewise.
11510 2022-09-14 liuhongt <hongtao.liu@intel.com>
11512 PR tree-optimization/106905
11513 * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
11514 false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
11515 LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
11517 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
11520 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
11523 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
11526 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11528 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
11529 New macro definition.
11530 (xtensa_constant_ok_for_cprop_p):
11531 Implement the hook as mentioned above.
11533 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
11536 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
11537 the equality check for argument number, and move this hunk ahead.
11539 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
11542 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
11543 the handling for unresolved overloaded builtin function.
11544 (rs6000_expand_builtin): Likewise.
11546 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
11548 * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
11549 m_nstores, m_reduc_factor, m_gather_load and member function
11550 determine_suggested_unroll_factor.
11551 (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
11552 m_reduc_factor and m_gather_load.
11553 (rs6000_cost_data::determine_suggested_unroll_factor): New function.
11554 (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
11555 * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
11556 (rs6000-vect-unroll-issue): Likewise.
11557 (rs6000-vect-unroll-reduc-threshold): Likewise.
11558 * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
11560 2022-09-13 Richard Biener <rguenther@suse.de>
11562 PR middle-end/106909
11563 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
11564 flag of a unreachable call.
11566 2022-09-13 Richard Biener <rguenther@suse.de>
11568 PR tree-optimization/106913
11569 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
11570 ft_reachable on EXIT_BLOCK.
11572 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
11574 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
11575 TARGET_FLOAT instead of TARGET_SIMD.
11576 (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
11578 (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
11580 (aarch64_classify_address): Treat little-endian structure moves
11581 like big-endian for TARGET_FLOAT && !TARGET_SIMD.
11582 (aarch64_secondary_memory_needed): New function.
11583 (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
11584 in the same way as TF, TI and TD.
11585 (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
11586 (aarch64_rtx_costs): Likewise.
11587 (aarch64_register_move_cost): Treat a pair of 64-bit vectors
11588 separately from a single 128-bit vector. Handle the cost implied
11589 by aarch64_secondary_memory_needed.
11590 (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
11592 (aarch64_expand_vec_perm_const_1): Likewise.
11593 (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
11594 * config/aarch64/iterators.md (VTX): New iterator.
11595 * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
11596 (arch_enabled): Adjust accordingly.
11597 (@aarch64_reload_mov<TX:mode>): Extend to...
11598 (@aarch64_reload_mov<VTX:mode>): ...this.
11599 * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
11600 rather than TARGET_SIMD.
11601 (movmisalign<mode>): Likewise.
11602 (load_pair<DREG:mode><DREG2:mode>): Likewise.
11603 (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
11604 (load_pair<VQ:mode><VQ2:mode>): Likewise.
11605 (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
11606 (@aarch64_split_simd_mov<mode>): Likewise.
11607 (aarch64_get_low<mode>): Likewise.
11608 (aarch64_get_high<mode>): Likewise.
11609 (aarch64_get_half<mode>): Likewise. Canonicalize to a move for
11611 (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
11612 TARGET_SIMD. Use different w<-w and r<-w instructions for
11613 !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but
11614 add an alternative specifically for w<-Z.
11615 (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
11616 TARGET_SIMD. Likewise for the associated define_splits. Disable
11617 FPR moves and immediate moves for !TARGET_SIMD but add an alternative
11618 specifically for w<-Z.
11619 (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
11620 TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD
11621 but add a new r<-w one for !TARGET_SIMD.
11622 (*aarch64_get_high<mode>): New pattern.
11623 (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
11624 (store_pair_lanes<mode>): Likewise.
11625 (*aarch64_combine_internal<mode>): Likewise. Restrict existing
11626 w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
11627 alternative for !TARGET_SIMD.
11628 (*aarch64_combine_internal_be<mode>): Likewise.
11629 (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
11630 Remove bogus arch attribute.
11631 (*aarch64_combinez_be<mode>): Likewise.
11632 (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
11634 (aarch64_combine<mode>): Likewise.
11635 (aarch64_rev_reglist<mode>): Likewise.
11636 (mov<mode>): Likewise.
11637 (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
11638 !TARGET_SIMD, regardless of endianness. Extend associated
11639 define_splits in the same way, both for this pattern and the
11641 (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w
11642 alternative to TARGET_SIMD.
11643 (*aarch64_be_movoi): Likewise.
11644 (*aarch64_be_movci): Likewise.
11645 (*aarch64_be_movxi): Likewise.
11646 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
11647 && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative
11648 to TARGET_SIMD for tuples of 128-bit vectors.
11649 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
11650 * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
11651 from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in
11652 the VQ and VP_2E LDP and STP peepholes.
11654 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
11656 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
11657 condition. Likewise for the related define_split. Tweak formatting.
11659 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11661 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
11662 New macro definition.
11663 (xtensa_constant_ok_for_cprop_p):
11664 Implement the hook as mentioned above.
11666 2022-09-12 Joseph Myers <joseph@codesourcery.com>
11668 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
11669 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
11671 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
11673 * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
11674 a warning + not enabling offloading if -misa=sm_30 prevents
11676 (main): Use tool_name as progname for diagnostic.
11677 * config/gcn/mkoffload.cc (main): Likewise.
11679 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
11681 * value-range.cc (frange::set_signbit): Avoid changing sign when
11682 already in the correct sign.
11684 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
11686 * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
11687 Recognize all 4 return registers.
11688 * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
11689 * config/xtensa/xtensa.md (untyped_call): New pattern.
11691 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
11693 * doc/extend.texi (Floating Types): Fix "_float128" typo.
11695 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11697 * config/xtensa/xtensa.cc (xtensa_constantsynth):
11698 Add new pattern for the abovementioned case.
11700 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
11701 Segher Boessenkool <segher@kernel.crashing.org>
11703 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
11705 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11707 * config/xtensa/xtensa.md: Rewrite the split pattern that performs
11708 the abovementioned process so that insns that overwrite clobbered
11709 register no longer need to be contiguous.
11710 (DSC): Remove as no longer needed.
11712 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11714 * config/xtensa/xtensa.cc (machine_function): New boolean member as
11715 a flag that controls whether to emit the insns for stack pointer
11716 adjustment inside of the pro/epilogue.
11717 (xtensa_emit_adjust_stack_ptr): New function to share the common
11718 codes and to emit insns if not inhibited.
11719 (xtensa_expand_epilogue): Change to use the function mentioned
11720 above when using the CALL0 ABI.
11721 (xtensa_expand_prologue): Ditto.
11722 And also change to set the inhibit flag used by
11723 xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
11724 used for its own adjustment.
11726 2022-09-09 David Malcolm <dmalcolm@redhat.com>
11728 * doc/invoke.texi (Static Analyzer Options): Add
11729 -Wanalyzer-exposure-through-uninit-copy.
11731 2022-09-09 David Malcolm <dmalcolm@redhat.com>
11733 * Makefile.in (ANALYZER_OBJS): Add
11734 analyzer/known-function-manager.o.
11736 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
11738 * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
11739 (record_id): Store func name without quotes, store dim separately.
11740 (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
11741 at least sm_35, create '$offload_func_table' global array and init
11742 with reverse-offload function addresses.
11743 * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
11744 force_public attribute to force .visible.
11745 (nvptx_declare_function_name): For "omp target
11746 device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
11748 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
11750 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
11751 similar to pre-existing .offload_var_table.
11753 2022-09-09 Joseph Myers <joseph@codesourcery.com>
11755 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
11758 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
11760 PR middle-end/106833
11761 * tree.cc (verify_opaque_type): New function.
11762 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
11764 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
11766 * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
11767 FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
11768 * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
11769 * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
11770 MATH_UNOP_TRIG): New iterators.
11771 (math_unop): New attributes.
11772 (<math_unop><mode>2, <math_unop><mode>2<exec>,
11773 <math_unop><mode>2, <math_unop><mode>2<exec>,
11774 *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
11775 ldexp<mode>3, ldexp<mode>3<exec>,
11776 frexp<mode>_exp2, frexp<mode>_mant2,
11777 frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
11778 (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
11779 * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
11781 (gcn_dconst1over2pi): New.
11782 (gcn_builtin_type_index): Add entry for v64df type.
11783 (v64df_type_node): New.
11784 (gcn_init_builtin_types): Initialize v64df_type_node.
11785 (gcn_expand_builtin_1): Expand new builtins to instructions.
11786 (print_operand): Fix assembler output for 1/(2*PI) constant.
11787 * config/gcn/gcn.md (unspec): Add new entries.
11789 2022-09-09 Richard Biener <rguenther@suse.de>
11791 PR tree-optimization/106722
11792 * tree-predcom.cc (ref_at_iteration): Do not associate the
11793 constant part of the offset into the MEM_REF offset
11794 operand, across a non-zero offset.
11796 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
11798 * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
11799 Move forward for cover all all necessary functions for suppress
11800 unused function warnings.
11801 (riscv_multi_lib_check): Move forward, and tweak message to suppress
11802 -Werror=format-diag warning.
11804 2022-09-09 Richard Biener <rguenther@suse.de>
11806 PR tree-optimization/106881
11807 * gimple-predicate-analysis.cc (simple_control_dep_chain):
11808 Add only non-fallthru edges and avoid the same set of edges
11809 as compute_control_dep_chain_pdom does.
11811 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
11813 * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
11814 of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
11815 * doc/tm.texi: Regenerate.
11817 2022-09-09 Martin Liska <mliska@suse.cz>
11819 * optc-save-gen.awk: Always compare array option values with memcmp.
11821 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
11824 * doc/extend.texi (Type Traits): Fix requirements. Document
11825 __is_aggregate and __is_final.
11827 2022-09-08 Tim Lange <mail@tim-lange.me>
11831 State that the checker also reasons about symbolic values.
11833 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
11835 PR tree-optimization/106886
11836 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
11837 Fix copying of scalar stmts.
11839 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
11841 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
11843 2022-09-08 Richard Biener <rguenther@suse.de>
11845 PR middle-end/106870
11846 * gimple-harden-conditionals.cc (insert_check_and_trap):
11847 Set the control-altering flag on the built IFN_TRAP.
11848 * gimple.cc (gimple_build_builtin_unreachable): Likewise.
11849 * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
11850 flag on the .ABNORMAL_DISPATCHER call.
11851 * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
11852 resetting the control altering flag for ECF_NORETURN calls.
11853 (cleanup_control_flow_bb): Set the control altering flag on
11854 discovered noreturn calls.
11855 * symtab-thunks.cc (expand_thunk): Set the control altering
11856 flag for the noreturn tailcall case.
11857 * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
11860 2022-09-08 Jakub Jelinek <jakub@redhat.com>
11862 * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
11863 Add doacross(sink:omp_cur_iteration-1) support.
11864 (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
11865 Adjust expand_omp_ordered_sink caller.
11866 (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
11867 non-NULL, set that variable to true at the start of outermost
11868 non-collapsed loop and set it to false at the end of innermost
11870 (expand_omp_for_generic): If fd->ordered, allocate
11871 1 + (fd->ordered - fd->collapse) further elements in counts array.
11872 Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
11873 fd->ordered - 1 loop if any.
11875 2022-09-08 Richard Biener <rguenther@suse.de>
11877 PR tree-optimization/106881
11878 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
11879 Add only non-fallthru edges and avoid the same set of edges
11880 as the caller does.
11882 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
11884 * gimple-range-fold.cc
11885 (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
11886 * range-op-float.cc (finite_operand_p): Same.
11887 (finite_operands_p): Same.
11888 (foperator_lt::fold_range): Same.
11889 (foperator_le::fold_range): Same.
11890 (foperator_gt::fold_range): Same.
11891 (foperator_ge::fold_range): Same.
11892 (foperator_unordered::fold_range): Same.
11893 (foperator_unordered::op1_range): Same.
11894 (foperator_ordered::fold_range): Same.
11895 * value-range.cc (frange::set_nan): Same.
11896 (frange::set_signbit): Same.
11897 (frange::union_): Same.
11898 (frange::intersect): Same.
11899 (frange::operator==): Same.
11900 (frange::singleton_p): Same.
11901 (frange::verify_range): Same.
11902 (range_tests_nan): Same.
11903 (range_tests_floats): Same.
11904 * value-range.h(frange::known_finite): New.
11905 (frange::maybe_inf): New.
11906 (frange::known_inf): New.
11907 (frange::maybe_nan): New.
11908 (frange::known_nan): New.
11909 (frange::known_signbit): New.
11911 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
11913 * config/darwin-d.cc: Include tm.h.
11914 * config/dragonfly-d.cc: Likewise.
11915 * config/freebsd-d.cc: Remove memmodel.h.
11916 * config/glibc-d.cc: Likewise.
11917 * config/netbsd-d.cc: Include tm.h.
11918 * config/openbsd-d.cc: Likewise.
11919 * config/sol2-d.cc: Likewise.
11921 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
11923 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
11924 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
11925 (mve_vqshluq_m_n_s<mode>): Likewise.
11926 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
11927 instead of mve_imm_8/Rb.
11928 (mve_vqrshrunbq_n_s<mode>): Likewise.
11929 (mve_vqrshrntq_n_<supf><mode>): Likewise.
11930 (mve_vqrshruntq_n_s<mode>): Likewise.
11931 (mve_vrshrnbq_n_<supf><mode>): Likewise.
11932 (mve_vrshrntq_n_<supf><mode>): Likewise.
11933 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
11934 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
11935 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
11936 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
11937 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
11938 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
11939 of mve_imm_selective_upto_8/Rg.
11940 (mve_vsriq_m_n_<supf><mode>): Likewise.
11942 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
11944 * config/rs6000/rs6000.md (splitter for set to and_mask constants):
11945 Use int_reg_operand (instead of int_reg_operand_not_pseudo).
11946 (splitter for multi-insn constant loads): Ditto.
11948 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
11950 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
11951 -mvrsave is present.
11952 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
11955 2022-09-07 Martin Liska <mliska@suse.cz>
11957 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
11958 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
11959 * configure: Regenerate.
11960 * config.in: Regenerate.
11962 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
11964 PR rtl-optimization/105586
11965 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
11966 (schedule_region): Use it for all blocks.
11968 2022-09-07 Joseph Myers <joseph@codesourcery.com>
11970 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
11971 __STDC_VERSION__ > 201710L]: Disable all content.
11972 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
11973 > 201710L] (bool, true, false): Do not define.
11975 2022-09-07 Martin Liska <mliska@suse.cz>
11977 PR bootstrap/106855
11978 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
11979 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
11980 Restore usage of XCOFF_DEBUGGING_INFO.
11981 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
11982 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
11983 XCOFF_DEBUGGING_INFO.
11984 (dw2_asm_output_nstring): Likewise.
11985 (USE_LINKONCE_INDIRECT): Likewise.
11986 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
11987 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
11988 (output_fde): Likewise.
11989 (output_call_frame_info): Likewise.
11990 (have_macinfo): Likewise.
11991 (add_AT_loc_list): Likewise.
11992 (add_AT_view_list): Likewise.
11993 (output_compilation_unit_header): Likewise.
11994 (output_pubnames): Likewise.
11995 (output_aranges): Likewise.
11996 (output_line_info): Likewise.
11997 (output_macinfo): Likewise.
11998 (dwarf2out_finish): Likewise.
11999 (dwarf2out_early_finish): Likewise.
12001 2022-09-07 Richard Biener <rguenther@suse.de>
12003 PR tree-optimization/106866
12004 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
12005 we changed cfun->calls_setjmp make sure to purge all
12006 abnormal call edges.
12008 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
12010 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
12011 float LE comparing with zero for fpuv3.
12012 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
12013 features are enabled.
12015 2022-09-07 Richard Biener <rguenther@suse.de>
12017 PR tree-optimization/106860
12018 * tree-ssa-loop-split.cc (split_loop): Find the exit to
12019 latch edge from the loop exit edge instead of from the
12020 latch. Verify we're going to find it.
12022 2022-09-07 Richard Biener <rguenther@suse.de>
12024 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
12025 Adjust to take the region exit source as argument.
12026 (uninit_analysis::init_from_phi_def): Adjust.
12027 (uninit_analysis::init_use_preds): Mark the dominating region
12028 before computing control dependences.
12030 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
12032 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
12033 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
12034 in that case. Extend w<-r to w<-Z.
12035 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
12036 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
12038 (define_split): Do not apply the floating-point immediate-to-register
12039 split to zeros, even if MOVI is not available.
12041 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
12043 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
12044 Disallow use of FPRs in register asms for !TARGET_FLOAT.
12046 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
12049 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
12050 (TARGET_ASAN_SHADOW_OFFSET): New.
12052 2022-09-07 Jakub Jelinek <jakub@redhat.com>
12054 * doc/invoke.texi (-Wno-unicode): Document.
12056 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
12058 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
12060 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
12062 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
12065 2022-09-07 liuhongt <hongtao.liu@intel.com>
12067 PR tree-optimization/103144
12068 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
12069 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
12070 (vect_create_nonlinear_iv_init): New function.
12071 (vect_peel_nonlinear_iv_init): Ditto.
12072 (vect_create_nonlinear_iv_step): Ditto
12073 (vect_create_nonlinear_iv_vec_step): Ditto
12074 (vect_update_nonlinear_iv): Ditto
12075 (vectorizable_nonlinear_induction): Ditto.
12076 (vectorizable_induction): Call
12077 vectorizable_nonlinear_induction when induction_type is not
12079 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
12080 Update nonlinear iv for epilogue loop.
12081 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
12082 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
12084 2022-09-06 Richard Biener <rguenther@suse.de>
12086 PR tree-optimization/106754
12087 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
12088 New function, split out from compute_control_dep_chain. Handle
12089 loop-exit like conditions here by pushing to the control vector.
12090 (compute_control_dep_chain): Adjust and streamline dumping.
12091 In the wrapper perform a post-dominator walk as well.
12092 (uninit_analysis::init_use_preds): Remove premature early exit.
12094 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
12096 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
12098 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
12100 * range-op-float.cc (build_le): Handle NANs and going past infinity.
12104 (foperator_lt::op1_range): Avoid adjustments to range if build_*
12106 (foperator_lt::op2_range): Same.
12107 (foperator_le::op1_range): Same.
12108 (foperator_le::op2_range): Same.
12109 (foperator_gt::op1_range): Same.
12110 (foperator_gt::op2_range): Same.
12112 2022-09-06 Richard Biener <rguenther@suse.de>
12114 * gimple-predicate-analysis.cc (compute_control_dep_chain):
12115 Add output flag to indicate whether we possibly have dropped
12116 any chains. Return whether the info is complete from the
12118 (uninit_analysis::init_use_preds): Adjust accordingly, with
12119 a workaround for PR106754.
12120 (uninit_analysis::init_from_phi_def): Properly guard the
12121 case where we complete an empty chain.
12123 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12125 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
12127 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12129 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
12130 type with same element type as arg0, and length as op2.
12132 2022-09-06 Richard Biener <rguenther@suse.de>
12134 PR tree-optimization/106844
12135 * gimple-predicate-analysis.cc (compute_control_dep_chain):
12136 Return whether we found a chain.
12138 2022-09-06 Richard Biener <rguenther@suse.de>
12140 PR tree-optimization/106841
12141 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
12142 scatter/gather offset.
12144 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12146 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
12148 2022-09-06 Jakub Jelinek <jakub@redhat.com>
12150 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
12151 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
12152 GIMPLE_OMP_TEAMS as upper bound.
12153 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
12155 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
12156 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
12157 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
12158 with NULL OMP_ORDERED_BODY.
12159 * omp-low.cc (check_omp_nesting_restrictions): Use
12160 gimple_omp_ordered_standalone_p test instead of
12161 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
12162 (lower_omp_ordered): Likewise.
12163 * omp-expand.cc (expand_omp, build_omp_regions_1,
12164 omp_make_gimple_edges): Likewise.
12166 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
12168 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
12169 (cskyv2_addcc_invert): Likewise.
12171 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
12173 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
12175 (bpf_expand_epilogue): Likewise.
12177 2022-09-06 liuhongt <hongtao.liu@intel.com>
12179 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
12180 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
12181 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
12182 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
12183 (avx512f_vcvtps2ph512_mask_sae): New expander
12185 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12187 * gimple-range-fold.cc
12188 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
12189 when there's the possibility of a NAN.
12191 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12193 * gimple-range-fold.cc
12194 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
12195 in __builtin_signbit to nonzero.
12197 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
12200 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
12201 bits of operand 0 are consumed, and the result is zero-extended
12204 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12206 PR middle-end/106831
12207 * value-range.h (frange::supports_p): Disable decimal floats.
12208 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
12210 (frange_drop_ninf): Same.
12212 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12214 PR middle-end/106824
12215 * value-range.cc (frange::set_nan): Set undefined when updating a
12218 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
12220 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
12221 condition for MASK_DIV and simplify incompatible checking.
12222 * config/riscv/riscv.md (muldi3): Adding parentheses.
12224 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12226 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
12227 string is a valid -mcpu string and emit hint.
12229 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
12231 * common/config/riscv/riscv-common.cc: Add Zmmul.
12232 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
12233 (TARGET_ZMMUL): Ditto.
12234 * config/riscv/riscv.cc (riscv_option_override):Ditto.
12235 * config/riscv/riscv.md: Add Zmmul
12236 * config/riscv/riscv.opt: Ditto.
12238 2022-09-05 Richard Biener <rguenther@suse.de>
12240 * tree-cfg.h (get_cases_for_edge): Declare.
12241 * tree-cfg.cc (get_cases_for_edge): Export.
12242 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
12243 Start and end recording case labels.
12244 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
12245 (predicate::init_from_control_deps): Use get_cases_for_edge.
12247 2022-09-05 Richard Biener <rguenther@suse.de>
12249 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
12250 (compute_control_dep_chain): Move uninit-control-dep-attempts
12251 checking where it also counts the post-dominator check
12254 2022-09-05 Richard Biener <rguenther@suse.de>
12256 * gimple-predicate-analysis.h (predicate::debug): New.
12257 (predicate::dump): Add FILE * argument, add base overload.
12258 * gimple-predicate-analysis.cc (debug): New.
12259 (dump_pred_info): Add FILE * argument.
12260 (dump_pred_chain): Likewise.
12261 (predicate::dump): Split out preamble into overload. Add
12263 (predicate::debug): New.
12264 (predicate::simplify): Adjust.
12265 (predicate::normalize): Likewise.
12266 (predicate::init_from_control_deps): Likewise.
12268 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
12270 * config/aarch64/aarch64-protos.h
12271 (aarch64_init_simd_builtins): Remove prototype.
12272 * config/aarch64/aarch64-builtins.cc
12273 (aarch64_simd_builtins_initialized_p): Delete.
12274 (aarch64_init_simd_builtins): Make static. Remove protection
12275 against multiple calls.
12276 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
12277 lazy SIMD builtin initialization.
12278 * config/aarch64/aarch64.cc
12279 (aarch64_option_valid_attribute_p): Likewise.
12281 2022-09-05 Xi Ruoyao <xry111@xry111.site>
12283 * config/loongarch/genopts/loongarch.opt.in: Add
12284 -mdirect-extern-access option.
12285 * config/loongarch/loongarch.opt: Regenerate.
12286 * config/loongarch/loongarch.cc
12287 (loongarch_symbol_binds_local_p): Return true if
12288 TARGET_DIRECT_EXTERN_ACCESS.
12289 (loongarch_option_override_internal): Complain if
12290 -mdirect-extern-access is used with -fPIC or -fpic.
12291 * doc/invoke.texi: Document -mdirect-extern-access for
12294 2022-09-05 Martin Liska <mliska@suse.cz>
12296 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
12298 * doc/tm.texi: Regenerate.
12300 2022-09-05 Martin Liska <mliska@suse.cz>
12302 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
12303 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
12304 (aarch64_debugger_regno): Likewise.
12305 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
12306 (aarch64_debugger_regno): Likewise.
12307 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
12308 (DEBUGGER_REGNO): Likewise.
12309 (DWARF_FRAME_REGNUM): Likewise.
12310 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
12311 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
12312 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
12313 (DEBUGGER_REGNO): Likewise.
12314 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
12315 (arm_debugger_regno): Likewise.
12316 * config/arm/arm.cc (arm_dbx_regno): Likewise.
12317 (arm_debugger_regno): Likewise.
12318 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
12319 (DEBUGGER_REGNO): Likewise.
12320 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
12321 (DEBUGGER_REGNO): Likewise.
12322 * config/c6x/c6x.cc: Likewise.
12323 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
12324 (DEBUGGER_REGNO): Likewise.
12325 * config/cris/cris.h (enum reg_class): Likewise.
12326 (DBX_REGISTER_NUMBER): Likewise.
12327 (DEBUGGER_REGNO): Likewise.
12328 * config/csky/csky.cc (enum reg_class): Likewise.
12329 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
12330 (DBX_REGISTER_NUMBER): Likewise.
12331 (DEBUGGER_REGNO): Likewise.
12332 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
12333 (DEBUGGER_REGNO): Likewise.
12334 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
12335 (DEBUGGER_REGNO): Likewise.
12336 * config/gcn/gcn.cc (print_operand): Likewise.
12337 * config/i386/bsd.h (ASM_QUAD): Likewise.
12338 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
12339 (DEBUGGER_REGNO): Likewise.
12340 (DWARF_FRAME_REGNUM): Likewise.
12341 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
12342 (DEBUGGER_REGNO): Likewise.
12343 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
12344 (DEBUGGER_REGNO): Likewise.
12345 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
12346 (DEBUGGER_REGNO): Likewise.
12347 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
12348 (DEBUGGER_REGNO): Likewise.
12349 * config/i386/gas.h: Likewise.
12350 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
12351 (DEBUGGER_REGNO): Likewise.
12352 * config/i386/i386.cc (enum reg_class): Likewise.
12353 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
12354 (DEBUGGER_REGNO): Likewise.
12355 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
12356 (DEBUGGER_REGNO): Likewise.
12357 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
12358 (DEBUGGER_REGNO): Likewise.
12359 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
12360 (DEBUGGER_REGNO): Likewise.
12361 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
12362 (DEBUGGER_REGNO): Likewise.
12363 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
12364 (DEBUGGER_REGNO): Likewise.
12365 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
12366 (DEBUGGER_REGNO): Likewise.
12367 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
12368 (DEBUGGER_REGNO): Likewise.
12369 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
12370 (DEBUGGER_REGNO): Likewise.
12371 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
12372 (DEBUGGER_REGNO): Likewise.
12373 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
12374 (ia64_debugger_regno): Likewise.
12375 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
12376 (ia64_dbx_regno): Likewise.
12377 (ia64_debugger_regno): Likewise.
12378 (process_cfa_adjust_cfa): Likewise.
12379 (process_cfa_register): Likewise.
12380 (ia64_asm_unwind_emit): Likewise.
12381 * config/ia64/ia64.h: Likewise.
12382 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
12383 (DEBUGGER_REGNO): Likewise.
12384 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
12385 (DEBUGGER_REGNO): Likewise.
12386 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
12387 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
12388 (DEBUGGER_REGNO): Likewise.
12389 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
12390 (DEBUGGER_REGNO): Likewise.
12391 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
12392 (DEBUGGER_REGNO): Likewise.
12393 (__transfer_from_trampoline): Likewise.
12394 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
12395 (DEBUGGER_REGNO): Likewise.
12396 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
12397 (DBX_REGISTER_NUMBER): Likewise.
12398 (DEBUGGER_REGNO): Likewise.
12399 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
12400 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
12401 (DEBUGGER_REGNO): Likewise.
12402 (GP_DBX_FIRST): Likewise.
12403 (GP_DEBUGGER_FIRST): Likewise.
12404 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
12405 (DEBUGGER_REGNO): Likewise.
12406 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
12407 (mmix_debugger_regno): Likewise.
12408 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
12409 (mmix_debugger_regno): Likewise.
12410 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
12411 (DEBUGGER_REGNO): Likewise.
12412 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
12413 (nds32_debugger_regno): Likewise.
12414 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
12415 (nds32_debugger_regno): Likewise.
12416 (nds32_use_blocks_for_constant_p): Likewise.
12417 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
12418 (DEBUGGER_REGNO): Likewise.
12419 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
12420 (DEBUGGER_REGNO): Likewise.
12421 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
12422 (DEBUGGER_REGNO): Likewise.
12423 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
12424 (DEBUGGER_REGNO): Likewise.
12425 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
12426 (DEBUGGER_REGNO): Likewise.
12427 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
12428 (rs6000_debugger_regno): Likewise.
12429 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
12430 (rs6000_debugger_regno): Likewise.
12431 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
12432 (DEBUGGER_REGNO): Likewise.
12433 (DWARF2_FRAME_REG_OUT): Likewise.
12434 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
12435 (DEBUGGER_REGNO): Likewise.
12436 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
12437 (DEBUGGER_REGNO): Likewise.
12438 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
12439 (DEBUGGER_REGNO): Likewise.
12440 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
12441 (DEBUGGER_REGNO): Likewise.
12442 (SH_DBX_REGISTER_NUMBER): Likewise.
12443 (SH_DEBUGGER_REGNO): Likewise.
12444 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
12445 (DEBUGGER_REGNO): Likewise.
12446 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
12447 (DEBUGGER_REGNO): Likewise.
12448 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
12449 (DEBUGGER_REGNO): Likewise.
12450 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
12451 (DEBUGGER_REGNO): Likewise.
12452 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
12453 (xtensa_debugger_regno): Likewise.
12454 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
12455 (xtensa_debugger_regno): Likewise.
12456 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
12457 (DEBUGGER_REGNO): Likewise.
12458 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
12459 (DEBUGGER_REGNO): Likewise.
12460 (DWARF_FRAME_REGNUM): Likewise.
12461 * doc/tm.texi: Likewise.
12462 * doc/tm.texi.in: Likewise.
12463 * dwarf2out.cc (dbx_reg_number): Likewise.
12464 (debugger_reg_number): Likewise.
12465 (reg_loc_descriptor): Likewise.
12466 (multiple_reg_loc_descriptor): Likewise.
12467 (mem_loc_descriptor): Likewise.
12468 * except.cc: Likewise.
12470 2022-09-05 konglin1 <lingling.kong@intel.com>
12473 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
12475 (expand_vec_perm_broadcast_1): Ditto.
12476 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
12477 (vec_set<mode>_0): Add @ to it.
12478 (@vec_set<mode>_0): Ditto.
12479 (vec_interleave_high<mode><mask_name>): Ditto.
12480 (@vec_interleave_high<mode><mask_name>): Ditto.
12481 (vec_interleave_low<mode><mask_name>): Ditto.
12482 (@vec_interleave_low<mode><mask_name>): Ditto.
12483 * config/i386/subst.md (SUBST_V): Add BF vector mode.
12485 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
12487 * value-range.cc (early_nan_resolve): Remove.
12488 (frange::intersect): Handle NANs.
12490 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
12492 * value-range.cc (frange::union_): Do not drop properties when
12493 unioning a NAN with something else.
12494 (range_tests_signed_zeros): Add tests.
12496 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
12498 * real.cc (encode_ieee_single): Use real_isdenormal.
12499 (encode_ieee_double): Same.
12500 (encode_ieee_extended): Same.
12501 (encode_ieee_quad): Same.
12502 (encode_ieee_half): Same.
12503 (encode_arm_bfloat_half): Same.
12504 * real.h (real_isdenormal): New.
12506 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
12508 * value-range.cc (frange::singleton_p): Move NAN check to the top.
12510 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
12512 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
12514 2022-09-03 Jakub Jelinek <jakub@redhat.com>
12516 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
12517 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
12518 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
12519 (enum omp_clause_doacross_kind): New type.
12520 (struct tree_omp_clause): Add subcode.doacross_kind member.
12521 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
12522 (OMP_CLAUSE_DOACROSS_KIND): Define.
12523 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
12524 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
12525 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
12526 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
12527 OMP_CLAUSE_DOACROSS entries.
12528 * tree-nested.cc (convert_nonlocal_omp_clauses,
12529 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
12530 * tree-pretty-print.cc (dump_omp_clause): Don't handle
12531 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
12532 OMP_CLAUSE_DOACROSS.
12533 * gimplify.cc (gimplify_omp_depend): Don't handle
12534 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
12535 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
12536 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
12537 (find_standalone_omp_ordered): New function.
12538 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
12539 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
12540 set OMP_CLAUSE_ORDERED_DOACROSS.
12541 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
12542 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
12543 diagnostics that presence or absence of ordered clause parameter
12544 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
12545 actual user name of the clause - doacross or depend - in diagnostics.
12546 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
12547 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
12548 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
12549 set fd->ordered to -1 and set it after the loop in that case to
12551 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
12552 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
12553 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
12554 or depend - in diagnostics. Diagnose mixing of stand-alone and
12555 block associated ordered constructs binding to the same loop.
12556 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
12557 instead handle OMP_CLAUSE_DOACROSS.
12558 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
12560 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
12561 OMP_CLAUSE_DEPEND_SINK.
12562 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
12563 doacross(sink:omp_cur_iteration-1).
12564 (expand_omp_ordered_source_sink): Use
12565 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
12566 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
12567 - doacross or depend - in diagnostics.
12568 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
12570 (build_omp_regions_1): Likewise.
12571 (omp_make_gimple_edges): Likewise.
12572 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
12573 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
12574 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
12576 2022-09-02 David Malcolm <dmalcolm@redhat.com>
12579 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
12581 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
12584 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
12585 * config/aarch64/aarch64-d.cc: Include tm_d.h.
12586 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
12587 config/aarch64/aarch64-d.h.
12588 (aarch64_d_register_target_info): Likewise.
12589 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
12590 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12591 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
12593 * config/arm/arm-protos.h (arm_d_target_versions): Move to
12594 config/arm/arm-d.h.
12595 (arm_d_register_target_info): Likewise.
12596 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
12597 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12598 * config/default-d.cc: Remove memmodel.h include.
12599 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
12600 * config/glibc-d.cc: Likewise.
12601 * config/i386/i386-d.cc: Include tm_d.h.
12602 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
12603 config/i386/i386-d.h.
12604 (ix86_d_register_target_info): Likewise.
12605 (ix86_d_has_stdcall_convention): Likewise.
12606 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
12607 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12608 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
12609 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
12610 * config/mips/mips-d.cc: Include tm_d.h.
12611 * config/mips/mips-protos.h (mips_d_target_versions): Move to
12612 config/mips/mips-d.h.
12613 (mips_d_register_target_info): Likewise.
12614 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
12615 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12616 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
12617 * config/openbsd-d.cc: Likewise.
12618 * config/pa/pa-d.cc: Include tm_d.h.
12619 * config/pa/pa-protos.h (pa_d_target_versions): Move to
12621 (pa_d_register_target_info): Likewise.
12622 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
12623 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12624 * config/riscv/riscv-d.cc: Include tm_d.h.
12625 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
12626 config/riscv/riscv-d.h.
12627 (riscv_d_register_target_info): Likewise.
12628 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
12629 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12630 * config/rs6000/rs6000-d.cc: Include tm_d.h.
12631 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
12632 config/rs6000/rs6000-d.h.
12633 (rs6000_d_register_target_info): Likewise.
12634 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
12635 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
12636 * config/s390/s390-d.cc: Include tm_d.h.
12637 * config/s390/s390-protos.h (s390_d_target_versions): Move to
12638 config/s390/s390-d.h.
12639 (s390_d_register_target_info): Likewise.
12640 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
12641 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12642 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
12643 * config/sparc/sparc-d.cc: Include tm_d.h.
12644 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
12645 config/sparc/sparc-d.h.
12646 (sparc_d_register_target_info): Likewise.
12647 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
12648 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
12649 * configure: Regenerate.
12650 * configure.ac (tm_d_file): Remove defaults.h.
12651 (tm_d_include_list): Remove options.h and insn-constants.h.
12652 * config/aarch64/aarch64-d.h: New file.
12653 * config/arm/arm-d.h: New file.
12654 * config/i386/i386-d.h: New file.
12655 * config/mips/mips-d.h: New file.
12656 * config/pa/pa-d.h: New file.
12657 * config/riscv/riscv-d.h: New file.
12658 * config/rs6000/rs6000-d.h: New file.
12659 * config/s390/s390-d.h: New file.
12660 * config/sparc/sparc-d.h: New file.
12662 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
12664 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
12665 (fold_builtin_fpclassify): Same.
12666 * fold-const-call.cc (fold_const_call_cc): Same.
12668 * omp-low.cc (omp_reduction_init_op): Same.
12669 * realmpfr.cc (real_from_mpfr): Same.
12670 * tree.cc (build_complex_inf): Same.
12672 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
12674 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
12675 NOP_EXPR for MMA pointer casting.
12677 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
12679 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
12680 Reduce the fallback cost to 1. Only use it if the number of
12681 input lanes is equal to the number of output lanes.
12683 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
12685 PR tree-optimization/106787
12686 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
12688 (vect_bb_partition_graph_r): ...here. Replace the visited set
12689 with a map from nodes to instances. Ensure that a node only
12690 appears in one partition.
12691 (vect_bb_partition_graph): Update accordingly.
12693 2022-09-02 Richard Biener <rguenther@suse.de>
12695 * timevar.def (TV_TREE_RPO_VN): New.
12696 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
12697 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
12698 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
12699 (pass_fre::execute): Adjust.
12700 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
12702 2022-09-02 Richard Biener <rguenther@suse.de>
12704 PR tree-optimization/106809
12705 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
12706 more than one successor before doing extra work.
12708 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
12710 * common/config/riscv/riscv-common.cc: Include <vector>.
12711 (struct riscv_multi_lib_info_t): New.
12712 (riscv_subset_list::match_score): Ditto.
12713 (find_last_appear_switch): Ditto.
12714 (prefixed_with): Ditto.
12715 (struct multi_lib_info_t): Ditto.
12716 (riscv_current_arch_str): Ditto.
12717 (riscv_current_abi_str): Ditto.
12718 (riscv_multi_lib_info_t::parse): Ditto.
12719 (riscv_check_cond): Ditto.
12720 (riscv_check_conds): Ditto.
12721 (riscv_compute_multilib): Ditto.
12722 (TARGET_COMPUTE_MULTILIB): Defined.
12723 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
12725 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
12726 * config/riscv/riscv.h (riscv_multi_lib_check): New.
12727 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
12728 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
12730 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
12732 * common/common-target.def (compute_multilib): New.
12733 * common/common-targhooks.h (default_compute_multilib): New.
12734 * common/common-targhooks.cc (default_compute_multilib): New.
12735 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
12736 * doc/tm.texi: Regen.
12737 * gcc.cc: Include common/common-target.h.
12738 (set_multilib_dir) Call targetm_common.compute_multilib.
12739 (SWITCH_LIVE): Move to opts.h.
12740 (SWITCH_FALSE): Ditto.
12741 (SWITCH_IGNORE): Ditto.
12742 (SWITCH_IGNORE_PERMANENTLY): Ditto.
12743 (SWITCH_KEEP_FOR_GCC): Ditto.
12744 (struct switchstr): Ditto.
12745 * opts.h (SWITCH_LIVE): Move from gcc.c.
12746 (SWITCH_FALSE): Ditto.
12747 (SWITCH_IGNORE): Ditto.
12748 (SWITCH_IGNORE_PERMANENTLY): Ditto.
12749 (SWITCH_KEEP_FOR_GCC): Ditto.
12750 (struct switchstr): Ditto.
12752 2022-09-02 Martin Liska <mliska@suse.cz>
12754 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
12757 2022-09-02 Martin Liska <mliska@suse.cz>
12759 * Makefile.in: Remove -gstabs option support, DBX-related
12760 macros and DBX debugging info support.
12761 * collect2.cc (scan_prog_file): Likewise.
12762 * common.opt: Likewise.
12763 * config.gcc: Likewise.
12764 * config.in: Likewise.
12765 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
12766 * config/alpha/alpha.cc: Likewise.
12767 * config/alpha/elf.h (ASM_SPEC): Likewise.
12768 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
12769 (DBX_CONTIN_LENGTH): Likewise.
12770 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
12771 (DBX_CONTIN_LENGTH): Likewise.
12772 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
12773 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
12774 (ASM_DEBUG_SPEC): Likewise.
12775 (DBX_DEBUGGING_INFO): Likewise.
12776 (DBX_USE_BINCL): Likewise.
12777 (DBX_CONTIN_LENGTH): Likewise.
12778 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12779 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
12780 (DBX_CONTIN_LENGTH): Likewise.
12781 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
12782 (DBX_CONTIN_LENGTH): Likewise.
12783 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
12784 (DBX_CONTIN_LENGTH): Likewise.
12785 * config/ia64/ia64.h: Likewise.
12786 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
12787 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
12788 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
12789 (DBX_CONTIN_LENGTH): Likewise.
12790 (DBX_CONTIN_CHAR): Likewise.
12791 * config/mips/mips.cc (mips_output_filename): Likewise.
12792 (mips_option_override): Likewise.
12793 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
12794 (DBX_DEBUGGING_INFO): Likewise.
12795 (DBX_CONTIN_LENGTH): Likewise.
12796 (DBX_REGISTER_NUMBER): Likewise.
12797 (GP_DBX_FIRST): Likewise.
12798 (FP_DBX_FIRST): Likewise.
12799 (MD_DBX_FIRST): Likewise.
12800 * config/nvptx/nvptx.cc: Likewise.
12801 * config/openbsd.h (DBX_NO_XREFS): Likewise.
12802 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
12803 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
12804 (DBX_CONTIN_LENGTH): Likewise.
12805 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
12806 (DBX_USE_BINCL): Likewise.
12807 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
12808 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12809 * config/pdp11/pdp11.cc: Likewise.
12810 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
12811 (PREFERRED_DEBUGGING_TYPE): Likewise.
12812 (DBX_CONTIN_LENGTH): Likewise.
12813 * config/rs6000/rs6000-builtin.cc: Likewise.
12814 * config/rs6000/rs6000-call.cc: Likewise.
12815 * config/rs6000/rs6000-logue.cc (defined): Likewise.
12816 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
12817 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12818 (rs6000_xcoff_declare_function_name): Likewise.
12819 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
12820 (DBX_FUNCTION_FIRST): Likewise.
12821 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
12822 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
12823 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
12824 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
12825 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
12826 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
12827 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
12828 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
12829 * config/vax/vax.cc (vax_file_start): Likewise.
12830 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
12831 (DBX_CONTIN_LENGTH): Likewise.
12832 (DBX_CONTIN_CHAR): Likewise.
12833 (DBX_NO_XREFS): Likewise.
12834 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
12835 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
12836 (XCOFF_DEBUGGING_INFO): Likewise.
12837 * configure: Regenerate. Likewise.
12838 * configure.ac: Likewise.
12839 * debug.h: Likewise.
12840 * doc/install.texi: Likewise.
12841 * doc/invoke.texi: Likewise.
12842 * doc/passes.texi: Likewise.
12843 * doc/tm.texi: Likewise.
12844 * doc/tm.texi.in: Likewise.
12845 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
12846 (dw2_asm_output_nstring): Likewise.
12847 (USE_LINKONCE_INDIRECT): Likewise.
12848 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
12849 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12850 (output_fde): Likewise.
12851 (output_call_frame_info): Likewise.
12852 (have_macinfo): Likewise.
12853 (add_AT_loc_list): Likewise.
12854 (add_AT_view_list): Likewise.
12855 (output_compilation_unit_header): Likewise.
12856 (output_pubnames): Likewise.
12857 (output_aranges): Likewise.
12858 (output_line_info): Likewise.
12859 (output_macinfo): Likewise.
12860 (dwarf2out_finish): Likewise.
12861 (dwarf2out_early_finish): Likewise.
12862 * final.cc (final_scan_insn_1): Likewise.
12863 (rest_of_handle_final): Likewise.
12864 * flag-types.h (enum debug_info_type): Likewise.
12865 (DBX_DEBUG): Likewise.
12866 (XCOFF_DEBUG): Likewise.
12867 * function.cc (defined): Likewise.
12868 * gcc.cc (defined): Likewise.
12869 (ASM_DEBUG_SPEC): Likewise.
12870 (ASM_DEBUG_OPTION_SPEC): Likewise.
12871 * opts.cc (common_handle_option): Likewise.
12872 (set_debug_level): Likewise.
12873 * system.h (fancy_abort): Likewise.
12874 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
12875 (TARGET_ASM_DESTRUCTOR): Likewise.
12876 * toplev.cc (defined): Likewise.
12877 * varasm.cc: Likewise.
12878 * config/dbxcoff.h: Removed.
12879 * config/dbxelf.h: Removed.
12880 * dbxout.cc: Removed.
12881 * dbxout.h: Removed.
12882 * gstab.h: Removed.
12883 * stab.def: Removed.
12884 * xcoffout.cc: Removed.
12885 * xcoffout.h: Removed.
12887 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
12890 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
12891 Set TREE_NOTHROW correctly for dispatcher declaration.
12892 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
12895 2022-09-01 Tamar Christina <tamar.christina@arm.com>
12898 * config/aarch64/aarch64.cc
12899 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
12900 HOST_WIDE_INT_PRINT_UNSIGNED.
12902 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
12904 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
12905 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
12906 to the number of vector elements, if that's a known constant.
12907 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
12908 comment about zero SLP_TREE_LANES.
12909 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
12910 all partition members when looking for potential layouts.
12911 Handle existing permutes of fixed-length vectors.
12913 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
12916 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
12917 Do not convert a move pattern where both operands are AX_REG.
12919 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
12921 * range-op-float.cc (build_le): Convert to dconst*inf.
12923 * value-range.cc (frange::set_signbit): Same.
12924 (frange::normalize_kind): Same.
12925 (range_tests_floats): Same.
12926 * value-range.h (vrp_val_max): Same.
12927 (vrp_val_min): Same.
12928 (frange::set_varying): Same.
12930 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
12932 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
12934 * real.h: Add dconstinf and dconstninf.
12936 2022-09-01 Richard Biener <rguenther@suse.de>
12938 * gimple-predicate-analysis.cc (compute_control_dep_chain):
12939 Remove cycle detection, instead avoid walking backedges.
12941 2022-09-01 Richard Biener <rguenther@suse.de>
12943 * gimple-predicate-analysis.cc (compute_control_dep_chain):
12944 New wrapping overload.
12945 (uninit_analysis::init_use_preds): Simplify.
12946 (uninit_analysis::init_from_phi_def): Likewise.
12948 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
12950 * gimple-range-fold.cc
12951 (fold_using_range::range_of_builtin_int_call): Add case for
12952 CFN_BUILT_IN_SIGNBIT.
12954 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
12956 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
12958 (foperator_not_equal::op1_range): Same.
12959 * value-query.cc (range_query::get_tree_range): Set sign bit.
12960 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
12961 * value-range.cc (frange::set_signbit): New.
12962 (frange::set): Adjust for sign bit.
12963 (frange::normalize_kind): Same.
12964 (frange::union_): Remove useless comment.
12965 (frange::intersect): Same.
12966 (frange::contains_p): Adjust for sign bit.
12967 (frange::singleton_p): Same.
12968 (frange::verify_range): Same.
12969 (range_tests_signbit): New tests.
12970 (range_tests_floats): Call range_tests_signbit.
12971 * value-range.h (class frange_props): Add signbit
12972 (class frange): Same.
12974 2022-09-01 Jakub Jelinek <jakub@redhat.com>
12977 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
12978 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
12979 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
12980 derived types of gimple to gimple * to avoid -Wformat warnings.
12981 * tree-vect-loop-manip.cc (vect_set_loop_condition,
12982 vect_update_ivs_after_vectorizer): Likewise.
12983 * tree-vect-stmts.cc (vectorizable_load): Likewise.
12984 * tree-vect-patterns.cc (vect_split_statement,
12985 vect_recog_mulhs_pattern, vect_recog_average_pattern,
12986 vect_determine_precisions_from_range,
12987 vect_determine_precisions_from_users): Likewise.
12988 * gimple-loop-versioning.cc
12989 (loop_versioning::analyze_term_using_scevs): Likewise.
12990 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
12991 (vect_build_slp_tree): Cast slp_tree to void * to avoid
12993 (optimize_load_redistribution_1, vect_match_slp_patterns,
12994 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
12995 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
12996 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
12997 (vect_print_slp_tree): Likewise. Also use
12998 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
12999 * tree-vect-loop.cc (vect_determine_vectorization_factor,
13000 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
13001 vectorizable_induction, vect_transform_loop): Cast pointers to derived
13002 types of gimple to gimple * to avoid -Wformat warnings.
13003 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
13005 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
13007 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
13008 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
13009 instead of SLP_TREE_DEF_TYPE (node).
13011 2022-09-01 Jakub Jelinek <jakub@redhat.com>
13014 * doc/invoke.texi (-Winvalid-utf8): Document it.
13016 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
13018 PR tree-optimization/106785
13019 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
13020 (range_tests_floats): Same.
13022 2022-09-01 konglin1 <lingling.kong@intel.com>
13024 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
13027 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
13030 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
13031 Enforce the use of a valid MMA pointer type.
13033 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13035 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
13038 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13040 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
13041 (riscv_output_move): Add csrr vlenb assembly.
13042 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
13043 (ext): New attribute.
13044 (ext_enabled): Ditto.
13047 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13049 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
13051 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
13052 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
13053 (vp): Add poly constraint.
13055 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13057 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
13059 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
13061 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
13062 configuration according to TARGET_MIN_VLEN.
13063 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
13065 2022-08-31 Martin Liska <mliska@suse.cz>
13067 * config.build: Remove deprecated ports.
13068 * config.gcc: Likewise.
13069 * config.host: Likewise.
13070 * configure.ac: Likewise.
13071 * configure: Regenerate.
13072 * config/pa/pa-hpux10.h: Removed.
13073 * config/pa/pa-hpux10.opt: Removed.
13074 * config/pa/t-dce-thr: Removed.
13076 2022-08-31 Martin Liska <mliska@suse.cz>
13078 * Makefile.in: Always install limits.h and syslimits.h to
13080 * configure.ac: Assign STMP_FIXINC blank if
13081 --disable-fixincludes is used.
13082 * configure: Regenerate.
13084 2022-08-31 Richard Biener <rguenther@suse.de>
13086 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13087 Assert the guard_bb isn't empty and has more than one successor.
13088 Drop appropriate parts of the predicate when an edge fails to
13089 register a predicate.
13090 (predicate::dump): Dump empty predicate as TRUE.
13092 2022-08-31 Richard Biener <rguenther@suse.de>
13094 PR tree-optimization/90994
13095 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13096 Ignore exceptional control flow and skip the edge for the purpose of
13097 predicate generation also for non-calls.
13099 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
13101 * value-range-storage.cc (frange_storage_slot::set_frange): Save
13103 (frange_storage_slot::get_frange): Restore endpoints.
13104 * value-range-storage.h (class frange_storage_slot): Add endpoint
13107 2022-08-31 Martin Liska <mliska@suse.cz>
13109 PR tree-optimization/106789
13110 * range-op-float.cc (default_frelop_fold_range): Remove the
13113 2022-08-31 Martin Liska <mliska@suse.cz>
13115 * value-range.h: Add more override keywords.
13117 2022-08-31 Martin Liska <mliska@suse.cz>
13119 * value-range.h: Add override.
13121 2022-08-31 Richard Biener <rguenther@suse.de>
13123 PR tree-optimization/65244
13124 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
13125 Add argument to specify whether the predicate is for the USE.
13126 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13127 Also include predicates effective fallthru control edges when
13128 the predicate is for the USE.
13130 2022-08-31 Richard Biener <rguenther@suse.de>
13132 PR tree-optimization/73550
13133 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13134 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
13135 (predicate::dump): Adjust for better readability.
13137 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13138 Jakub Jelinek <jakub@redhat.com>
13140 * omp-simd-clone.cc (simd_clone_adjust_return_type,
13141 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
13142 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
13144 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
13146 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
13149 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
13151 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
13152 initialize const_vf to 0.
13154 2022-08-31 Martin Liska <mliska@suse.cz>
13156 * config.gcc: Remove cr16.
13158 2022-08-30 Martin Jambor <mjambor@suse.cz>
13160 * vec.h (array_slice): Add constructors for non-const reference to
13161 heap vector and pointers to heap vectors.
13163 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13165 * value-range.cc (early_nan_resolve): Change comment.
13166 (frange::union_): Handle union when one side is a NAN.
13167 (range_tests_nan): Add tests for NAN union.
13169 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
13171 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
13172 (gcn_simd_clone_adjust): New.
13173 (gcn_simd_clone_usable): New.
13174 (TARGET_SIMD_CLONE_ADJUST): New.
13175 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
13176 (TARGET_SIMD_CLONE_USABLE): New.
13178 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
13180 * doc/tm.texi: Regenerate.
13181 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
13183 (simd_clone_adjust_argument_types): Likewise.
13184 * target.def (compute_vecsize_and_simdlen): Document the new
13185 vecsize_int and vecsize_float semantics.
13187 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13189 * expmed.cc (store_bit_field_1): Fix byte offset calculation
13190 for undefined structures.
13192 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13194 * params.opt (-param=vect-max-layout-candidates=): New parameter.
13195 * doc/invoke.texi (vect-max-layout-candidates): Document it.
13196 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
13197 (auto_load_permutation_t): Likewise.
13198 * tree-vect-slp.cc (vect_slp_node_weight): New function.
13199 (slpg_layout_cost): New class.
13200 (slpg_vertex): Replace perm_in and perm_out with partition,
13201 out_degree, weight and out_weight.
13202 (slpg_partition_info, slpg_partition_layout_costs): New classes.
13203 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
13204 the previous vect_optimize_slp.
13205 (vect_optimize_slp): Use it.
13207 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13209 * hash-traits.h (vec_hash_base): New class.
13210 (vec_free_hash_base): Likewise.
13212 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13214 * hash-traits.h (int_hash_base): New struct, split out from...
13215 (int_hash): ...this class, which now inherits from int_hash_base.
13216 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
13217 parameter for the key that provides hash and equality functions.
13218 (unbounded_int_hashmap_traits): Turn into a type alias of
13219 unbounded_hashmap_traits.
13221 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13223 * graphds.cc (graphds_scc): Add a pass-back parameter for the
13225 * graphds.h (graphds_scc): Update prototype accordingly.
13227 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13229 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
13230 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
13231 of STMT_VINFO_VECTYPE.
13233 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13235 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
13236 (vectorizable_slp_permutation): ...here.
13238 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
13240 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
13241 that the requested number of units is interoperable with the requested
13244 2022-08-30 Martin Liska <mliska@suse.cz>
13246 * config.gcc: Remove the port.
13247 * config/m32c/rtems.h: Removed.
13249 2022-08-30 Richard Biener <rguenther@suse.de>
13251 PR tree-optimization/73550
13252 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13253 Do not apply MAX_NUM_CHAINS again.
13255 2022-08-30 Richard Biener <rguenther@suse.de>
13257 * gimple-predicate-analysis.cc (format_edge_vec): Dump
13258 both source and destination.
13259 (dump_dep_chains): Remove.
13260 (uninit_analysis::init_use_preds): Remove redundant
13263 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13265 * value-range-storage.cc (frange_storage_slot::get_frange): Use
13267 * value-range.cc (frange::set_nan): New.
13268 (frange_nan): Move to header file.
13269 (range_tests_nan): Adjust frange_nan callers to pass type.
13271 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
13274 2022-08-30 Richard Biener <rguenther@suse.de>
13276 PR tree-optimization/67196
13277 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
13278 Simplify and normalize use prediates before first use.
13280 2022-08-30 Richard Biener <rguenther@suse.de>
13282 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
13283 parentizing and AND prepending.
13284 (predicate::dump): Do not dump the GENERIC expanded
13285 predicate, properly parentize and prepend ORs to the
13286 piecewise predicate dump.
13287 (build_pred_expr): Remove.
13289 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13291 * range-op-float.cc (finite_operand_p): New.
13296 (foperator_equal::fold_range): New implementation with endpoints.
13297 (foperator_equal::op1_range): Same.
13298 (foperator_not_equal::fold_range): Same.
13299 (foperator_not_equal::op1_range): Same.
13300 (foperator_lt::fold_range): Same.
13301 (foperator_lt::op1_range): Same.
13302 (foperator_lt::op2_range): Same.
13303 (foperator_le::fold_range): Same.
13304 (foperator_le::op1_range): Same.
13305 (foperator_le::op2_range): Same.
13306 (foperator_gt::fold_range): Same.
13307 (foperator_gt::op1_range): Same.
13308 (foperator_gt::op2_range): Same.
13309 (foperator_ge::fold_range): Same.
13310 (foperator_ge::op1_range): Same.
13311 (foperator_ge::op2_range): Same.
13313 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13315 * range-op-float.cc (frange_set_nan): New.
13316 (frange_drop_inf): New.
13317 (frange_drop_ninf): New.
13318 (foperator_equal::op1_range): Adjust for endpoints.
13319 (foperator_lt::op1_range): Same.
13320 (foperator_lt::op2_range): Same.
13321 (foperator_gt::op1_range): Same.
13322 (foperator_gt::op2_range): Same.
13323 (foperator_unordered::op1_range): Same.
13324 * value-query.cc (range_query::get_tree_range): Same.
13325 * value-range-pretty-print.cc (vrange_printer::visit): Same.
13326 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
13327 * value-range.cc (frange::set): Same.
13328 (frange::normalize_kind): Same.
13329 (frange::union_): Same.
13330 (frange::intersect): Same.
13331 (frange::operator=): Same.
13332 (early_nan_resolve): New.
13333 (frange::contains_p): New.
13334 (frange::singleton_p): New.
13335 (frange::set_nonzero): New.
13336 (frange::nonzero_p): New.
13337 (frange::set_zero): New.
13338 (frange::zero_p): New.
13339 (frange::set_nonnegative): New.
13340 (frange_float): New.
13342 (range_tests_nan): New.
13343 (range_tests_signed_zeros): New.
13344 (range_tests_floats): New.
13345 (range_tests): New.
13346 * value-range.h (frange::lower_bound): New.
13347 (frange::upper_bound): New.
13348 (vrp_val_min): Use real_inf with a sign instead of negating inf.
13349 (frange::frange): New.
13350 (frange::set_varying): Adjust for endpoints.
13351 (real_max_representable): New.
13352 (real_min_representable): New.
13354 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
13356 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
13359 2022-08-30 Martin Liska <mliska@suse.cz>
13361 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
13364 2022-08-30 Richard Biener <rguenther@suse.de>
13366 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
13367 the set of fallthru reachable blocks from function entry
13368 and use that to determine wlims.always_executed.
13370 2022-08-30 Richard Biener <rguenther@suse.de>
13372 PR tree-optimization/56654
13373 * tree-ssa-uninit.cc (cand_cmp): New.
13374 (find_uninit_use): First process all PHIs and collect candidate
13375 stmts, then sort those after RPO.
13376 (warn_uninitialized_phi): Pass on bb_to_rpo.
13377 (execute_late_warn_uninitialized): Compute and pass on
13378 reverse lookup of RPO number from basic block index.
13380 2022-08-30 Richard Biener <rguenther@suse.de>
13382 * gimple-predicate-analysis.h (uninit_analysis::operator()):
13384 * gimple-predicate-analysis.cc
13385 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
13387 * tree-ssa-uninit.cc (defined_args): New global.
13388 (compute_uninit_opnds_pos): Mask with the recorded set
13389 of guarded maybe-uninitialized uses.
13390 (uninit_undef_val_t::operator()): Remove.
13391 (find_uninit_use): Process all PHI uses, recording the
13392 guarded ones and marking the PHI result as uninitialized
13394 (warn_uninitialized_phi): Adjust.
13395 (execute_late_warn_uninitialized): Get rid of the PHI worklist
13396 and instead walk the function in RPO order.
13397 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
13399 2022-08-30 Tamar Christina <tamar.christina@arm.com>
13401 PR tree-optimization/106744
13402 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
13404 2022-08-30 Tamar Christina <tamar.christina@arm.com>
13406 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
13408 2022-08-29 David Faust <david.faust@oracle.com>
13411 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
13412 computation of index for anonymous members.
13414 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
13416 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
13419 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
13422 * config/i386/i386-expand.cc
13423 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
13424 * config/i386/sse.md (V_256H): Add V16BF.
13426 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13428 * config/s390/s390.cc (s390_address_cost): Declare.
13429 (s390_hard_regno_nregs): Declare.
13430 (s390_rtx_costs): Add handling for REG and MEM in SET.
13432 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13434 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
13435 (is_reverse_perm_mask): New function.
13436 (expand_perm_with_rot): Recognize reverse pattern.
13437 (expand_perm_with_vstbrq): New function.
13438 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
13439 (vectorize_vec_perm_const_1): Use.
13440 (s390_vectorize_vec_perm_const): Add expand functions.
13441 * config/s390/vx-builtins.md: Prefer vster over vler.
13443 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13445 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
13446 * config/s390/vector.md: Rewrite patterns to use vec_select.
13447 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
13450 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13453 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
13454 (rotl<mode>3_di): New pattern.
13455 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
13458 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13460 * config/s390/s390.cc (s390_issue_rate): Add z15.
13462 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
13464 * common/config/s390/s390-common.cc: Enable -funroll-loops and
13465 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
13466 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
13467 loops larger than 12 instructions.
13468 (s390_override_options_after_change): Set unroll options.
13469 (s390_option_override_internal): Likewise.
13470 * config/s390/s390.opt: Document munroll-only-small-loops.
13472 2022-08-29 Richard Biener <rguenther@suse.de>
13474 * gimple-predicate-analysis.cc (is_loop_exit,
13475 find_control_equiv_block): Inline into single caller ...
13476 (uninit_analysis::init_use_preds): ... here and refactor.
13478 2022-08-29 Richard Biener <rguenther@suse.de>
13480 * gimple-predicate-analysis.cc (compute_control_dep_chain):
13481 Inline is_loop_exit and refactor, add comment about
13484 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
13486 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
13487 (riscv_frame_info::reset(void)): New.
13488 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
13489 of memset when clean frame.
13491 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
13493 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
13494 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
13495 (riscv_address_insns): Add RVV modes condition.
13496 (riscv_binary_cost): Ditto.
13497 (riscv_rtx_costs): Adjust cost for RVV.
13498 (riscv_secondary_memory_needed): Add RVV modes condition.
13499 (riscv_hard_regno_nregs): Add RVV register allocation.
13500 (riscv_hard_regno_mode_ok): Add RVV register allocation.
13501 (riscv_class_max_nregs): Add RVV register allocation.
13502 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
13503 (UNITS_PER_V_REG): New macro.
13504 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
13505 (V_REG_FIRST): New macro.
13506 (V_REG_LAST): Ditto.
13507 (V_REG_NUM): Ditto.
13510 (VTYPE_REG_P): Ditto.
13511 (RISCV_DWARF_VL): Ditto.
13512 (RISCV_DWARF_VTYPE): Ditto.
13513 (enum reg_class): Add RVV register types.
13514 (REG_CLASS_CONTENTS): Add RVV register types.
13515 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
13517 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
13519 * config/riscv/riscv.md: Add new type for vector instructions.
13521 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
13524 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
13525 of MMA pointer conversions.
13527 2022-08-27 Xi Ruoyao <xry111@xry111.site>
13529 * config/i386/gcc-auto-profile: Regenerate.
13531 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13533 * real.cc (real_iszero): New.
13534 * real.h (real_iszero): New.
13536 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13538 * real.cc (real_isinf): New overload.
13539 (real_inf): Add sign argument.
13540 * real.h (real_isinf): New overload.
13541 (real_inf): Add sign argument.
13543 2022-08-26 Marek Polacek <polacek@redhat.com>
13546 * doc/invoke.texi: Document -Wself-move.
13548 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13550 * value-range.cc (vrange::set): Set varying.
13551 (vrange::set_nonzero): Same.
13552 (vrange::set_zero): Same.
13553 (vrange::set_nonnegative): Same.
13555 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13557 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
13558 copy op2 range when honoring signed zeros.
13560 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
13562 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
13564 (profitable_path_p): Same.
13566 2022-08-26 Richard Biener <rguenther@suse.de>
13568 * gimple-predicate-analysis.h
13569 (uninit_analysis::use_cannot_happen): Remove.
13570 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
13571 (uninit_analysis::use_cannot_happen): Likewise.
13572 (uninit_analysis::is_use_guarded): Do not call
13574 (dump_predicates): Remove.
13575 (simple_control_dep_chain): Remove edge overload.
13577 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
13579 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
13580 * internal-fn.def (GOMP_TARGET_REV): New.
13581 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
13582 'omp target device_ancestor_host' as in_other_partition and don't
13584 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
13585 * omp-expand.cc (expand_omp_target): For reverse offload, remove
13586 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
13587 empty-body nohost function.
13588 * omp-offload.cc (execute_omp_device_lower): Handle
13589 IFN_GOMP_TARGET_REV.
13590 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
13591 nullify fn argument for reverse offload
13593 2022-08-26 Jakub Jelinek <jakub@redhat.com>
13595 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
13596 * builtins.cc (expand_builtin_issignaling): New function.
13597 (expand_builtin_signbit): Don't overwrite target.
13598 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
13599 (fold_builtin_classify): Likewise.
13600 (fold_builtin_1): Likewise.
13601 * optabs.def (issignaling_optab): New.
13602 * fold-const-call.cc (fold_const_call_ss): Handle
13603 BUILT_IN_ISSIGNALING.
13604 * config/i386/i386.md (issignalingxf2): New expander.
13605 * doc/extend.texi (__builtin_issignaling): Document.
13606 (__builtin_isinf, __builtin_isnan): Clarify behavior with
13607 -ffinite-math-only.
13608 * doc/md.texi (issignaling<mode>2): Likewise.
13610 2022-08-26 Jakub Jelinek <jakub@redhat.com>
13612 PR tree-optimization/106099
13613 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
13614 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
13615 __builtin_trap to avoid the need of vops.
13617 2022-08-26 Richard Biener <rguenther@suse.de>
13619 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
13621 (compute_control_dep_chain): Adjust to honor marked region
13623 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
13624 region to improve compute_control_dep_chain walking.
13625 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
13627 2022-08-26 Richard Biener <rguenther@suse.de>
13629 * gimple-predicate-analysis.cc
13630 (uninit_analysis::collect_phi_def_edges): Only expand a
13631 PHI def edge when it is possibly undefined.
13633 2022-08-26 Martin Liska <mliska@suse.cz>
13635 * doc/extend.texi: Remove cr16 related stuff.
13636 * doc/install.texi: Likewise.
13637 * doc/invoke.texi: Likewise.
13638 * doc/md.texi: Likewise.
13639 * function-tests.cc (test_expansion_to_rtl): Likewise.
13640 * common/config/cr16/cr16-common.cc: Removed.
13641 * config/cr16/constraints.md: Removed.
13642 * config/cr16/cr16-protos.h: Removed.
13643 * config/cr16/cr16.cc: Removed.
13644 * config/cr16/cr16.h: Removed.
13645 * config/cr16/cr16.md: Removed.
13646 * config/cr16/cr16.opt: Removed.
13647 * config/cr16/predicates.md: Removed.
13648 * config/cr16/t-cr16: Removed.
13650 2022-08-26 liuhongt <hongtao.liu@intel.com>
13653 * config/i386/i386-builtin.def (BDESC): Add
13654 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
13655 corresponding builtins.
13656 * config/i386/i386.cc (ix86_gimple_fold_builtin):
13657 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
13658 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
13660 2022-08-25 Marek Polacek <polacek@redhat.com>
13662 * ginclude/stddef.h: Define nullptr_t.
13664 2022-08-25 Joseph Myers <joseph@codesourcery.com>
13666 * gimplify.cc (gimplify_modify_expr): Convert initialization from
13667 a variable-size CONSTRUCTOR to memset before call to
13668 gimplify_modify_expr_rhs.
13670 2022-08-25 Jason Merrill <jason@redhat.com>
13672 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
13674 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
13677 * config/s390/predicates.md (subreg_register_operand): New
13679 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
13680 function prototype.
13681 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
13682 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
13684 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
13685 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
13686 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
13687 subreg_register_operand predicate instead of register_operand.
13689 2022-08-25 Xi Ruoyao <xry111@xry111.site>
13691 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
13692 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
13693 * config/loongarch/loongarch.cc (loongarch_attribute_table):
13694 New attribute table.
13695 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
13696 (loongarch_handle_model_attribute): New static function.
13697 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
13698 model attribute of SYMBOL_REF_DECL into account returning
13699 SYMBOL_PCREL or SYMBOL_PCREL64.
13700 (loongarch_use_anchors_for_symbol_p): New static function.
13701 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
13702 (loongarch_symbol_extreme_p): New static function.
13703 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
13704 (loongarch_symbol_insns): Likewise.
13705 (loongarch_split_symbol_type): Likewise.
13706 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
13707 TARGET_CMODEL_EXTREME for PC-relative addressing.
13708 (loongarch_print_operand_reloc): Likewise.
13709 * doc/extend.texi (Variable Attributes): Document new
13710 LoongArch specific attribute.
13712 2022-08-25 Xi Ruoyao <xry111@xry111.site>
13714 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
13715 Return early if the rtx is not SYMBOL_REF.
13717 2022-08-25 Richard Biener <rguenther@suse.de>
13719 PR tree-optimization/106737
13720 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
13723 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
13726 * config/loongarch/loongarch.cc (loongarch_build_integer):
13728 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
13729 (HWIT_1U): New Defined.
13730 (LU12I_OPERAND): Use HOST_WIDE_INT.
13731 (LU32I_OPERAND): Likewise.
13732 (LU52I_OPERAND): Likewise.
13733 (HWIT_UC_0xFFF): Likwise.
13735 2022-08-24 Andrew Pinski <apinski@marvell.com>
13739 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
13741 (*slliuw): Likewise.
13742 (*bexti): Likewise. Also add a check for operands[2] to be less
13743 than the mode bitsize.
13745 2022-08-24 Andrew Pinski <apinski@marvell.com>
13747 * config/riscv/constraints.md (DbS): New constraint.
13748 (DnS): New constraint.
13749 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
13750 (*bclr<mode>): Likewise.
13751 (*binvi<mode>): Likewise.
13753 2022-08-24 Andrew Pinski <apinski@marvell.com>
13756 * config/riscv/predicates.md (single_bit_mask_operand):
13757 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
13758 (not_single_bit_mask_operand): Likewise.
13759 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
13760 1<<31 for 32bits as it is already handled.
13761 Call trunc_int_for_mode on the upper part after the subtraction.
13762 (riscv_move_integer): Call trunc_int_for_mode before generating
13763 the integer just make sure the constant has been sign extended
13765 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
13766 addition for the new rhs.
13767 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
13768 then mask off the upper 32bits of the HWI as it will be sign extended.
13770 2022-08-24 Andrew Pinski <apinski@marvell.com>
13772 * config/riscv/constraints.md (DsS): New constraint.
13773 (DsD): New constraint.
13774 * config/riscv/iterators.md (shiftm1c): New iterator.
13775 * config/riscv/bitmanip.md (*bset<mode>_mask):
13777 (*bset<mode>_1_mask): Likewise.
13779 2022-08-24 Andrew Pinski <apinski@marvell.com>
13781 * config/riscv/constraints.md (Ds3): New constraint.
13782 * config/riscv/predicates.md (imm123_operand): New predicate.
13783 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
13784 (*shNadduw): Likewise.
13786 2022-08-24 Andrew Pinski <apinski@marvell.com>
13788 * config/riscv/riscv.cc (riscv_print_operand):
13790 (riscv_print_operand_punct_valid_p): New function
13791 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
13792 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
13793 Use %~ instead of conditional the pattern on TARGET_64BIT.
13794 (rotrsi3): Likewise.
13795 (rotlsi3): Likewise.
13796 * config/riscv/riscv.md: Add ~ to the list of modifiers.
13797 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
13798 (subsi3): Likewise.
13799 (negsi2): Likewise.
13800 (mulsi3): Likewise.
13801 (optab>si3/any_div): Likewise.
13802 (*add<mode>hi3): Likewise.
13803 (<optab>si3/any_shift): Likewise.
13805 2022-08-24 Andrew Pinski <apinski@marvell.com>
13807 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
13808 keep the list in riscv.md in sync with this list.
13809 * config/riscv/riscv.md: Add list of modifiers as comments.
13811 2022-08-24 Andrew Pinski <apinski@marvell.com>
13813 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
13814 * config/riscv/iterators.md: Here.
13816 2022-08-24 Andrew Pinski <apinski@marvell.com>
13818 * config/riscv/bitmanip.md
13819 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
13820 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
13821 * config/riscv/iterators.md: Here.
13823 2022-08-24 Andrew Pinski <apinski@marvell.com>
13825 * config/riscv/riscv.md (GPR): Move to new file.
13826 (P, X, BR): Likewise.
13827 (MOVE32, MOVE64, SHORT): Likewise.
13828 (HISI, SUPERQI, SUBX): Likewise.
13829 (ANYI, ANYF, SOFTF): Likewise.
13830 (size, load, default_load): Likewise.
13831 (softload, store, softstore): Likewise.
13832 (reg, fmt, ifmt, amo): Likewise.
13833 (UNITMODE, HALFMODE): Likewise.
13834 (RINT, rint_pattern, rint_rm): Likewise.
13835 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
13836 (any_extend, any_shiftrt, any_shift): Likewise.
13837 (any_bitwise): Likewise.
13838 (any_div, any_mod): Likewise.
13839 (any_gt, any_ge, any_lt, any_le): Likewise.
13841 (optab, insn): Likewise.
13842 * config/riscv/iterators.md: New file.
13844 2022-08-24 Andrew Pinski <apinski@marvell.com>
13847 * config/riscv/bitmanip.md (bswaphi2): New pattern.
13849 2022-08-24 Andrew Pinski <apinski@marvell.com>
13852 * config/riscv/bitmanip.md (bswap<mode>2): Remove
13853 condition on TARGET_64BIT as X is already conditional there.
13855 2022-08-24 Joseph Myers <joseph@codesourcery.com>
13857 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
13858 exponent for the type.
13860 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
13863 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
13864 constants as legitimate addresses for functions.
13865 (bpf_small_register_classes_for_mode_p): Define target hook.
13867 2022-08-24 Richard Biener <rguenther@suse.de>
13869 * gimple-predicate-analysis.cc: Move predicate normalization
13870 after the comment documenting it.
13872 2022-08-24 Richard Biener <rguenther@suse.de>
13874 * gimple-predicate-analysis.h (predicate): Split out
13875 non-predicate related functionality into ..
13876 (uninit_analysis): .. this new class.
13877 * gimple-predicate-analysis.cc: Refactor into two classes.
13878 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
13880 2022-08-24 Richard Biener <rguenther@suse.de>
13882 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
13883 Do simple_control_dep_chain only up to cd_root, add the PHI
13884 operand edge to the chains like init_from_phi_def does.
13885 (predicate::is_use_guarded): Speedup early out, avoid half-way
13886 initializing the PHI def predicate.
13888 2022-08-24 Jakub Jelinek <jakub@redhat.com>
13891 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
13892 Change V32HF, V16HF and V8HF entries from "f" to "i".
13893 (iptr): Add V32BF, V16BF, V8BF and BF entries.
13894 (i128vldq): Add V16HF and V16BF entries.
13895 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
13896 mask_opernad3 -> mask_operand3.
13898 2022-08-24 Martin Liska <mliska@suse.cz>
13899 Jørgen Kvalsvik <j@lambda.is>
13901 * gcov.cc (add_line_counts): Add group functions to coverage
13903 (accumulate_line_counts): Similarly for files.
13905 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
13907 * config/loongarch/genopts/loongarch-strings: Support code model medium.
13908 * config/loongarch/genopts/loongarch.opt.in: Likewise.
13909 * config/loongarch/loongarch-def.c: Likewise.
13910 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
13911 (CMODEL_EXTREME): Likewise.
13912 (N_CMODEL_TYPES): Likewise.
13913 (CMODEL_MEDIUM): Likewise.
13914 * config/loongarch/loongarch-opts.cc: Likewise.
13915 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
13916 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
13917 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
13918 Tls symbol Loading support medium mode.
13919 (loongarch_legitimize_call_address): When medium mode, make a symbolic
13920 jump with two instructions.
13921 (loongarch_option_override_internal): Support medium.
13922 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
13923 (@sibcall_internal_1<mode>): New function call templates added to support
13925 (@sibcall_value_internal_1<mode>): Likewise.
13926 (@sibcall_value_multiple_internal_1<mode>): Likewise.
13927 (@call_internal_1<mode>): Likewise.
13928 (@call_value_internal_1<mode>): Likewise.
13929 (@call_value_multiple_internal_1<mode>): Likewise.
13930 * config/loongarch/loongarch.opt: Support medium.
13931 * config/loongarch/predicates.md: Add processing about medium mode.
13932 * doc/invoke.texi: Document for '-mcmodel=medium'.
13934 2022-08-24 Richard Biener <rguenther@suse.de>
13936 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
13937 Start the compute_control_dep_chain walk from the immediate
13938 dominator of the PHI.
13940 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
13943 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
13945 (_tile_stream_loadd_internal): Likewise.
13946 (_tile_stored_internal): Likewise.
13948 2022-08-23 Richard Biener <rguenther@suse.de>
13950 PR tree-optimization/106722
13951 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
13952 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
13953 * gimple-predicate-analysis.cc: ... here and document.
13954 (simple_control_dep_chain): New function, factored from
13955 predicate::use_cannot_happen.
13956 (predicate::use_cannot_happen): Adjust.
13957 (predicate::predicate): Use simple_control_dep_chain as fallback.
13959 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
13961 * range-op-float.cc (foperator_equal::op1_range): Set range to
13964 2022-08-23 Richard Biener <rguenther@suse.de>
13966 * gimple-predicate-analysis.cc (is_loop_exit): Split out
13968 (is_non_loop_exit_postdominating): ... here. Remove after
13970 (find_control_equiv_block): ... here.
13971 (compute_control_dep_chain): ... and here.
13972 (predicate::is_use_guarded): Do not excempt loop exits
13973 from short-cutting the case of the use post-dominating the
13976 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
13978 PR tree-optimization/106687
13979 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
13980 for the VREL_GT case as well.
13982 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
13984 * config/pru/pru.md (pru_<code>di3): New alternative for
13985 two operands but without earlyclobber.
13987 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
13989 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
13990 variants for loading -1 consts.
13992 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
13995 * config/pru/constraints.md (Um): New constraint for -1.
13996 (Uf): New constraint for IOR fill-bytes constants.
13997 (Uz): New constraint for AND zero-bytes constants.
13998 * config/pru/predicates.md (const_fillbytes_operand): New
13999 predicate for IOR fill-bytes constants.
14000 (const_zerobytes_operand): New predicate for AND zero-bytes
14002 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
14003 (struct pru_byterange): New struct to describe a byte range.
14004 (pru_calc_byterange): New declaration.
14005 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
14006 64-bit zero-extend.
14007 (pru_output_sign_extend): Remove.
14008 (pru_calc_byterange): New helper function to extract byte
14009 range info from a constant.
14010 (pru_print_operand): Remove 'y' and 'z' print modifiers.
14011 * config/pru/pru.md (zero_extendqidi2): New pattern.
14012 (zero_extendhidi2): New pattern.
14013 (zero_extendsidi2): New pattern.
14014 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
14015 (@pru_ior_fillbytes<mode>): New pattern.
14016 (@pru_and_zerobytes<mode>): New pattern.
14017 (<code>di3): Rewrite as an expand and handle ZERO and FILL
14019 (pru_<code>di3): New name for <code>di3.
14020 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
14021 handle bit-test for 64-bit registers.
14023 2022-08-22 Richard Biener <rguenther@suse.de>
14025 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
14026 (predicate::def_expr): Likewise.
14027 (predicate::use_expr): Likewise.
14028 (predicate::expr): Likewise.
14029 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
14030 (predicate::use_expr): Likewise.
14031 (predicate::expr): Likewise.
14032 (predicate::is_use_guarded): Do not build m_use_expr.
14034 2022-08-22 Martin Liska <mliska@suse.cz>
14037 * configure.ac: Detect O_NONBLOCK flag for open.
14038 * config.in: Regenerate.
14039 * configure: Regenerate.
14040 * opts-common.cc (jobserver_info::connect): Set is_connected
14041 properly based on O_NONBLOCK.
14042 * opts-jobserver.h (struct jobserver_info): Add is_connected
14045 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
14047 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
14048 and repeat value different.
14050 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
14053 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
14054 (tool_cleanup): Unlink offload_names.
14055 (compile_offload_image): Take filename argument to set it early.
14056 (compile_images_for_offload_targets): Update call; set
14057 offload_names to NULL after freeing the array.
14059 2022-08-22 Richard Biener <rguenther@suse.de>
14061 PR tree-optimization/105937
14062 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
14064 (execute_late_warn_uninitialized): Mark backedges.
14066 2022-08-22 Richard Biener <rguenther@suse.de>
14068 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14069 If the use is guarded with multiple predicate paths compute
14070 the predicates intersection before going forward. When
14071 compute_control_dep_chain wasn't able to come up with at
14072 least one path from function entry to the PHI edge compute
14073 a conservative sparse path instead.
14075 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
14077 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
14078 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14079 Add extreme support for TLS GD and LD types.
14080 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
14082 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
14083 the symbol address will be obtained through five instructions.
14084 (loongarch_print_operand_reloc): Add support.
14085 (loongarch_print_operand): Add support.
14086 (loongarch_print_operand_address): Add support.
14087 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
14088 incompatible with '-mno-explicit-relocs'.
14089 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
14090 Loads bits 12-31 of data into registers.
14091 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
14092 the source register.
14093 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
14094 the source register.
14095 * config/loongarch/predicates.md: Symbols need to be decomposed
14096 when defining the macro TARGET_CMODEL_EXTREME
14097 * doc/invoke.texi: Modify the description information of cmodel in the document.
14098 Document -W[no-]extreme-plt.
14100 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
14102 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
14104 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
14105 omp_requires_file to temp_files.
14106 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
14107 (main): Remove local omp_requires_file var.
14108 (tool_cleanup): Handle omp_requires_file.
14110 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
14112 * gimple-range-path.cc (path_range_query::path_range_query):
14113 Remove constructor that takes edge.
14114 * gimple-range-path.h (class path_range_query): Same.
14115 * tree-ssa-loop-ch.cc (edge_range_query): New.
14116 (entry_loop_condition_is_static): Call edge_range_query.
14118 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14120 * config/xtensa/xtensa.h
14121 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
14122 Add new register class "ISC_REGS".
14123 * config/xtensa/constraints.md (c): Add new register constraint.
14124 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
14125 (sibcall_internal, sibcall_value_internal):
14126 Change to use the new register constraint, and remove two split
14127 patterns for fixups that are no longer needed.
14129 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
14131 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
14132 pattern formatting.
14134 2022-08-18 Tim Lange <mail@tim-lange.me>
14137 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
14139 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
14141 * gimple-range-path.cc (path_range_query::path_range_query): Add
14142 various constructors to take a path.
14143 (path_range_query::~path_range_query): Remove m_alloced_ranger.
14144 (path_range_query::range_on_path_entry): Adjust for m_ranger being
14146 (path_range_query::set_path): Rename to...
14147 (path_range_query::reset_path): ...this and call compute_ranges.
14148 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
14150 (path_range_query::range_defined_in_block): Same.
14151 (path_range_query::compute_ranges_in_block): Same.
14152 (path_range_query::adjust_for_non_null_uses): Same.
14153 (path_range_query::compute_exit_dependencies): Use m_path instead
14155 (path_range_query::compute_ranges): Remove path argument.
14156 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
14157 (path_range_query::compute_outgoing_relations): Same.
14158 * gimple-range-path.h (class path_range_query): Add various
14160 Make compute_ranges and compute_exit_dependencies private.
14161 Rename set_path to reset_path.
14162 Make m_ranger a reference.
14163 Remove m_alloced_ranger.
14164 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
14166 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
14167 ranger and instantiate a new path_range_query every time.
14168 (ch_base::copy_headers): Pass ranger instead of path_range_query.
14169 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
14170 (back_threader::~back_threader): Remove m_solver.
14171 (back_threader::find_taken_edge_switch): Adjust for m_ranger
14173 (back_threader::find_taken_edge_cond): Same.
14174 (back_threader::dump): Remove m_solver.
14175 (back_threader::back_threader): Move verify_marked_backedges
14176 here from the path_range_query constructor.
14177 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
14178 some code from compute_ranges_from_state here.
14179 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
14180 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
14181 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
14182 compute_ranges_from_state to compute_exit_dependencies.
14185 2022-08-18 Richard Biener <rguenther@suse.de>
14187 PR middle-end/106617
14188 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
14189 guard, disable on GENERIC to not cause quadratic behavior
14190 with the fold-const.cc implementation and the use of !
14192 2022-08-18 Andrew Pinski <apinski@marvell.com>
14194 PR gcov-profile/106659
14195 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
14198 2022-08-18 konglin1 <lingling.kong@intel.com>
14200 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
14202 (ix86_expand_vector_init_duplicate): Support vector BFmode.
14203 (ix86_expand_vector_init_one_nonzero): Ditto.
14204 (ix86_expand_vector_init_one_var): Ditto.
14205 (ix86_expand_vector_init_concat): Ditto.
14206 (ix86_expand_vector_init_interleave): Ditto.
14207 (ix86_expand_vector_init_general): Ditto.
14208 (ix86_expand_vector_init): Ditto.
14209 (ix86_expand_vector_set_var): Ditto.
14210 (ix86_expand_vector_set): Ditto.
14211 (ix86_expand_vector_extract): Ditto.
14212 * config/i386/i386.cc (classify_argument): Add BF vector modes.
14213 (function_arg_64): Ditto.
14214 (ix86_gimplify_va_arg): Ditto.
14215 (ix86_get_ssemov): Ditto.
14216 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
14217 (VALID_AVX512F_REG_MODE): Ditto.
14218 (host_detect_local_cpu): Ditto.
14219 (VALID_SSE2_REG_MODE): Ditto.
14220 * config/i386/i386.md: Add BF vector modes.
14221 (MODE_SIZE): Ditto.
14222 (ssemodesuffix): Add bf suffix for BF vector modes.
14223 (ssevecmode): Ditto.
14224 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
14225 (VI12HFBF_AVX512VL): Ditto.
14226 (V_256_512): Ditto.
14227 (VF_AVX512HFBF16): Ditto.
14228 (VF_AVX512BWHFBF16): Ditto.
14231 (VIHFBF_256): Ditto.
14232 (VIHFBF_AVX512BW): Ditto.
14233 (VI2F_256_512):Ditto.
14237 (sseinsnmode): Ditto.
14238 (sseconstm1): Ditto.
14239 (sseintmodesuffix): New mode_attr.
14240 (avx512fmaskmode): Ditto.
14241 (avx512fmaskmodelower): Ditto.
14242 (ssedoublevecmode): Ditto.
14243 (ssehalfvecmode): Ditto.
14244 (ssehalfvecmodelower): Ditto.
14245 (ssescalarmode): Add vector BFmode mapping.
14246 (ssescalarmodelower): Ditto.
14247 (ssexmmmode): Ditto.
14248 (ternlogsuffix): Ditto.
14249 (ssescalarsize): Ditto.
14250 (sseintprefix): Ditto.
14253 (bcstscalarsuff): Ditto.
14254 (<avx512>_blendm<mode>): New define_insn for BFmode.
14255 (<avx512>_store<mode>_mask): Ditto.
14256 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
14257 (vec_set<mode>_0): New define_insn for BF vector set.
14258 (V8BFH_128): New mode_iterator for BFmode.
14259 (avx512fp16_mov<mode>): Ditto.
14260 (vec_set<mode>): New define_insn for BF vector set.
14261 (@vec_extract_hi_<mode>): Ditto.
14262 (@vec_extract_lo_<mode>): Ditto.
14263 (vec_set_hi_<mode>): Ditto.
14264 (vec_set_lo_<mode>): Ditto.
14265 (*vec_extract<mode>_0): New define_insn_and_split for BF
14267 (*vec_extract<mode>): New define_insn.
14268 (VEC_EXTRACT_MODE): Add BF vector modes.
14269 (PINSR_MODE): Add V8BF.
14271 (pinsr_evex_isa): Ditto.
14272 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
14273 insert for V8BFmode.
14274 (pbroadcast_evex_isa): Add BF vector modes.
14275 (AVX2_VEC_DUP_MODE): Ditto.
14276 (VEC_INIT_MODE): Ditto.
14277 (VEC_INIT_HALF_MODE): Ditto.
14278 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
14280 (avx2_pbroadcast<mode>_1): Ditto.
14281 (<avx512>_vec_dup<mode>_1): Ditto.
14282 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
14285 2022-08-18 Martin Liska <mliska@suse.cz>
14287 * configure: Regenerate.
14289 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
14292 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
14293 (<u>madddi4_highpart): New.
14294 (<u>madddi4_highpart_le): New.
14296 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
14298 * gimple-range-path.cc
14299 (path_range_query::compute_exit_dependencies): Use
14300 gimple_range_ssa_names.
14302 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
14304 * config/riscv/predicates.md: Adjust runtime invariant.
14305 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
14306 (NUM_POLY_INT_COEFFS): New.
14307 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
14309 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
14310 Adjust runtime invariant.
14311 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
14313 (enum riscv_microarchitecture_type): Ditto.
14314 (riscv_valid_offset_p): Ditto.
14315 (riscv_valid_lo_sum_p): Ditto.
14316 (riscv_address_insns): Ditto.
14317 (riscv_load_store_insns): Ditto.
14318 (riscv_legitimize_move): Ditto.
14319 (riscv_binary_cost): Ditto.
14320 (riscv_rtx_costs): Ditto.
14321 (riscv_output_move): Ditto.
14322 (riscv_extend_comparands): Ditto.
14323 (riscv_flatten_aggregate_field): Ditto.
14324 (riscv_get_arg_info): Ditto.
14325 (riscv_pass_by_reference): Ditto.
14326 (riscv_elf_select_rtx_section): Ditto.
14327 (riscv_stack_align): Ditto.
14328 (riscv_compute_frame_info): Ditto.
14329 (riscv_initial_elimination_offset): Ditto.
14330 (riscv_set_return_address): Ditto.
14331 (riscv_for_each_saved_reg): Ditto.
14332 (riscv_first_stack_step): Ditto.
14333 (riscv_expand_prologue): Ditto.
14334 (riscv_expand_epilogue): Ditto.
14335 (riscv_can_use_return_insn): Ditto.
14336 (riscv_secondary_memory_needed): Ditto.
14337 (riscv_hard_regno_nregs): Ditto.
14338 (riscv_convert_vector_bits): New.
14339 (riscv_option_override): Adjust runtime invariant.
14340 (riscv_promote_function_mode): Ditto.
14341 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
14342 (BITS_PER_RISCV_VECTOR): New.
14343 (BYTES_PER_RISCV_VECTOR): New.
14344 * config/riscv/riscv.md: Adjust runtime invariant.
14346 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
14348 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14349 Get __tls_get_addr address through got table when disable plt.
14351 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14353 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
14354 Use an "addmi" machine instruction for updating the stack pointer
14355 rather than addition/subtraction via hard register A9, if the amount
14356 of change satisfies the literal value conditions of that instruction
14357 when the CALL0 ABI is used.
14358 (xtensa_expand_epilogue): Ditto.
14359 And also inhibit the stack pointer addition of constant zero.
14361 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
14364 * config/i386/i386-features.cc
14365 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
14366 of XINT with INTVAL (XEXP (src, 1)).
14368 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
14370 * gimple-range-path.cc
14371 (path_range_query::compute_ranges_in_block): Remove
14372 set_root_oracle call.
14373 (path_range_query::compute_ranges): Pass ranger oracle to
14375 * value-relation.cc (path_oracle::reset_path): Set root oracle.
14376 * value-relation.h (path_oracle::reset_path): Add root oracle
14379 2022-08-17 Marek Polacek <polacek@redhat.com>
14382 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
14383 OPT_Wpessimizing_move and OPT_Wredundant_move.
14384 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
14386 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14387 Jakub Jelinek <jakub@redhat.com>
14390 * common.opt (static-libquadmath): New option.
14391 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
14392 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
14394 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
14396 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
14397 when filenames come out identically.
14399 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
14401 PR middle-end/106548
14402 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
14403 for 'simd' linear-step values that are variable.
14405 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
14406 Chung-Lin Tang <cltang@codesourcery.com>
14409 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
14410 instead of removed langhook.
14411 * omp-general.h (omp_mappable_type): New prototype.
14412 * omp-general.cc (omp_mappable_type): New; moved from ...
14413 * langhooks.cc (lhd_omp_mappable_type): ... here.
14414 * langhooks-def.h (lhd_omp_mappable_type,
14415 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
14416 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
14417 * langhooks.h (struct lang_hooks_for_types): Remove
14420 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
14422 * config.gcc (arm): Define with_float to hard if target name ends
14425 2022-08-17 Richard Biener <rguenther@suse.de>
14427 * tree-ssa-threadbackward.cc
14428 (back_threader_profitability): Split profitable_path_p
14429 into possibly_profitable_path_p and itself, keep state
14431 (back_threader::m_profit): Remove.
14432 (back_threader::find_paths): Likewise.
14433 (back_threader::maybe_register_path): Take profitability
14434 instance as parameter.
14435 (back_threader::find_paths_to_names): Likewise. Use
14436 possibly_profitable_path_p and avoid the path range query
14437 when the path is currently too large.
14438 (back_threader::find_paths): Fold into ...
14439 (back_threader::maybe_thread_block): ... this.
14440 (get_gimple_control_stmt): Remove.
14441 (back_threader_profitability::possibly_profitable_path_p):
14442 Split out from profitable_path_p, do early profitability
14444 (back_threader_profitability::profitable_path_p): Do final
14445 profitability path after the taken edge has been determined.
14447 2022-08-17 Xi Ruoyao <xry111@xry111.site>
14449 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
14450 (fmin<mode>3): Likewise.
14452 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
14454 * gimple-range-fold.cc (gimple_range_ssa_names): New.
14455 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
14456 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
14457 code to new routine.
14459 2022-08-16 Martin Liska <mliska@suse.cz>
14462 * doc/install.texi: Remove link to www.bullfreeware.com
14464 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
14466 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
14468 (riscv_ext_version_table): Ditto.
14469 (riscv_ext_flag_table): Ditto.
14470 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
14472 (TARGET_ZFHMIN): Ditto.
14473 (TARGET_ZFH): Ditto.
14474 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
14475 for zfh and zfhmin.
14476 (riscv_emit_float_compare): Handle HFmode.
14477 * config/riscv/riscv.md (ANYF): Add HF.
14482 (truncdfhf2): Ditto.
14483 (extendhfsf2): Ditto.
14484 (extendhfdf2): Ditto.
14485 (*movhf_hardfloat): Ditto.
14486 (*movhf_softfloat): Make sure not ZFHMIN.
14487 * config/riscv/riscv.opt (riscv_zf_subext): New.
14489 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
14491 * config/riscv/riscv-builtins.cc: include stringpool.h
14492 (riscv_float16_type_node): New.
14493 (riscv_init_builtin_types): Ditto.
14494 (riscv_init_builtins): Call riscv_init_builtin_types.
14495 * config/riscv/riscv-modes.def (HF): New.
14496 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
14497 (riscv_mangle_type): New.
14498 (riscv_scalar_mode_supported_p): Ditto.
14499 (riscv_libgcc_floating_mode_supported_p): Ditto.
14500 (riscv_excess_precision): Ditto.
14501 (riscv_floatn_mode): Ditto.
14502 (riscv_init_libfuncs): Ditto.
14503 (TARGET_MANGLE_TYPE): Ditto.
14504 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
14505 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
14506 (TARGET_INIT_LIBFUNCS): Ditto.
14507 (TARGET_C_EXCESS_PRECISION): Ditto.
14508 (TARGET_FLOATN_MODE): Ditto.
14509 * config/riscv/riscv.md (mode): Add HF.
14510 (softload): Add HF.
14511 (softstore): Ditto.
14515 (*movhf_softfloat): New.
14517 2022-08-16 Richard Biener <rguenther@suse.de>
14519 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14520 Do not walk further if we are leaving the current loop.
14522 2022-08-16 Sergei Trofimovich <siarheit@google.com>
14525 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
14526 argument using xstrdup().
14528 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
14530 * gimple-range-path.cc (path_range_query::import_p): Rename to...
14531 (path_range_query::exit_dependency_p): ...this.
14532 (path_range_query::dump): Rename imports to exit dependencies.
14533 (path_range_query::compute_ranges_in_phis): Same.
14534 (path_range_query::compute_ranges_in_block): Same.
14535 (path_range_query::adjust_for_non_null_uses): Same.
14536 (path_range_query::compute_ranges): Same.
14537 (path_range_query::compute_phi_relations): Same.
14538 (path_range_query::add_to_imports): Rename to...
14539 (path_range_query::add_to_exit_dependencies): ...this.
14540 (path_range_query::compute_imports): Rename to...
14541 (path_range_query::compute_exit_dependencies): ...this.
14542 * gimple-range-path.h (class path_range_query): Rename imports to
14545 2022-08-16 Martin Liska <mliska@suse.cz>
14547 * value-range-storage.h (class obstack_vrange_allocator): Mark
14548 the class as final.
14549 (class ggc_vrange_allocator): Likewise.
14551 2022-08-16 Martin Liska <mliska@suse.cz>
14553 * value-range-equiv.h (class value_range_equiv): Add virtual
14555 * value-range.h: Likewise.
14557 2022-08-16 Richard Biener <rguenther@suse.de>
14559 PR middle-end/106630
14560 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
14561 narrowing conversions.
14563 2022-08-16 Martin Liska <mliska@suse.cz>
14565 * value-range-equiv.h (class value_range_equiv):
14567 2022-08-16 Martin Liska <mliska@suse.cz>
14569 * config/i386/i386-features.h (class general_scalar_chain): Add
14570 final override for a method.
14571 (class timode_scalar_chain): Likewise.
14573 2022-08-16 Richard Biener <rguenther@suse.de>
14575 * doc/invoke.texi (max-jump-thread-paths): Adjust.
14577 2022-08-16 Martin Liska <mliska@suse.cz>
14579 * opts-common.cc (jobserver_info::connect): Open fifo
14580 in non-blocking mode.
14582 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
14585 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
14586 check to preparation statements and add handlings for !TARGET_MMA.
14587 (define_expand movxo): Likewise.
14589 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
14591 PR tree-optimization/106322
14592 * tree-vect-stmts.cc (vectorizable_call): Don't allow
14593 vect_emulated_vector_p type for both vectype_in and vectype_out.
14595 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14597 * common/config/xtensa/xtensa-common.cc
14598 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
14599 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
14601 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
14603 PR tree-optimization/106621
14604 * value-range.cc (irange::set): Check for POLY_INT_CST early.
14606 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14608 * config/i386/i386-features.cc
14609 (timode_scalar_chain::compute_convert_gain): Provide costs for
14610 shifts and rotates.
14611 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
14612 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
14613 (timode_scalar_to_vector_candidate_p): Handle all shifts and
14614 rotates by integer constants between 0 and 127.
14616 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14618 * config/i386/i386-features.cc
14619 (timode_scalar_chain::compute_convert_gain): Provide gains for
14620 comparisons against 0/-1, including "*testti" patterns.
14622 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14624 PR tree-optimization/64992
14625 PR tree-optimization/98956
14626 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
14627 when X is zero_one_valued_p and the shift constant C is valid.
14628 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
14629 when X is zero_one_valued_p and the shift constant C is valid.
14631 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
14632 Richard Biener <rguenther@suse.de>
14634 PR tree-optimization/71343
14635 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
14636 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
14637 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
14638 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
14640 2022-08-15 Richard Biener <rguenther@suse.de>
14642 * gimple-range-path.cc (range_on_path_entry): Just
14643 call range_on_entry.
14645 2022-08-15 Jakub Jelinek <jakub@redhat.com>
14647 PR rtl-optimization/106590
14648 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
14649 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
14650 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
14651 further conditional moves.
14653 2022-08-15 konglin1 <lingling.kong@intel.com>
14655 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
14656 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
14657 (ix86_register_bf16_builtin_type): New function.
14658 (ix86_bf16_type_node): New.
14659 (ix86_bf16_ptr_type_node): Ditto.
14660 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
14661 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
14662 (ADJUST_FLOAT_FORMAT): Ditto.
14663 * config/i386/i386.cc (classify_argument): Handle BFmode.
14664 (construct_container): Ditto.
14665 (function_value_32): Return __bf16 by %xmm0.
14666 (function_value_64): Return __bf16 by SSE register.
14667 (ix86_output_ssemov): Handle BFmode.
14668 (ix86_legitimate_constant_p): Disable BFmode constant double.
14669 (ix86_secondary_reload): Require gpr as intermediate register
14670 to store __bf16 from sse register when sse4 is not available.
14671 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
14672 (ix86_mangle_type): Add manlging for __bf16 type.
14673 (ix86_invalid_conversion): New function for target hook.
14674 (ix86_invalid_unary_op): Ditto.
14675 (ix86_invalid_binary_op): Ditto.
14676 (TARGET_INVALID_CONVERSION): New define for target hook.
14677 (TARGET_INVALID_UNARY_OP): Ditto.
14678 (TARGET_INVALID_BINARY_OP): Ditto.
14679 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
14680 * config/i386/i386.md ("mode"): Add BFmode.
14681 (MODE_SIZE): Ditto.
14682 (X87MODEFH): Ditto.
14683 (HFBF): Add new define_mode_iterator.
14684 (*pushhf_rex64): Change for BFmode.
14685 (*push<mode>_rex64): Ditto.
14687 (*push<mode>): Ditto.
14689 (hfbfconstf): Add new define_mode_attr.
14690 (*mov<mode>_internal): Add BFmode.
14692 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
14693 Uroš Bizjak <ubizjak@gmail.com>
14695 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
14696 New predicate for values between 0/1 and 255, not multiples of 8.
14697 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
14698 shifts by constant bit counts.
14699 (*ashlvti3_internal): New define_insn_and_split that lowers
14700 logical left shifts by constant bit counts, that aren't multiples
14701 of 8, before reload.
14702 (lshrv1ti3): Delay lowering of logical right shifts by constant.
14703 (*lshrv1ti3_internal): New define_insn_and_split that lowers
14704 logical right shifts by constant bit counts, that aren't multiples
14705 of 8, before reload.
14706 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
14707 constant bit counts.
14708 (*ashrv1ti3_internal): New define_insn_and_split that lowers
14709 arithmetic right shifts by constant bit counts before reload.
14710 (rotlv1ti3): Delay lowering of rotate left by constant.
14711 (*rotlv1ti3_internal): New define_insn_and_split that lowers
14712 rotate left by constant bits counts before reload.
14713 (rotrv1ti3): Delay lowering of rotate right by constant.
14714 (*rotrv1ti3_internal): New define_insn_and_split that lowers
14715 rotate right by constant bits counts before reload.
14717 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
14719 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
14721 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
14723 PR middle-end/106057
14724 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
14726 (possible_polymorphic_call_targets): Use it.
14728 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
14730 * tree-ssa-loop.h: Improve comment
14732 2022-08-12 Jakub Jelinek <jakub@redhat.com>
14734 PR tree-optimization/106506
14735 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
14736 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
14738 2022-08-12 Richard Biener <rguenther@suse.de>
14740 PR tree-optimization/106593
14741 * tree-ssa-threadbackward.cc (back_threader::find_paths):
14742 If the imports from the conditional do not satisfy
14743 gimple_range_ssa_p don't try to thread anything.
14745 2022-08-12 Tamar Christina <tamar.christina@arm.com>
14748 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
14749 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
14751 2022-08-12 Tim Lange <mail@tim-lange.me>
14754 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
14756 2022-08-12 Andrew Pinski <apinski@marvell.com>
14758 * config/aarch64/aarch64.md: Remove comment
14759 about MD_INCLUDES as it is out of date and not needed.
14761 2022-08-11 Richard Biener <rguenther@suse.de>
14763 * gimple-range-path.cc (path_range_query::compute_imports):
14764 Restrict walking SSA defs to blocks inside the path. Track
14765 the same operands as range_def_chain::get_def_chain does.
14767 2022-08-11 Richard Biener <rguenther@suse.de>
14769 PR tree-optimization/106514
14770 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14771 Compute and unwind both m_imports and interesting on the fly during
14773 (back_threader::find_paths): Compute the original m_imports
14774 from just the SSA uses of the exit conditional. Drop
14775 handling single_succ_to_potentially_threadable_block.
14776 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
14777 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
14779 2022-08-11 Richard Biener <rguenther@suse.de>
14781 * gimple-range-path.h (path_range_query::compute_imports):
14782 Take path as argument, not the exit block.
14783 * gimple-range-path.cc (path_range_query::compute_imports):
14784 Likewise, and adjust, avoiding possibly stale m_path.
14785 (path_range_query::compute_outgoing_relations): Register
14786 relations for all conditionals.
14787 * tree-ssa-threadbackward.cc (back_threader::find_paths):
14790 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
14792 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
14793 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
14794 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
14796 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
14798 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
14799 Remove function declaration.
14801 2022-08-10 Richard Biener <rguenther@suse.de>
14803 PR tree-optimization/106513
14804 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
14807 2022-08-10 Martin Liska <mliska@suse.cz>
14810 * opts-jobserver.h (struct jobserver_info): Add pipefd.
14811 (jobserver_info::connect): New.
14812 (jobserver_info::disconnect): Likewise.
14813 (jobserver_info::get_token): Likewise.
14814 (jobserver_info::return_token): Likewise.
14815 * opts-common.cc: Implement the new functions.
14817 2022-08-10 Martin Liska <mliska@suse.cz>
14819 * opts-jobserver.h: Add one member.
14820 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
14821 format of --jobserver-auth.
14823 2022-08-10 Martin Liska <mliska@suse.cz>
14825 * gcc.cc (driver::detect_jobserver): Remove and move to
14827 * lto-wrapper.cc (jobserver_active_p): Likewise.
14828 (run_gcc): Likewise.
14829 * opts-jobserver.h: New file.
14830 * opts-common.cc (jobserver_info::jobserver_info): New function.
14832 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
14834 * config/i386/i386-features.cc (scalar_chain::convert_compare):
14835 Create new pseudos only when/if needed. Add support for TEST,
14836 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
14837 When broadcasting V2DImode and V4SImode use new pseudo register.
14838 (timode_scalar_chain::convert_op): Do nothing if operand is
14839 already V1TImode. Avoid generating useless SUBREG conversions,
14840 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
14841 in addition to CONST_INT by using CONST_SCALAR_INT_P.
14842 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
14843 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
14844 pattern as an STV candidate.
14845 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
14846 operands in binary logic operations.
14847 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
14848 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
14849 as regular PTEST, i.e. cost->sse_op.
14850 * config/i386/i386.md (*testti_doubleword): New pre-reload
14851 define_insn_and_split that recognizes comparison of TI mode AND
14853 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
14854 define_insn_and_split that recognizes UNSPEC_PTEST of identical
14857 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
14858 Richard Biener <rguenther@suse.de>
14860 PR middle-end/21137
14861 PR tree-optimization/98954
14862 * fold-const.cc (fold_binary_loc): Remove optimizations to
14863 optimize ((X >> C1) & C2) ==/!= 0.
14864 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
14865 check, and handle all values of INTEGER_CSTs @2 and @3.
14866 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
14867 checks, and handle all values of INTEGER_CSTs @2 and @3.
14869 2022-08-09 David Malcolm <dmalcolm@redhat.com>
14871 * doc/invoke.texi (Static Analyzer Options): Add notes on which
14872 functions the analyzer has hardcoded knowledge of.
14874 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
14876 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
14877 (num_arg_regs): Allow vector arguments.
14878 (gcn_function_arg): Likewise.
14879 (gcn_function_arg_advance): Likewise.
14880 (gcn_arg_partial_bytes): Likewise.
14881 (gcn_return_in_memory): Likewise.
14882 (gcn_expand_epilogue): Get return value from v8.
14883 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
14884 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
14885 (FIRST_VPARM_REG): New.
14886 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
14887 (struct gcn_args): Add vnum field.
14888 (LIBCALL_VALUE): All vector return values.
14889 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
14890 (gcn_call_value_indirect): Likewise.
14892 2022-08-09 Richard Biener <rguenther@suse.de>
14894 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
14895 directly. Avoid update_ssa when in SSA form.
14896 (expand_omp_atomic_store): Likewise.
14897 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
14899 (expand_omp_atomic_pipeline): Likewise.
14900 (expand_omp_atomic_mutex): Likewise.
14901 * tree-parloops.cc (gen_parallel_loop): Use
14902 TODO_update_ssa_no_phi after loop_version.
14904 2022-08-09 Richard Biener <rguenther@suse.de>
14906 * doc/invoke.texi (max-fsm-thread-length): Remove.
14907 * params.opt (max-fsm-thread-length): Likewise.
14908 * tree-ssa-threadbackward.cc
14909 (back_threader_profitability::profitable_path_p): Do not
14910 check max-fsm-thread-length.
14912 2022-08-09 Richard Biener <rguenther@suse.de>
14914 PR tree-optimization/106514
14915 * params.opt (max-jump-thread-paths): New.
14916 * doc/invoke.texi (max-jump-thread-paths): Document.
14917 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
14918 Honor max-jump-thread-paths, take overall_path argument.
14919 (back_threader::find_paths): Pass 1 as initial overall_path.
14921 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
14923 PR middle-end/106492
14924 * omp-low.cc (lower_rec_input_clauses): Add missing folding
14925 to data type of linear-clause list item.
14927 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
14929 PR tree-optimization/106556
14930 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
14931 type of the cond_expr operands being evaluted.
14933 2022-08-08 Tom Honermann <tom@honermann.net>
14935 * ginclude/stdatomic.h (atomic_char8_t,
14936 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
14938 2022-08-08 Andrew Pinski <apinski@marvell.com>
14940 PR middle-end/103645
14941 * gimplify.cc (gimplify_init_constructor): Don't build/add
14942 gimple assignment of an empty type.
14944 2022-08-08 Richard Biener <rguenther@suse.de>
14948 * dwarf2out.cc (dwarf2out_register_external_die): Restore
14950 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
14951 to input DECL_INITIAL, avoiding to commit drefs.
14953 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
14955 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
14956 for x86_64_hilo_general_operand to general operand. Call
14957 force_reg on parts that are not x86_64_immediate_operand.
14959 2022-08-05 David Malcolm <dmalcolm@redhat.com>
14962 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
14964 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
14966 * expmed.cc (emit_store_flag_1): Move code to expand double word
14967 equality and inequality against zero or -1, using word operations,
14968 to after trying to use the backend's cstore<mode>4 optab/expander.
14970 2022-08-05 Tamar Christina <tamar.christina@arm.com>
14972 PR middle-end/106534
14973 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
14974 value_replacement and store_elim from diamonds.
14976 2022-08-05 Richard Biener <rguenther@suse.de>
14978 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
14979 Check whether the registry register_path rejected the path.
14980 (back_threader_registry::register_path): Return whether
14981 register_jump_thread succeeded.
14983 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
14985 PR tree-optimization/106514
14986 * value-range.cc (unsupported_range::unsupported_range): Move...
14987 * value-range.h (unsupported_range::unsupported_range): ...here.
14988 (unsupported_range::set_undefined): New.
14990 2022-08-05 Richard Biener <rguenther@suse.de>
14992 PR tree-optimization/106533
14993 * tree-loop-distribution.cc (loop_distribution::execute): Continue
14994 analyzing the inner loops when find_seed_stmts_for_distribution
14997 2022-08-05 Andrew Pinski <apinski@marvell.com>
14999 * config/riscv/predicates.md (splittable_const_int_operand):
15000 Remove the check for TARGET_64BIT for single bit const values.
15002 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
15004 PR tree-optimization/106514
15005 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
15006 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
15008 2022-08-04 Tamar Christina <tamar.christina@arm.com>
15010 * match.pd: New bit_not rule.
15012 2022-08-04 Tamar Christina <tamar.christina@arm.com>
15014 PR middle-end/106519
15015 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
15018 2022-08-04 Sam Feifer <sfeifer@redhat.com>
15020 PR tree-optimization/106243
15021 * match.pd (-x & 1): New simplification.
15023 2022-08-04 Richard Biener <rguenther@suse.de>
15025 PR tree-optimization/106521
15026 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
15027 CFG cleanup manually before rewriting into LC SSA.
15029 2022-08-04 Richard Biener <rguenther@suse.de>
15031 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
15032 (back_threader::resolve_phi): Likewise.
15033 (back_threader::find_paths_to_names): Rewrite greedy search.
15035 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
15037 * config/s390/vector.md (V_HW_FT): New iterator.
15038 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
15041 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
15043 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
15044 setting -mblock-ops-vector-pair.
15046 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
15048 PR tree-optimization/106514
15049 * value-relation.cc (path_oracle::killing_def) Do not walk the
15050 equivalence set clearing bits.
15052 2022-08-03 Tamar Christina <tamar.christina@arm.com>
15054 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
15055 sequence of a three-way conditional.
15056 (replace_phi_edge_with_variable): Support diamonds.
15057 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
15059 (strip_bit_not, invert_minmax_code): New.
15061 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
15063 PR rtl-optimization/106187
15064 * alias.h (mems_same_for_tbaa_p): Declare.
15065 * alias.cc (mems_same_for_tbaa_p): New function.
15066 * dse.cc (record_store): Use it instead of open-coding
15068 * cselib.h (cselib_redundant_set_p): Declare.
15069 * cselib.cc: Include alias.h
15070 (cselib_redundant_set_p): New function.
15071 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
15072 of rtx_equal_for_cselib_p.
15073 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
15074 (reload_cse_noop_set_p): Delete.
15076 2022-08-03 Martin Liska <mliska@suse.cz>
15078 * doc/gcov-dump.texi: Document the new option.
15079 * gcov-dump.cc (main): Parse the new option.
15080 (print_usage): Show the option.
15081 (tag_counters): Sort key:value pairs of TOP N counter.
15083 2022-08-03 Martin Liska <mliska@suse.cz>
15085 * profile.cc (compute_branch_probabilities): Do not collect
15086 stats unless TDF_DETAILS.
15088 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15089 Uroš Bizjak <ubizjak@gmail.com>
15092 * config/i386/i386.md (peephole2): New peephole2 to convert
15093 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
15094 when optimizing for minimal size with -Oz.
15096 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15098 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
15099 to split comparisons against -1 using AND and CMP -1 instructions.
15101 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15103 * config/i386/i386-features.cc (compute_convert_gain): Add gain
15104 for converting suitable TImode shift to a V1TImode shift.
15105 (timode_scalar_chain::convert_insn): Add support for converting
15106 suitable ASHIFT and LSHIFTRT.
15107 (timode_scalar_to_vector_candidate_p): Consider logical shifts
15108 by integer constants that are multiples of 8 to be candidates.
15110 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
15111 Segher Boessenkool <segher@kernel.crashing.org>
15112 Richard Sandiford <richard.sandiford@arm.com>
15114 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
15115 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
15116 that are all positive to complement the existing FFS and
15117 idempotent ABS simplifications.
15118 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
15119 val_signbit_known_clear_p is true of the operand.
15120 Simplify sign extensions of SUBREG truncations of operands
15121 that are already suitably (zero) extended.
15122 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
15123 of operands that are already suitably zero extended.
15125 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
15127 PR tree-optimization/106510
15128 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
15129 Check for unsupported statements early.
15131 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
15133 PR tree-optimization/106474
15134 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
15135 range of equivalences that may contribute to the range.
15137 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
15139 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
15140 encoding bit in BTF.
15142 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15144 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
15146 (tree_lower_bound): New.
15147 (tree_upper_bound): New.
15148 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
15150 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
15151 argument to vrange.
15153 2022-08-02 Richard Biener <rguenther@suse.de>
15155 * tree-ssa-threadbackward.cc
15156 (back_threader_profitability::profitable_path_p): Apply
15157 size constraints to all paths again.
15159 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15161 * range-op-float.cc (finite_operands_p): New.
15162 (frelop_early_resolve): New.
15163 (default_frelop_fold_range): New.
15164 (class foperator_equal): New.
15165 (class foperator_not_equal): New.
15166 (class foperator_lt): New.
15167 (class foperator_le): New.
15168 (class foperator_gt): New.
15169 (class foperator_ge): New.
15170 (class foperator_unordered): New.
15171 (class foperator_ordered): New.
15172 (class foperator_relop_unknown): New.
15173 (floating_op_table::floating_op_table): Add above classes to
15175 * value-range.h (frange::supports_p): Enable.
15177 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15179 * tree-core.h (struct tree_ssa_name): Add frange_info and
15180 reshuffle the rest.
15181 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
15183 (vrange_storage::set_vrange): Same.
15184 (vrange_storage::get_vrange): Same.
15185 (vrange_storage::fits_p): Same.
15186 (frange_storage_slot::alloc_slot): New.
15187 (frange_storage_slot::set_frange): New.
15188 (frange_storage_slot::get_frange): New.
15189 (frange_storage_slot::fits_p): New.
15190 * value-range-storage.h (class frange_storage_slot): New.
15192 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15194 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
15195 query to integrals.
15197 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
15199 * value-range.cc (frange::set): Initialize m_props and cleanup.
15201 2022-08-02 Richard Biener <rguenther@suse.de>
15203 PR tree-optimization/106497
15204 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
15205 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
15207 2022-08-02 Martin Liska <mliska@suse.cz>
15209 * profile.cc (compute_branch_probabilities): Dump details only
15211 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
15212 TDF_ADDRESS is used, it makes comparison harder.
15214 2022-08-02 Richard Biener <rguenther@suse.de>
15216 PR tree-optimization/106498
15217 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
15219 (expand_omp_for): Or here.
15220 (execute_expand_omp): Instead schedule it here together
15221 with CFG cleanup via TODO.
15223 2022-08-02 Richard Biener <rguenther@suse.de>
15226 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
15229 2022-08-02 Richard Biener <rguenther@suse.de>
15231 PR tree-optimization/106495
15232 * tree-ssa-threadbackward.cc
15233 (back_threader_profitability::profitable_path_p): If known_edge
15234 is probably never executed avoid threading.
15236 2022-08-01 David Malcolm <dmalcolm@redhat.com>
15238 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
15241 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
15242 Uroš Bizjak <ubizjak@gmail.com>
15245 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
15246 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
15249 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
15252 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
15253 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
15255 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
15258 * ctfc.h (struct ctf_dtdef): Add field linkage.
15259 * ctfc.cc (ctf_add_function): Set ctti_linkage.
15260 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
15261 function types and subprograms.
15262 * btfout.cc (btf_asm_func_type): Emit linkage information for the
15264 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
15267 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
15268 Jakub Jelinek <jakub@redhat.com>
15270 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
15273 2022-08-01 Sam Feifer <sfeifer@redhat.com>
15275 PR tree-optimization/104992
15276 * match.pd (x / y * y == x): New simplification.
15278 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
15280 * value-range.cc (tree_compare): New.
15281 (frange::set): Make more general.
15282 (frange::normalize_kind): Cleanup and return bool.
15283 (frange::union_): Use normalize_kind return value.
15284 (frange::intersect): Same.
15285 (frange::verify_range): Remove unnecessary else.
15286 * value-range.h (vrp_val_max): Move before frange class.
15287 (vrp_val_min): Same.
15288 (frange::frange): Remove set to m_type.
15290 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
15292 * value-range.cc (vrange::supports_type_p): Use const_tree.
15293 (irange::supports_type_p): Same.
15294 (frange::supports_type_p): Same.
15295 * value-range.h (Value_Range::supports_type_p): Same.
15296 (irange::supports_p): Same.
15298 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
15300 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
15301 query SCEV for integers.
15302 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
15305 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
15307 * config/i386/i386.md (define_expand <any_rotate>ti3): For
15308 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
15309 (rot[lr]64ti2_doubleword): New post-reload splitter.
15311 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
15312 H.J. Lu <hjl.tools@gmail.com>
15315 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
15316 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
15317 (timode_remove_non_convertible_regs): Update comment.
15318 Call timode_check_non_convertible_reg on all TImode register
15319 DEFs and USEs in each instruction.
15321 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15323 * config/xtensa/xtensa.md: Change hard register number used in
15324 the split patterns for indirect sibling call fixups from 10 to 11,
15325 the last free one for the CALL0 ABI.
15327 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15329 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
15330 Add new case for IF_THEN_ELSE.
15332 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
15334 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
15335 (<expander><mode>3<exec>): Use V_INT_noHI.
15336 (v<expander><mode>3<exec>): Likewise.
15338 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
15340 * config/gcn/gcn.md (one_cmpldi2): New.
15342 2022-07-29 Richard Biener <rguenther@suse.de>
15344 PR tree-optimization/105679
15345 * tree-ssa-threadbackward.cc
15346 (back_threader_profitability::profitable_path_p): Avoid threading
15347 when the entry edge is probably never executed.
15349 2022-07-29 Richard Biener <rguenther@suse.de>
15351 PR tree-optimization/106422
15352 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
15353 Check whether we can copy thread blocks and cancel the thread if not.
15355 2022-07-29 Jakub Jelinek <jakub@redhat.com>
15357 PR middle-end/106449
15358 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
15359 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
15360 or n2 before regimplifying it inside of a condition.
15362 2022-07-29 Jakub Jelinek <jakub@redhat.com>
15364 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
15365 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
15366 expand_omp_simd): Don't fold_convert second argument to
15367 fold_build_pointer_plus to sizetype.
15369 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
15371 * config.in: Regenerate.
15372 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
15373 Select the value of the macro definition according to whether
15374 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
15375 * configure: Regenerate.
15376 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
15378 2022-07-29 Richard Biener <rguenther@suse.de>
15380 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
15381 Use CONVERT_EXPR_CODE_P.
15383 2022-07-29 Richard Biener <rguenther@suse.de>
15385 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
15386 get_vectype_for_scalar_type instead of
15387 vect_get_vector_types_for_stmt.
15389 2022-07-28 David Malcolm <dmalcolm@redhat.com>
15392 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
15394 2022-07-28 David Malcolm <dmalcolm@redhat.com>
15396 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
15398 (Static Analyzer Options): Likewise. Add urefs for all of the
15399 warnings that have associated CWE identifiers.
15401 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
15403 * doc/implement-c.texi (Floating point implementation): Mention
15404 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
15405 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
15406 implication in the descriptions of `-fno-trapping-math' and
15409 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
15411 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
15412 (QUIET_PATTERN): New int attribute.
15413 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
15414 RTL insns entirely within the preparation statements.
15415 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
15416 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
15418 (*riscv_fsnvsnan<mode>2): New insn.
15420 2022-07-28 Richard Biener <rguenther@suse.de>
15422 PR middle-end/106457
15423 * tree.cc (array_at_struct_end_p): Handle array objects
15426 2022-07-28 Jakub Jelinek <jakub@redhat.com>
15428 PR tree-optimization/106099
15429 * internal-fn.def (TRAP): New internal fn.
15430 * internal-fn.h (expand_TRAP): Declare.
15431 * internal-fn.cc (expand_TRAP): Define.
15432 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
15433 use internal fn rather than builtin.
15435 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
15437 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
15439 2022-07-27 WANG Xuerui <i@xen0n.name>
15441 * doc/invoke.texi: Document -m[no-]explicit-relocs for
15444 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
15446 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
15447 duplicate backslashes.
15449 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
15451 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
15454 2022-07-27 Jakub Jelinek <jakub@redhat.com>
15457 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
15458 output asm thunks for -dx.
15460 2022-07-27 Jakub Jelinek <jakub@redhat.com>
15462 PR middle-end/106332
15463 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
15464 that candidates is not an empty vector.
15466 2022-07-27 Xi Ruoyao <xry111@xry111.site>
15468 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
15469 assembler supports explicit relocation for LoongArch.
15470 * configure: Regenerate.
15471 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
15472 Define to 0 if not defined.
15473 * config/loongarch/genopts/loongarch.opt.in
15474 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
15475 * config/loongarch/loongarch.opt: Regenerate.
15477 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
15480 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
15482 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
15484 * config/loongarch/loongarch-opts.cc: Modify the output message string
15487 2022-07-26 Martin Liska <mliska@suse.cz>
15489 * doc/tm.texi.in: Fix placement of defmac.
15490 * doc/tm.texi: Copy.
15492 2022-07-26 Martin Liska <mliska@suse.cz>
15494 * doc/tm.texi.in: Fix cross @defmac and @hook.
15495 * doc/tm.texi: Copy.
15497 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
15499 PR tree-optimization/106444
15500 * value-range-pretty-print.cc (vrange_printer::visit): Handle
15502 (vrange_printer::print_irange_bound): Work on wide_int's.
15503 * value-range-pretty-print.h (print_irange_bound): Same.
15504 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
15506 2022-07-26 Richard Biener <rguenther@suse.de>
15508 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
15509 points to a constant continue checking ptr2.
15511 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
15513 * config/aarch64/aarch64-builtins.cc
15514 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
15515 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
15516 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
15517 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
15518 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
15519 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
15520 (MODE_q_p128): Define macro to map to corresponding mode name.
15521 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
15522 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
15523 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
15524 corresponding qualifier name.
15525 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
15526 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
15527 functions for the above mappings
15528 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
15529 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
15530 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
15531 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
15532 for all vreinterpret intrinsics
15533 (enum aarch64_builtins): Add vreinterpret function codes
15534 (aarch64_init_simd_intrinsics): New
15535 (handle_arm_neon_h): Improved comment.
15536 (aarch64_general_fold_builtin): Fold vreinterpret calls
15537 * config/aarch64/arm_neon.h
15538 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
15539 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
15540 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
15541 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
15542 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
15543 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
15544 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
15545 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
15546 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
15547 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
15548 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
15549 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
15550 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
15551 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
15552 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
15553 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
15554 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
15555 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
15556 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
15557 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
15558 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
15559 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
15560 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
15561 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
15562 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
15563 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
15564 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
15565 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
15566 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
15567 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
15568 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
15569 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
15570 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
15571 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
15572 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
15573 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
15574 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
15575 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
15576 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
15577 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
15578 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
15579 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
15580 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
15581 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
15582 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
15583 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
15584 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
15585 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
15586 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
15587 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
15588 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
15589 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
15590 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
15591 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
15592 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
15593 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
15594 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
15595 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
15596 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
15597 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
15598 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
15599 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
15600 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
15601 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
15602 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
15603 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
15604 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
15605 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
15606 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
15607 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
15608 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
15609 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
15610 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
15611 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
15612 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
15613 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
15614 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
15615 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
15616 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
15617 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
15618 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
15619 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
15620 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
15621 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
15622 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
15623 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
15624 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
15625 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
15626 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
15627 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
15628 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
15629 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
15630 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
15631 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
15632 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
15633 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
15634 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
15635 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
15636 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
15637 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
15638 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
15639 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
15640 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
15641 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
15642 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
15643 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
15644 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
15645 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
15646 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
15647 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
15648 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
15649 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
15650 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
15651 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
15652 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
15653 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
15654 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
15655 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
15656 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
15657 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
15658 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
15659 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
15660 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
15661 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
15662 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
15663 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
15664 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
15665 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
15666 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
15667 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
15668 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
15669 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
15670 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
15671 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
15672 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
15673 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
15674 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
15675 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
15676 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
15677 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
15678 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
15679 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
15680 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
15681 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
15682 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
15683 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
15684 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
15685 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
15686 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
15687 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
15688 (vreinterpretq_p128_bf16): Delete
15690 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
15692 * config/aarch64/aarch64-builtins.cc
15693 (aarch64_simd_builtin_std_type): Rename to...
15694 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
15695 (aarch64_lookup_simd_builtin_type): Rename to...
15696 (aarch64_simd_builtin_type): ...this. Add const/pointer
15697 support, and extract table lookup to...
15698 (aarch64_lookup_simd_type_in_table): ...this function.
15699 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
15700 (aarch64_init_fcmla_laneq_builtins): Ditto.
15701 (aarch64_init_simd_builtin_functions): Ditto.
15703 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
15705 * config/aarch64/aarch64-builtins.cc
15706 (aarch64_general_gimple_fold_builtin): Add combine.
15708 2022-07-26 Richard Biener <rguenther@suse.de>
15710 PR tree-optimization/106189
15711 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
15712 Divide using offset_ints.
15714 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
15716 * common/config/loongarch/loongarch-common.cc:
15717 Enable '-fsection-anchors' when O1 and more advanced optimization.
15718 * config/loongarch/genopts/loongarch.opt.in: Add new option
15719 '-mexplicit-relocs', and enable by default.
15720 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
15721 Delete function declaration.
15722 (loongarch_split_move_insn): Delete function declaration.
15723 (loongarch_split_symbol_type): Add function declaration.
15724 * config/loongarch/loongarch.cc (enum loongarch_address_type):
15725 Add new address type 'ADDRESS_LO_SUM'.
15726 (loongarch_classify_symbolic_expression): New function definitions.
15727 Classify the base of symbolic expression X, given that X appears in
15729 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
15730 (loongarch_split_symbol_type): New function definitions.
15731 Determines whether the symbol load should be split into two instructions.
15732 (loongarch_valid_lo_sum_p): New function definitions.
15733 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
15734 symbol has type SYMBOL_TYPE.
15735 (loongarch_classify_address): Add handling of 'LO_SUM'.
15736 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
15737 (loongarch_signed_immediate_p): Sort code.
15738 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
15739 (loongarch_const_insns): Add handling of 'HIGH'.
15740 (loongarch_split_move_insn_p): Add the static attribute to the function.
15741 (loongarch_emit_set): New function definitions.
15742 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
15743 (loongarch_legitimize_tls_address): Add symbol handling when defining the
15744 TARGET_EXPLICIT_RELOCS macro.
15745 (loongarch_split_symbol): New function definitions. Split symbol.
15746 (loongarch_legitimize_address): Add codes see if the address can split into a high part
15748 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
15750 (loongarch_split_move_insn): Delete function definitions.
15751 (loongarch_output_move): Add support for HIGH and LO_SUM.
15752 (loongarch_print_operand_reloc): New function definitions.
15753 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
15754 (loongarch_memmodel_needs_release_fence): Sort code.
15755 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
15757 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
15758 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
15759 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
15760 * config/loongarch/loongarch.md (movti): Delete the template.
15761 (*movti): Delete the template.
15762 (movtf): Delete the template.
15763 (*movtf): Delete the template.
15764 (*low<mode>): New template of normal symbol low address.
15765 (@tls_low<mode>): New template of tls symbol low address.
15766 (@ld_from_got<mode>): New template load address from got table.
15767 (@ori_l_lo12<mode>): New template.
15768 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
15769 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
15771 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
15773 * config/loongarch/constraints.md (a): Delete the constraint.
15774 (b): A constant call not local address.
15775 (h): Delete the constraint.
15776 (t): Delete the constraint.
15777 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
15778 Remove cModel type support other than normal.
15779 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
15780 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
15781 (loongarch_split_symbol): Delete useless function declarations.
15782 (loongarch_split_symbol_type): Delete useless function declarations.
15783 * config/loongarch/loongarch.cc (enum loongarch_address_type):
15784 Delete unnecessary comment information.
15785 (loongarch_symbol_binds_local_p): Modified the judgment order of label
15787 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
15788 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
15789 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
15790 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
15791 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
15792 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
15793 and 'SYMBOL_PCREL'.
15794 (loongarch_address_insns): Sort code.
15795 (loongarch_12bit_offset_address_p): Sort code.
15796 (loongarch_14bit_shifted_offset_address_p): Sort code.
15797 (loongarch_call_tls_get_addr): Sort code.
15798 (loongarch_legitimize_tls_address): Sort code.
15799 (loongarch_output_move): Remove schema support for cmodel other than normal.
15800 (loongarch_memmodel_needs_release_fence): Sort code.
15801 (loongarch_print_operand): Sort code.
15802 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
15803 Rename to LARCH_12BIT_OFFSET_P.
15804 (LARCH_12BIT_OFFSET_P): New macro.
15805 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
15806 support for cmodel other than normal.
15807 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
15808 (is_const_call_plt_symbol): Delete this predicate.
15809 (is_const_call_global_noplt_symbol): Delete this predicate.
15810 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
15813 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
15816 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
15817 REG_EH_REGION when replacing one store insn having it.
15818 (replace_swapped_aligned_load): Likewise.
15820 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
15822 * Makefile.in (OBJS): Add range-op-float.o.
15823 * range-op.cc (get_float_handler): New.
15824 (range_op_handler::range_op_handler): Save code and type for
15826 (range_op_handler::oeprator bool): Move from header file, and
15827 add support for floats.
15828 (range_op_handler::fold_range): Add support for floats.
15829 (range_op_handler::op1_range): Same.
15830 (range_op_handler::op2_range): Same.
15831 (range_op_handler::lhs_op1_relation): Same.
15832 (range_op_handler::lhs_op2_relation): Same.
15833 (range_op_handler::op1_op2_relation): Same.
15834 * range-op.h (class range_operator_float): New.
15835 (class floating_op_table): New.
15836 * value-query.cc (range_query::get_tree_range): Add case for
15838 * range-op-float.cc: New file.
15840 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
15841 Uroš Bizjak <ubizjak@gmail.com>
15844 * config/i386/i386-expand.cc (split_double_concat): A new helper
15845 function for setting a double word value from two word values.
15846 * config/i386/i386-protos.h (split_double_concat): Prototype here.
15847 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
15848 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
15849 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
15850 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
15851 previous define_split for implementing DST = (HI<<32)|LO as
15852 pair of move instructions, setting lopart and hipart.
15853 (*concat<mode><dwi>3_2): Likewise.
15854 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
15855 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
15857 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
15859 PR middle-end/106432
15860 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
15861 when the result range type is unsupported.
15863 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
15865 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
15867 2022-07-25 Richard Biener <rguenther@suse.de>
15869 PR middle-end/106414
15870 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
15873 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
15875 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
15876 (@aarch64_rbit<mode>): ... to this and change it in...
15877 (ffs<mode>2,ctz<mode>2): ... here.
15878 (@aarch64_rev16<mode>): New.
15879 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
15880 Define the following enum AARCH64_REV16, AARCH64_REV16L,
15881 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
15882 (aarch64_init_data_intrinsics): New.
15883 (aarch64_general_init_builtins): Add call to
15884 aarch64_init_data_intrinsics.
15885 (aarch64_expand_builtin_data_intrinsic): New.
15886 (aarch64_general_expand_builtin): Add call to
15887 aarch64_expand_builtin_data_intrinsic.
15888 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
15889 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
15890 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
15892 2022-07-25 Martin Liska <mliska@suse.cz>
15894 * doc/extend.texi: Remove trailing whitespaces.
15895 * doc/invoke.texi: Likewise.
15897 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
15899 * value-range-pretty-print.cc (vrange_printer::visit): New.
15900 (vrange_printer::print_frange_prop): New.
15901 * value-range-pretty-print.h (class vrange_printer): Add visit and
15903 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
15904 (vrange_allocator::alloc_frange): New.
15905 * value-range.cc (vrange::operator=): Handle frange.
15906 (vrange::operator==): Same.
15907 (frange::accept): New.
15908 (frange::set): New.
15909 (frange::normalize_kind): New.
15910 (frange::union_): New.
15911 (frange::intersect): New.
15912 (frange::operator=): New.
15913 (frange::operator==): New.
15914 (frange::supports_type_p): New.
15915 (frange::verify_range): New.
15916 * value-range.h (enum value_range_discriminator): Handle frange.
15917 (class fp_prop): New.
15918 (FP_PROP_ACCESSOR): New.
15919 (class frange_props): New.
15920 (FRANGE_PROP_ACCESSOR): New.
15921 (class frange): New.
15922 (Value_Range::init): Handle frange.
15923 (Value_Range::operator=): Same.
15924 (Value_Range::supports_type_p): Same.
15925 (frange_props::operator==): New.
15926 (frange_props::union_): New.
15927 (frange_props::intersect): New
15928 (frange::frange): New.
15929 (frange::type): New.
15930 (frange::set_varying): New.
15931 (frange::set_undefined): New.
15933 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
15934 Kewen Lin <linkw@linux.ibm.com>
15936 PR testsuite/106345
15937 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
15938 to filter out all -mtune options.
15940 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
15942 * value-query.cc (range_query::get_value_range): Add assert.
15943 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
15944 on unsupported types in vr_values.
15945 (simplify_using_ranges::simplify): Same.
15947 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
15949 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
15951 * value-query.cc (get_ssa_name_range_info): Remove precision check.
15953 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
15955 * value-relation.cc (value_relation::set_relation): Remove assert.
15956 (path_oracle::register_relation): Exit when trying to register
15957 same SSA name relations.
15959 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
15961 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
15962 (ranger_cache::range_from_dom): Same.
15964 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
15966 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
15967 H.J. Lu <hjl.tools@gmail.com>
15971 * config/i386/i386-features.cc (make_vector_copies): Move from
15972 general_scalar_chain to scalar_chain.
15973 (convert_reg): Likewise.
15974 (convert_insn_common): New scalar_chain method split out from
15975 general_scalar_chain convert_insn.
15976 (convert_registers): Move from general_scalar_chain to
15978 (scalar_chain::convert): Call convert_insn_common before calling
15980 (timode_remove_non_convertible_regs): Iterate until there are
15981 no further changes to the candidates.
15982 * config/i386/i386-features.h (scalar_chain::hash_map): Move
15983 from general_scalar_chain.
15984 (scalar_chain::convert_reg): Likewise.
15985 (scalar_chain::convert_insn_common): New shared method.
15986 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
15987 (scalar_chain::convert_registers): Likewise. No longer virtual.
15988 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
15989 (general_scalar_chain::convert_reg): Likewise.
15990 (general_scalar_chain::make_vector_copies): Likewise.
15991 (general_scalar_chain::convert_registers): Delete virtual method.
15992 (timode_scalar_chain::convert_registers): Likewise.
15994 2022-07-23 Immad Mir <mirimmad@outlook.com>
15996 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
15997 "Common Function Attributes" section.
15998 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
15999 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
16000 warnings may be emitted through usage of three function attributes used
16001 for static analysis of file descriptors namely fd_arg, fd_arg_read and
16004 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16006 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
16007 Add a new insn_and_split pattern, and a few split patterns for
16010 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
16012 * graphds.cc (graphds_scc): Fix algorithm attribution.
16014 2022-07-22 Richard Biener <rguenther@suse.de>
16016 PR tree-optimization/106403
16017 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
16018 value valueization after check for IFN_MASKED_STORE or
16021 2022-07-22 Richard Biener <rguenther@suse.de>
16023 PR tree-optimization/106397
16024 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
16025 not update SSA form here.
16026 (mark_nontemporal_stores): Return whether we marked any
16027 non-temporal stores and inserted mfence.
16028 (loop_prefetch_arrays): Note when we need to update SSA.
16029 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
16030 at the end of the pass.
16032 2022-07-22 Richard Biener <rguenther@suse.de>
16034 PR tree-optimization/106387
16035 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
16036 if ptr is not an SSA name.
16038 2022-07-22 liuhongt <hongtao.liu@intel.com>
16041 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
16042 original "<code><mode>3".
16043 (*<code><mode>3): New define_insn, it's original
16044 "<code><mode>3" be extended to handle memory and immediate
16045 operand with ix86_binary_operator_ok. Also adjust define_split
16047 (mmxinsnmode): New mode attribute.
16048 (*mov<mode>_imm): Refactor with mmxinsnmode.
16049 * config/i386/predicates.md
16050 (register_or_x86_64_const_vector_operand): New predicate.
16052 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
16054 * config/rs6000/altivec.md:
16055 (vstrir_code_<mode>): Rename to...
16056 (vstrir_direct_<mode>): ... this.
16057 (vstrir_p_code_<mode>): Rename to...
16058 (vstrir_p_direct_<mode>): ... this.
16059 (vstril_code_<mode>): Rename to...
16060 (vstril_direct_<mode>): ... this.
16061 (vstril_p_code_<mode>): Rename to...
16062 (vstril_p_direct_<mode>): ... this.
16064 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
16066 * config/rs6000/rs6000-c.cc: Update comments.
16067 (rs6000_target_modify_macros): Remove bu_mask references.
16068 (rs6000_define_or_undefine_macro): Replace bu_mask reference
16069 with a rs6000_cpu value check.
16070 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
16071 parameter from call to rs6000_target_modify_macros.
16072 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
16073 rs6000_target_modify_macros_ptr): Remove parameter from extern
16075 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
16076 parameter from prototype, update calls to this function.
16077 (rs6000_print_builtin_options): Remove prototype, call and function.
16078 (rs6000_builtin_mask_calculate): Remove function.
16079 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
16080 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
16081 and builtin_mask debug output.
16082 (rs6000_builtin_mask_names): Remove.
16083 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
16084 diff_bumask references; Update calls to rs6000_target_modify_ptr.
16085 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
16087 2022-07-21 Sam Feifer <sfeifer@redhat.com>
16089 PR tree-optimization/94920
16090 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
16091 (x <= 0 ? -x : 0): New simplification.
16093 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16096 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16098 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16099 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16101 2022-07-21 Richard Biener <rguenther@suse.de>
16103 PR tree-optimization/106379
16104 * match.pd (~(a ^ b) -> a == b): New pattern.
16106 2022-07-21 Richard Biener <rguenther@suse.de>
16108 PR tree-optimization/106378
16109 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
16110 LEN_STORE, add mode to initialize a may-def and handle
16111 MASK_STORE that way.
16112 (dse_optimize_stmt): Query may-defs. Handle internal
16113 functions LEN_STORE and MASK_STORE similar to how
16114 we handle memory builtins but without byte tracking.
16116 2022-07-21 Richard Biener <rguenther@suse.de>
16118 PR tree-optimization/106365
16119 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
16120 the offset to start encoding of RHS from.
16121 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
16122 (vn_walk_cb_data::push_partial_def): Allow the first partial
16123 definition to be fully providing the def. Offset RHS
16124 before encoding if requested.
16125 (vn_reference_lookup_3): Initialize def_rhs everywhere.
16126 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
16128 2022-07-21 Richard Biener <rguenther@suse.de>
16130 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
16131 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
16132 and IFN_MASK_LOAD_LANES.
16133 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
16134 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
16136 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
16138 PR rtl-optimization/101347
16139 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
16140 population of nonlocal_goto_handler_labels from here ...
16141 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
16142 * rtlanal.cc (remove_node_from_insn_list): Verify that a
16143 duplicate is not present in the remainder of the list.
16145 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
16147 * rtl.h (remove_node_from_expr_list): Remove declaration.
16148 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
16150 2022-07-20 Richard Biener <rguenther@suse.de>
16152 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
16153 invariant updated address when the input was invariant.
16155 2022-07-20 liuhongt <hongtao.liu@intel.com>
16157 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
16158 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
16159 * timevar.def (TV_TREE_POWCABS): New timevar.
16160 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
16161 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
16162 (class pass_expand_powcabs): Ditto.
16163 (pass_expand_powcabs::execute): Ditto.
16164 (make_pass_expand_powcabs): Ditto.
16165 (pass_cse_sincos::execute): Remove pow/cabs expand part.
16166 (make_pass_cse_sincos): Ditto.
16168 2022-07-20 Richard Biener <richard.guenther@gmail.com>
16169 Hongtao Liu <hongtao.liu@intel.com>
16171 PR tree-optimization/106010
16172 * tree-complex.cc (init_dont_simulate_again): Lower complex
16174 (expand_complex_move): Also expand COMPLEX_CST for rhs.
16176 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
16178 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
16179 for incoming ranges on join nodes and add to worklist.
16181 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
16183 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
16184 (ranger_cache::range_from_dom): Put all nodes to be calculated
16185 in the worklist and resolve after the dom walk.
16186 * gimple-range-cache.h (resolve_dom): New prototype.
16188 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
16190 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
16191 returns_twice calls.
16193 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
16195 * cfghooks.cc (duplicate_block): Expand comment.
16196 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
16197 calls that may return twice.
16199 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
16201 * tree-ssa-sink.cc (select_best_block): Punt if selected block
16202 has incoming abnormal edges.
16204 2022-07-19 Martin Liska <mliska@suse.cz>
16206 * doc/extend.texi: Remove trailing :.
16208 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16210 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16211 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16213 2022-07-19 Richard Biener <rguenther@suse.de>
16215 PR middle-end/106331
16216 * builtins.cc (get_memory_rtx): Compute alignment from
16217 the original address and set MEM_OFFSET to unknown when
16218 we create a MEM_EXPR from the base object of the address.
16220 2022-07-19 Richard Biener <rguenther@suse.de>
16223 * dwarf2out.cc (dwarf2out_register_external_die): Allow
16224 map entry re-use during WPA.
16226 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
16227 Richard Biener <rguenther@suse.de>
16230 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
16231 COMPOUND_EXPR to silence spurious warning if result isn't used.
16232 (fold_builtin_modf): Likewise.
16233 (do_mpfr_remquo): Likewise.
16235 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16237 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
16238 Change the relative cost of '(set (reg) (const_int N))' where
16239 N fits into signed 12-bit from 4 to 0 if optimizing for size.
16240 And use the appropriate macro instead of the bare number 4.
16242 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
16244 PR tree-optimization/106280
16245 * value-relation.cc (dom_oracle::register_relation): Register
16246 transitives only when it is possible for there to be one.
16247 (dom_oracle::set_one_relation): Return NULL if this is an
16250 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
16252 * doc/invoke.texi (RISC-V Options): Add index references for
16253 `mrelax' and `mriscv-attribute'.
16255 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
16257 * doc/invoke.texi (Option Summary): Add missing second space
16258 around `-mstack-protector-guard-reg='.
16260 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
16262 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
16263 (RISC-V Options): Likewise, and `-mriscv-attribute'.
16265 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
16267 * config/arc/arc-arch.h (arc_tune_attr): Add
16268 ARC_TUNE_ARCHS4X_REL31A variant.
16269 * config/arc/arc.cc (arc_override_options): Tune options for
16271 (arc_sched_issue_rate): Use correct enum.
16272 (arc600_corereg_hazard): Textual change.
16273 (arc_hazard): Add release 310a tunning.
16274 * config/arc/arc.md (tune): Update and take into consideration new
16276 (tune_dspmpy): Likewise.
16277 (tune_store): New attribute.
16278 * config/arc/arc.opt (mtune): New tune option.
16279 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
16280 (hs4x_brcc_op): New instruction rezervation.
16281 (hs4x_data_store_1_op): Likewise.
16282 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
16283 * config/arc/arc-tables.opt: Regenerate.
16284 * config/arc/t-multilib: Likewise.
16285 * doc/invoke.texi (ARC): Update mcpu and tune sections.
16287 2022-07-18 Richard Biener <rguenther@suse.de>
16289 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
16290 When computing cost-based merging do not disregard builtin
16291 classified partitions in some cases.
16293 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
16296 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
16298 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
16299 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
16301 * config/arm/arm_neon_builtins.def (copysignf): Delete.
16302 * config/arm/iterators.md (nvrint_pattern): New attribute.
16303 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
16305 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
16307 (neon_copysignf<mode>): Rename to...
16308 (copysign<mode>3): ...this.
16310 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
16312 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
16313 pointer first when in interrupts.
16315 2022-07-18 Richard Biener <rguenther@suse.de>
16317 * tree-loop-distribution.cc (copy_loop_before): Add
16318 the ability to replace the original LC PHI defs.
16319 (generate_loops_for_partition): Pass through a flag
16320 whether to redirect original LC PHI defs.
16321 (generate_code_for_partition): Likewise.
16322 (loop_distribution::distribute_loop): Compute the partition
16323 that should provide the LC PHI defs for common reductions
16324 and pass that down.
16326 2022-07-18 Richard Ball <richard.ball@arm.com>
16328 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
16329 (aarch64_evpc_uzp): Likewise.
16330 (aarch64_evpc_zip): Likewise.
16332 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
16335 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
16336 to recognize any_extend:DI of ctz:SI which is implicitly extended.
16337 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
16338 extended ctz:SI that has preceding xor to break false dependency.
16340 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
16342 * config/i386/predicates.md (x86_64_const_vector_operand):
16343 Check the operand's mode matches the specified mode argument.
16345 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
16347 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
16348 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
16349 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
16350 (vec_pack_trunc_qi): Update to specify the now required
16351 UNSPEC_MASKOP unspec.
16352 (vec_pack_trunc_<mode>): Likewise.
16354 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16356 * config/xtensa/xtensa.md
16357 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
16358 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
16359 represented as '-(1 << N)', decrease the lower bound of N from 12
16360 to 1. And the other immediate for conditional branch is now no
16361 longer limited to zero, but also one of some positive integers.
16362 Finally, remove the checks of some conditions, because the comparison
16363 expressions that don't satisfy such checks are determined as
16364 compile-time constants and thus will be optimized away before
16367 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16369 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
16370 (xtensa_constantsynth_2insn): Change to try all three synthetic
16371 methods and to use the one that fits the immediate value of
16372 the seed into a Narrow Move Immediate instruction "MOVI.N"
16373 when the Code Density Option is configured.
16375 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
16378 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
16379 false if callee has indirect_return attribute and caller
16382 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
16385 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
16386 constraints to reflect the output is earlyclobber, unless it is
16387 the same register (pair) as one of the operands.
16389 2022-07-15 David Malcolm <dmalcolm@redhat.com>
16391 * doc/invoke.texi (Static Analyzer Options): Add the new fd
16392 warnings to the initial gccoptlist, and to the list of those
16393 disabled by -fanalyzer-checker=taint.
16395 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
16397 * config/aarch64/aarch64-builtins.cc
16398 (enum aarch64_type_qualifiers): Remove qualifier_internal.
16399 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
16401 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
16403 * config/aarch64/aarch64-builtins.cc
16404 (v1di_UP): Add V1DI mode to _UP macros.
16405 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
16406 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
16407 * config/aarch64/aarch64-simd.md
16408 (vec_extractv2dfv1df): Replace with...
16409 (vec_extract<mode><V1half>): ...this.
16410 * config/aarch64/aarch64.cc
16411 (aarch64_classify_vector_mode): Add V1DI mode.
16412 * config/aarch64/iterators.md
16413 (VQ_2E, V1HALF, V1half): New.
16414 (nunits): Add V1DI mode.
16416 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
16419 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
16420 Fix indentation whitespace.
16421 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
16422 (timode_scalar_chain::convert_insn): Delete dead code.
16423 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
16424 Fix indentation whitespace.
16425 (convertible_comparison_p): Likewise.
16426 (timode_scalar_to_vector_candidate_p): Likewise.
16428 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
16430 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
16432 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
16434 * Makefile.in (OBJS): Add value-range-pretty-print.o.
16435 * pretty-print.h (pp_vrange): New.
16436 * value-range.cc (vrange::dump): Call pp version.
16437 (unsupported_range::dump): Move to its own file.
16438 (dump_bound_with_infinite_markers): Same.
16439 (irange::dump): Same.
16440 (irange::dump_bitmasks): Same.
16441 (vrange::debug): Remove.
16442 * value-range.h: Remove virtual designation for dump methods.
16443 Remove dump_bitmasks method.
16444 * value-range-pretty-print.cc: New file.
16445 * value-range-pretty-print.h: New file.
16447 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
16449 * value-range.cc (irange::accept): New.
16450 (unsupported_range::accept): New.
16451 * value-range.h (class vrange_visitor): New.
16452 (class vrange): Add accept method.
16453 (class unsupported_range): Same.
16454 (class Value_Range): Same.
16456 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
16458 * diagnostic-format-json.cc (json_from_location_range): Adjust
16459 to new label_text API.
16460 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
16462 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
16463 (layout::print_any_labels): Likewise.
16464 * tree-diagnostic-path.cc (class path_label): Likewise.
16465 (struct event_range): Likewise.
16466 (default_tree_diagnostic_path_printer): Likewise.
16467 (default_tree_make_json_for_path): Likewise.
16469 2022-07-15 konglin1 <lingling.kong@intel.com>
16472 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
16473 comparison due to intrinsics changed over time.
16474 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
16475 Add unordered check and mode for sse comi codegen.
16476 (ix86_expand_sse_comi): Add unordered check and check a different
16478 (ix86_expand_sse_comi_round):Extract unordered check and mode part
16479 in ix86_ssecom_setcc.
16481 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16483 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
16484 op_mode instead of vmode in calls to force_reg for op0 and op1.
16486 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
16488 PR tree-optimization/103798
16489 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
16490 (simplify_builtin_call): Inline memchr with constant strings of
16491 no more than the bytes of a word.
16492 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
16493 * tree-ssa-strlen.h (use_in_zero_equality): New.
16495 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
16497 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
16498 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
16499 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
16500 pass it in the call to lookup_tmp_var.
16501 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
16502 (get_initialized_tmp_var): Likewise.
16503 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
16504 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
16506 2022-07-14 Martin Liska <mliska@suse.cz>
16508 * doc/gimple.texi: Close properly a deftypefn.
16510 2022-07-14 Martin Liska <mliska@suse.cz>
16512 * doc/gimple.texi: Close properly a deftypefn.
16514 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16516 * config/xtensa/xtensa.md:
16517 In FP constant synthesis split pattern, subcontract to
16518 avoid_constant_pool_reference() as in the case of integer,
16519 because it can handle well too. And cast to int32_t before
16520 calling xtensa_constantsynth() in order to ignore upper 32-bit.
16522 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
16524 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
16526 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
16528 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
16529 (irange::legacy_intersect): Clear nonzero mask.
16530 (irange::legacy_union): Same.
16531 (irange::invert): Same.
16533 2022-07-13 Richard Biener <rguenther@suse.de>
16535 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
16536 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
16537 (dom_jt_state::get_blocks_on_stack): Likewise.
16538 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
16539 (back_propagate_equivalences): Remove dominator bitmap
16540 compute and instead use passed in m_blocks_on_stack.
16541 (record_temporary_equivalences): Likewise.
16542 (record_equivalences_from_incoming_edge): Likewise.
16543 (dom_opt_dom_walker::before_dom_children): Maintain and
16544 pass down blocks on stack.
16545 (dom_opt_dom_walker::after_dom_children): Likewise.
16547 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
16549 * config/aarch64/aarch64-builtins.cc
16550 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
16552 2022-07-13 Richard Biener <rguenther@suse.de>
16554 PR tree-optimization/106249
16555 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
16556 Only verify LC SSA of the new_loop if we created it.
16557 Use TODO_update_ssa_nophi for the SSA update after versioning
16560 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
16562 * range-op.cc (unsigned_singleton_p): Remove.
16563 (operator_bitwise_and::remove_impossible_ranges): Remove.
16564 (operator_bitwise_and::fold_range): Set nonzero bits. *
16565 * value-range.cc (irange::get_nonzero_bits): Remove
16566 legacy_mode_p assert.
16567 (irange::dump_bitmasks): Remove legacy_mode_p check.
16569 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
16572 * predict.h (insn_optimization_type): Declare.
16573 * predict.cc (insn_optimization_type): New function.
16574 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
16575 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
16576 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
16577 * internal-fn.cc (unary_convert_direct): New macro.
16578 (expand_convert_optab_fn): New function.
16579 (expand_unary_convert_optab_fn): New macro.
16580 (direct_unary_convert_optab_supported_p): Likewise.
16581 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
16582 convert_optab_handler.
16583 * config/aarch64/aarch64-protos.h
16584 (aarch64_builtin_vectorized_function): Delete.
16585 * config/aarch64/aarch64-builtins.cc
16586 (aarch64_builtin_vectorized_function): Delete.
16587 * config/aarch64/aarch64.cc
16588 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
16589 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
16590 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
16591 optimize_insn_for_size_p test.
16593 2022-07-12 Richard Biener <rguenther@suse.de>
16595 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
16597 (vect_do_peeling): Do not call it, adjust comment.
16599 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
16601 * config/aarch64/aarch64-builtins.cc
16602 (aarch64_builtin_vectorized_function): Remove handling of
16603 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
16605 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
16607 PR tree-optimization/106234
16608 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
16609 cache value before recursively resolving it.
16611 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
16613 * config/i386/i386-features.h (scalar_chain): Add fields
16614 insns_conv, n_sse_to_integer and n_integer_to_sse to this
16615 parent class, moved from general_scalar_chain.
16616 (scalar_chain::convert_compare): Protected method moved
16617 from general_scalar_chain.
16618 (mark_dual_mode_def): Make protected, not private virtual.
16619 (scalar_chain:convert_op): New private virtual method.
16620 (general_scalar_chain::general_scalar_chain): Simplify constructor.
16621 (general_scalar_chain::~general_scalar_chain): Delete destructor.
16622 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
16623 n_integer_to_sse fields to parent class, scalar_chain.
16624 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
16625 (general_scalar_chain::convert_compare): Delete prototype.
16626 (timode_scalar_chain::compute_convert_gain): Remove simplistic
16627 implementation, convert to a method prototype.
16628 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
16629 (timode_scalar_chain::convert_op): Prototype new virtual method.
16630 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
16631 Allocate insns_conv and initialize n_sse_to_integer and
16632 n_integer_to_sse fields in constructor.
16633 (scalar_chain::scalar_chain): Free insns_conv in destructor.
16634 (general_scalar_chain::general_scalar_chain): Delete
16635 constructor, now defined in the class declaration.
16636 (general_scalar_chain::~general_scalar_chain): Delete destructor.
16637 (scalar_chain::mark_dual_mode_def): Renamed from
16638 general_scalar_chain::mark_dual_mode_def.
16639 (timode_scalar_chain::mark_dual_mode_def): Delete.
16640 (scalar_chain::convert_compare): Renamed from
16641 general_scalar_chain::convert_compare.
16642 (timode_scalar_chain::compute_convert_gain): New method to
16643 determine the gain from converting a TImode chain to V1TImode.
16644 (timode_scalar_chain::convert_op): New method to convert an
16645 operand from TImode to V1TImode.
16646 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
16647 on REG_EQUAL notes that were originally TImode (not CONST_INT).
16648 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
16649 (timode_mem_p): Helper predicate to check where operand is
16650 memory reference with sufficient alignment for TImode STV.
16651 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
16652 to check whether COMPARE is convertible. Handle SET_DESTs that
16653 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
16654 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
16656 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
16658 PR tree-optimization/106250
16659 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
16660 argument to directly_supported_p.
16662 2022-07-11 Richard Biener <rguenther@suse.de>
16664 * tree-into-ssa.cc (update_ssa): Do not forcefully
16665 re-compute dominance fast queries for TODO_update_ssa_no_phi.
16667 2022-07-11 Richard Biener <rguenther@suse.de>
16669 PR tree-optimization/106228
16670 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
16671 VUSE compute for the non-loop case.
16673 2022-07-11 Richard Biener <rguenther@suse.de>
16675 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
16676 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
16677 (rewrite_update_dom_walker::m_in_region_flag): New.
16678 (rewrite_update_dom_walker::before_dom_children): If the region
16679 to update is marked, STOP at exits.
16680 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
16682 (dump_update_ssa): Use bitmap_empty_p.
16683 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
16684 TODO_update_ssa_no_phi.
16685 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
16686 pending update_ssa to the caller.
16688 2022-07-11 Richard Biener <rguenthert@suse.de>
16691 * config/i386/i386-options.cc (ix86_set_current_function):
16692 Rebuild the target optimization node whenever necessary,
16693 not only when the optimization node didn't change.
16695 2022-07-11 Richard Biener <rguenther@suse.de>
16697 PR tree-optimization/106228
16698 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
16699 set a VUSE operand on the emitted load.
16701 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
16703 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
16704 verification against legacy value_range.
16705 (gimple_ranger::register_inferred_ranges): Same.
16706 (gimple_ranger::export_global_ranges): Rename update_global_range
16708 * tree-core.h (struct range_info_def): Remove.
16709 (struct irange_storage_slot): New.
16710 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
16711 (struct tree_ssa_name): Add vrange_storage support.
16712 * tree-ssanames.cc (range_info_p): New.
16713 (range_info_fits_p): New.
16714 (range_info_alloc): New.
16715 (range_info_free): New.
16716 (range_info_get_range): New.
16717 (range_info_set_range): New.
16718 (set_range_info_raw): Remove.
16719 (set_range_info): Adjust to use vrange_storage.
16720 (set_nonzero_bits): Same.
16721 (get_nonzero_bits): Same.
16722 (duplicate_ssa_name_range_info): Remove overload taking
16724 Rewrite tree overload to use vrange_storage.
16725 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
16726 * tree-ssanames.h (struct range_info_def): Remove.
16727 (set_range_info): Adjust prototype to take vrange.
16728 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
16729 duplicate_ssa_name_range_info.
16730 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
16731 (SSA_NAME_RANGE_TYPE): Remove.
16732 * value-query.cc (get_ssa_name_range_info): Adjust to use
16734 (update_global_range): Remove.
16735 (get_range_global): Remove as_a<irange>.
16736 * value-query.h (update_global_range): Remove.
16737 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
16738 Rename update_global_range to set_range_info.
16739 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
16742 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
16744 * value-range.cc (irange::operator=): Call verify_range.
16745 (irange::irange_set): Normalize kind after everything else has
16747 (irange::irange_set_anti_range): Same.
16748 (irange::set): Same.
16749 (irange::verify_range): Disallow nonzero masks for VARYING.
16750 (irange::irange_union): Call verify_range.
16751 Handle nonzero masks better.
16752 (irange::irange_intersect): Same.
16753 (irange::set_nonzero_bits): Calculate mask if either range has an
16755 (irange::intersect_nonzero_bits): Same.
16756 (irange::union_nonzero_bits): Same.
16757 (range_tests_nonzero_bits): New.
16758 (range_tests): Call range_tests_nonzero_bits.
16759 * value-range.h (class irange): Remove set_nonzero_bits method
16761 (irange::varying_compatible_p): Set nonzero mask.
16763 2022-07-10 Xi Ruoyao <xry111@xry111.site>
16765 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
16766 the sign-extend of result in the RTL template.
16767 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
16769 2022-07-10 Xi Ruoyao <xry111@xry111.site>
16771 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
16772 Remove static, for use in the machine description file.
16773 * config/loongarch/loongarch-protos.h:
16774 (loongarch_check_zero_div_p): Add prototype.
16775 * config/loongarch/loongarch.md (enabled): New attr.
16776 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
16777 idiv. Conditionally enable the alternatives using
16778 loongarch_check_zero_div_p.
16779 (<optab>di3_fake): Likewise.
16781 2022-07-10 Xi Ruoyao <xry111@xry111.site>
16783 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
16786 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
16788 * value-range.cc (irange::irange_single_pair_union): Set
16789 VR_VARYING when appropriate.
16791 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
16793 * stor-layout.cc (finalize_record_size): Extend warning message.
16795 2022-07-09 Sam Feifer <sfeifer@redhat.com>
16797 PR tree-optimization/98304
16798 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
16800 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
16802 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
16803 initializer and use clear_storage rather than copying the
16804 NULs to the destination array.
16806 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
16808 * config/i386/i386.md (define_peephole2): Use match_operand of
16809 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
16810 (define_peephole2): Likewise.
16811 (define_peephole2): Likewise...
16813 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
16815 * config/i386/i386-features.cc (convert_compare): Add support
16816 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
16817 by generating a pandn followed by ptest.
16818 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
16819 recent *testdi_not_doubleword comparison patterns.
16821 2022-07-09 Tamar Christina <tamar.christina@arm.com>
16823 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
16824 indicate that the value is not undefined.
16826 2022-07-09 Andrew Pinski <apinski@marvell.com>
16828 PR tree-optimization/106087
16829 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
16830 to make sure the statement is only defining one operand.
16832 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
16834 PR preprocessor/91733
16835 * input.cc (find_end_of_line): New helper function.
16836 (file_cache_slot::get_next_line): Recognize \r as a line ending.
16837 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
16838 since \r will now be interpreted as a line-ending.
16840 2022-07-08 Martin Liska <mliska@suse.cz>
16842 PR sanitizer/106132
16843 * opts.cc (finish_options): Use 2 calls to
16844 report_conflicting_sanitizer_options.
16846 2022-07-08 Richard Biener <rguenther@suse.de>
16848 PR tree-optimization/106226
16849 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
16850 no SSA update is needed. Move virtual SSA update ...
16851 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
16852 via forced virtual renaming when TODO_update_ssa_only_virtuals
16854 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
16855 when virtual SSA update is required.
16856 (try_vectorize_loop_1): Adjust.
16857 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
16858 virtual renaming if the ABI forces an aggregate return
16859 but the original call did not have a virtual definition.
16861 2022-07-08 Martin Liska <mliska@suse.cz>
16863 * toplev.cc (init_asm_output): Do not init asm_out_file.
16865 2022-07-08 Tamar Christina <tamar.christina@arm.com>
16867 PR tree-optimization/106063
16868 * match.pd: Do not apply pattern after veclower is not supported.
16870 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
16872 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
16875 2022-07-08 Tamar Christina <tamar.christina@arm.com>
16877 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
16878 still undefined and if so emit a subreg move instead.
16879 (store_integral_bit_field): Likewise.
16880 (store_bit_field): Likewise.
16881 * expr.h (write_complex_part): Likewise.
16882 * expmed.h (store_bit_field): Add new parameter.
16883 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
16885 (expand_ifn_atomic_compare_exchange): Likewise.
16886 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
16887 * emit-rtl.cc (validate_subreg): Likewise.
16888 * expr.cc (emit_group_store): Likewise.
16889 (copy_blkmode_from_reg): Likewise.
16890 (copy_blkmode_to_reg): Likewise.
16891 (clear_storage_hints): Likewise.
16892 (write_complex_part): Likewise.
16893 (emit_move_complex_parts): Likewise.
16894 (expand_assignment): Likewise.
16895 (store_expr): Likewise.
16896 (store_field): Likewise.
16897 (expand_expr_real_2): Likewise.
16898 * ifcvt.cc (noce_emit_move_insn): Likewise.
16899 * internal-fn.cc (expand_arith_set_overflow): Likewise.
16900 (expand_arith_overflow_result_store): Likewise.
16901 (expand_addsub_overflow): Likewise.
16902 (expand_neg_overflow): Likewise.
16903 (expand_mul_overflow): Likewise.
16904 (expand_arith_overflow): Likewise.
16906 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
16909 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
16910 Rename from *sse2_cvtps2pd<mask_name>_1.
16911 (vec_unpacks_lo_v4sf): Add handler for memory operand.
16913 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
16915 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
16916 Modify fp_sp_offset and gp_sp_offset's calculation method,
16917 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
16918 or UNITS_PER_FP_REG.
16920 2022-07-07 David Malcolm <dmalcolm@redhat.com>
16922 * diagnostic-format-json.cc (json_from_location_range): Update for
16923 removal of label_text::maybe_free in favor of automatic memory
16925 * diagnostic-format-sarif.cc
16926 (sarif_builder::make_location_object): Likewise.
16927 * diagnostic-show-locus.cc (struct pod_label_text): New.
16928 (class line_label): Convert m_text from label_text to pod_label_text.
16929 (layout::print_any_labels): Move "text" to the line_label.
16930 * tree-diagnostic-path.cc (path_label::get_text): Update for
16931 removal of label_text::maybe_free in favor of automatic memory
16933 (event_range::print): Likewise.
16934 (default_tree_diagnostic_path_printer): Likewise.
16935 (default_tree_make_json_for_path): Likewise.
16937 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16939 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
16941 2022-07-07 Richard Biener <rguenther@suse.de>
16943 * tree-into-ssa.cc (iterating_old_ssa_names): New.
16944 (add_new_name_mapping): Grow {new,old}_ssa_names separately
16945 and only when actually needed. Assert we are not growing
16946 the old_ssa_names set when iterating over it.
16947 (update_ssa): Remove old_ssa_names copying and empty_p
16948 query, note we are iterating over it and expect no set changes.
16950 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
16952 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
16953 (prepare_target_image, main): Handle OpenMP 'requires'.
16954 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
16955 'GOMP_offload_unregister_ver'.
16957 2022-07-07 Richard Biener <rguenther@suse.de>
16960 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
16963 2022-07-07 Richard Biener <rguenther@suse.de>
16965 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
16966 number of LC PHIs inserted.
16967 (add_exit_phis): Return whether any variable required
16968 multiple LC PHI nodes.
16969 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
16972 2022-07-07 Richard Biener <rguenther@suse.de>
16974 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
16975 the def loop exit block bitmap as argument instead of
16976 re-computing it here.
16977 (add_exit_phis_var): Adjust.
16978 (loop_name_cmp): New function.
16979 (add_exit_phis): Sort variables to insert LC PHI nodes
16980 after definition loop, for each definition loop compute
16981 the exit block bitmap once.
16982 (get_loops_exit): Remove.
16983 (rewrite_into_loop_closed_ssa_1): Do not pre-record
16984 all loop exit blocks into bitmaps. Record loop exits
16987 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
16989 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
16990 to handle the N32 ABI.
16991 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
16992 the macro, as it is not needed anymore.
16994 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
16996 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
16998 * config/nvptx/mkoffload.cc (process): Likewise.
17000 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
17002 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
17004 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
17006 * value-relation.cc (relation_to_code): New vector.
17007 (relation_oracle::validate_relation): New.
17008 (set_relation): Allow ssa1 == ssa2 to be registered.
17009 * value-relation.h (validate_relation): New prototype.
17010 (query_relation): Make internal variant protected.
17012 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
17014 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
17015 for double word comparisons and tests (comparisons against zero).
17016 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
17017 and;cmp into andn;cmp $0 as a pre-reload splitter.
17018 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
17019 (*<any_or><dwi>3_doubleword): Likewise.
17021 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
17022 Hongtao Liu <hongtao.liu@intel.com>
17024 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
17025 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
17026 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
17027 and gen_ssse3_palignv1ti instead of TImode.
17028 * config/i386/sse.md (SSESCALARMODE): Delete.
17029 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
17030 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
17031 iterator instead of SSESCALARMODE.
17032 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
17033 using a single move instruction (if required).
17035 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
17036 Uroš Bizjak <ubizjak@gmail.com>
17038 PR rtl-optimization/96692
17039 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
17040 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
17042 2022-07-05 Richard Biener <rguenther@suse.de>
17044 PR tree-optimization/106198
17045 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
17046 full LC SSA rewrite but only if any blocks changed loop
17049 2022-07-05 Richard Biener <rguenther@suse.de>
17051 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
17052 (find_uses_to_rename_in_loop): Likewise.
17053 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
17055 (rewrite_into_loop_closed_ssa): Adjust.
17057 2022-07-05 Richard Biener <rguenther@suse.de>
17059 PR tree-optimization/106186
17060 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
17061 Properly handle virtual PHI nodes.
17063 2022-07-05 Richard Biener <rguenther@suse.de>
17065 PR tree-optimization/106196
17066 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
17067 handle aggregate returns of calls for VDEF updates.
17069 2022-07-05 Richard Biener <rguenther@suse.de>
17071 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
17074 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
17076 * tree-vect-patterns.cc (vect_convert_input): Expect the input
17077 type to be signed for optab_vector_mixed_sign. Update the vectype
17078 at the same time as type.
17079 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
17080 available, try sdot instead.
17081 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
17082 (vect_model_reduction_cost): Model the cost of implementing usdot
17084 (vectorizable_reduction): Likewise. Skip target support test
17085 for lane reductions.
17086 (vect_emulate_mixed_dot_prod): New function.
17087 (vect_transform_reduction): Use it to emulate usdot via sdot.
17089 2022-07-05 Richard Biener <rguenther@suse.de>
17091 PR tree-optimization/106182
17092 * loop-init.cc (fix_loop_structure): Return the number
17093 of newly discovered plus the number of deleted loops.
17094 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
17097 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
17099 * gimple-range-fold.cc
17100 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
17101 call to SCEV for irange supported types.
17102 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
17103 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
17104 * tree-ssa-dom.cc (cprop_operand): Same.
17106 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
17109 * calls.cc (precompute_register_parameters): Allow promotion
17110 of floating point values to be passed in wider integer modes
17111 by calling new convert_float_to_wider_int.
17112 (expand_call): Allow floating point results to be returned in
17113 wider integer modes by calling new convert wider_int_to_float.
17114 * cfgexpand.cc (expand_value_return): Allow backends to promote
17115 a scalar floating point return value to a wider integer mode
17116 by calling new convert_float_to_wider_int.
17117 * expr.cc (convert_float_to_wider_int): New function.
17118 (convert_wider_int_to_float): Likewise.
17119 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
17120 scalar FP PARM_DECLs to wider integer modes, by calling new
17121 convert_wider_int_to_float.
17122 * expr.h (convert_modes): Name arguments for improved documentation.
17123 (convert_float_to_wider_int): Prototype new function here.
17124 (convert_wider_int_to_float): Likewise.
17125 * function.cc (assign_parm_setup_stack): Allow floating point
17126 values to be passed on the stack as wider integer modes by
17127 calling new convert_wider_int_to_float.
17129 2022-07-04 Martin Jambor <mjambor@suse.cz>
17131 PR tree-optimization/105860
17132 * tree-sra.cc (build_reconstructed_reference): Start expr
17133 traversal only just below the outermost union.
17135 2022-07-04 Richard Biener <rguenther@suse.de>
17137 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
17138 and update virtual SSA form again. Assert we do so for
17139 a known set of transforms only.
17140 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
17141 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
17142 using load-lanes allow virtual SSA update.
17144 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
17145 Chung-Lin Tang <cltang@codesourcery.com>
17146 Thomas Schwinge <thomas@codesourcery.com>
17148 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
17149 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
17150 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
17151 * config/nvptx/mkoffload.cc (process, main): Likewise.
17152 * lto-cgraph.cc (omp_requires_to_name): New.
17153 (input_offload_tables): Save omp_requires_mask.
17154 (output_offload_tables): Read it, check for consistency,
17155 save value for mkoffload.
17156 * omp-low.cc (lower_omp_target): Force output_offloadtables
17157 call for OMP_REQUIRES_TARGET_USED.
17159 2022-07-04 Richard Biener <rguenther@suse.de>
17161 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
17162 no SSA update is needed instead of updating virtual SSA
17164 * tree-vect-stmts.cc (vectorizable_load): For hoisted
17165 invariant load use the loop entry virtual use.
17166 For emulated gather loads use the virtual use of the
17167 original stmt like vect_finish_stmt_generation would do.
17169 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
17171 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
17172 for direct circularity.
17174 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
17176 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
17177 the language for vector types.
17179 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
17181 * value-range-storage.cc (irange_storage_slot::set_irange): Set
17182 nonzero bits in irange.
17183 (irange_storage_slot::get_irange): Get nonzero bits from irange.
17184 * value-range.cc (irange::operator=): Set nonzero bits.
17185 (irange::irange_set): Same.
17186 (irange::irange_set_anti_range): Same.
17187 (irange::set): Same.
17188 (irange::verify_range): Same.
17189 (irange::legacy_equal_p): Check nonzero bits.
17190 (irange::equal_p): Same.
17191 (irange::contains_p): Handle nonzero bits.
17192 (irange::irange_union): Same.
17193 (irange::irange_intersect): Same.
17194 (irange::dump): Same.
17195 (irange::set_nonzero_bits): New.
17196 (irange::get_nonzero_bits): New.
17197 (irange::intersect_nonzero_bits): New.
17198 (irange::union_nonzero_bits): New.
17199 (irange::dump_bitmasks): New.
17200 * value-range.h (class irange): Add m_nonzero_mask.
17201 (gt_ggc_mx): Handle nonzero bits.
17203 (irange::set_undefined): Set nonzero bits.
17204 (irange::set_varying): Same.
17205 (irange::normalize_kind): Call set_undefined.
17207 2022-07-04 Richard Biener <rguenther@suse.de>
17209 * tree-ssa-loop-manip.h
17210 (rewrite_virtuals_into_loop_closed_ssa): Remove.
17211 (rewrite_into_loop_closed_ssa_1): Likewise.
17212 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
17214 (rewrite_into_loop_closed_ssa): Remove loop overload,
17215 always rewrite virtuals into LC SSA.
17216 (check_loop_closed_ssa_bb): Also check virtuals.
17217 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
17218 LC PHIs when in LC SSA.
17219 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
17220 loop-closed SSA here, but ...
17221 (tree_loop_unroll_and_jam): ... here once.
17222 * tree-if-conv.cc (version_loop_for_if_conversion): Use
17223 the cheaper TODO_update_ssa_no_phi.
17224 * tree-loop-distribution.cc (version_loop_by_alias_check):
17226 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
17228 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
17229 (tree_unswitch_outer_loop): Do not rewrite virtuals into
17231 * tree-parloops.cc (transform_to_exit_first_loop_alt):
17233 (pass_parallelize_loops::execute): After finishing rewrite
17234 into LC SSA again because we do not maintain it properly.
17236 2022-07-04 Richard Biener <rguenther@suse.de>
17238 PR tree-optimization/106055
17239 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
17242 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
17245 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
17246 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
17247 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
17249 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
17251 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
17252 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
17253 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
17254 with two arguments.
17255 (find_unswitching_predicates_for_bb): Same.
17256 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
17257 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
17258 * value-range.cc (irange::equal_p): Rename to...
17259 (irange::operator==): ...this.
17260 * value-range.h (irange::set): Remove.
17261 (irange::operator==): Remove.
17262 (irange::set_zero): Use set with two arguments.
17263 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
17264 (vr_values::extract_range_from_unary_expr): Same.
17265 (check_for_binary_op_overflow): Same.
17266 (bounds_of_var_in_loop): Same.
17268 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
17271 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
17273 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
17275 * config/i386/mmx.md (V_16_32_64): New.
17276 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
17277 and 64-bit constant vector.
17278 * config/i386/predicates.md (x86_64_const_vector_operand): New.
17280 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
17282 * gimple-range-cache.cc: Include value-range-storage.h.
17283 * gimple-range-cache.h (class block_range_cache): Add "class" to
17285 * gimple-range-edge.cc
17286 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
17287 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
17288 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
17289 * gimple-range-edge.h: Add "class" to m_range_allocator.
17290 * gimple-range-infer.cc
17291 (infer_range_manager::infer_range_manager): Allocate allocator.
17292 (infer_range_manager::~infer_range_manager): Free allocator.
17293 (infer_range_manager::get_nonzero): Dereference allocator.
17294 (infer_range_manager::add_range): Same.
17295 * gimple-range-infer.h (class vrange_allocator): Add "class" to
17297 * value-range-storage.h (class vrange_allocator): Move from
17299 (class obstack_vrange_allocator): Same.
17300 (class ggc_vrange_allocator): Same.
17301 (vrange_allocator::alloc_vrange): Same.
17302 (vrange_allocator::alloc_irange): Same.
17303 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
17304 (class obstack_vrange_allocator): Same.
17305 (class ggc_vrange_allocator): Same.
17307 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
17309 * Makefile.in (OBJS): Add value-range-storage.o.
17310 (GTFILES): Add value-range-storage.h.
17311 * gengtype.cc (open_base_files): Add value-range-storage.h.
17312 * value-range-storage.cc: New file.
17313 * value-range-storage.h: New file.
17315 2022-07-03 Xi Ruoyao <xry111@xry111.site>
17316 Lulu Cheng <chenglulu@loongson.cn>
17318 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
17319 New static function.
17320 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
17321 of TARGET_CHECK_ZERO_DIV.
17322 (loongarch_output_division): Likewise.
17323 * common/config/loongarch/loongarch-common.cc
17324 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
17325 * doc/invoke.texi: Update to match the new behavior.
17327 2022-07-03 Ian Lance Taylor <iant@golang.org>
17329 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
17330 statement if -fdelete-dead-exceptions.
17332 2022-07-02 Tim Lange <mail@tim-lange.me>
17335 * doc/invoke.texi: Added Wanalyzer-allocation-size.
17337 2022-07-02 Immad Mir <mirimmad17@gmail.com>
17340 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
17341 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
17342 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
17343 -Wanalyzer-fd-use-after-close.
17345 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
17347 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
17348 (trailing_wide_ints::set_precision): Add num_elements argument.
17349 (trailing_wide_ints::extra_size): Same.
17351 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
17353 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
17354 Use "r" constraint for operand 1.
17356 2022-07-01 Richard Biener <rguenther@suse.de>
17358 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
17359 Do not look at interesting_blocks which is a copy of
17361 (update_ssa): Do not initialize it.
17362 (pass_build_ssa::execute): Set interesting_blocks to NULL
17363 after releasing it.
17365 2022-07-01 Richard Biener <rguenther@suse.de>
17367 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
17368 back to using maybe_ne (off, -1).
17370 2022-07-01 Richard Biener <rguenther@suse.de>
17372 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
17373 checking dominance check conditional on flag_checking.
17375 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
17377 * config/gcn/gcn-protos.h (print_operand_address): Remove register
17378 keyword on 'rtx addr' argument.
17380 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
17381 Uroš Bizjak <ubizjak@gmail.com>
17383 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
17384 to post-reload define_insn_and_split.
17386 2022-07-01 Jakub Jelinek <jakub@redhat.com>
17388 PR middle-end/106144
17389 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
17390 emitting element for shift or if shift is 0 first element after start.
17391 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
17392 wi::shifted_mask with 0 start.
17394 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
17397 * config/i386/i386.md (peephole2): Avoid generating pop %esp
17398 when optimizing for size.
17400 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
17401 Uroš Bizjak <ubizjak@gmail.com>
17403 * config/i386/i386.md (general_szext_operand): Add TImode
17404 support using x86_64_hilo_general_operand predicate.
17405 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
17406 (*add<dwi>3_doubleword): Improved optimization of zero addition.
17407 (and<mode>3): Use SDWIM mode iterator to add support for double
17408 word bit-wise AND in TImode. Use force_reg when double word
17409 immediate operand isn't x86_64_hilo_general_operand.
17410 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
17411 converted into a post-reload splitter.
17412 (*andndi3_doubleword): Previous define_insn deleted.
17413 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
17414 TARGET_BMI that splits post-reload.
17415 (*andn<mode>3_doubleword): New define_insn_and_split for
17416 !TARGET_BMI, that lowers/splits before reload.
17417 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
17418 double word bit-wise XOR and bit-wise IOR in TImode. Use
17419 force_reg when double word immediate operand isn't
17420 x86_64_hilo_general_operand.
17421 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
17422 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
17423 double word bit-wise NOT in TImode.
17424 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
17425 and converted into a post-reload splitter.
17427 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
17429 PR middle-end/105874
17430 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
17431 EXPAND_MEMORY for the expansion of the inner reference only
17432 in the usual cases where a memory reference is required.
17434 2022-07-01 Richard Biener <rguenther@suse.de>
17436 PR tree-optimization/106131
17437 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
17438 zero when offsetting the read looking through an aggregate
17441 2022-07-01 Martin Liska <mliska@suse.cz>
17443 PR tree-optimization/106126
17444 * gimple-if-to-switch.cc (struct condition_info): Save
17446 (find_conditions): Parse all BBs.
17447 (pass_if_to_switch::execute): Allow only side effects for first
17450 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
17452 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
17453 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
17454 OPTION_MASK_ISA2_AVX512BF16_UNSET and
17455 OPTION_MASK_ISA2_AVX512FP16_UNSET.
17457 2022-06-30 Joseph Myers <joseph@codesourcery.com>
17460 * lto-wrapper.cc (find_option): Add argument start.
17461 (merge_and_complain): Loop over existing_opt_index and
17462 existing_opt2_index for Xassembler check. Update calls to
17464 (find_and_merge_options): Add argument first to determine whether
17465 to merge options with those passed in *opts.
17466 (run_gcc): Update calls to find_and_merge_options.
17468 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
17470 * gimple-range-cache.cc (block_range_cache::block_range_cache):
17471 Rename vrange_allocator to obstack_vrange_allocator.
17472 (ssa_global_cache::ssa_global_cache): Same.
17473 * gimple-range-edge.h (class gimple_outgoing_range): Same.
17474 * gimple-range-infer.h (class infer_range_manager): Same.
17475 * value-range.h (class vrange_allocator): Make abstract.
17476 (class obstack_vrange_allocator): Inherit from vrange_allocator.
17477 (class ggc_vrange_allocator): New.
17479 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
17480 Uroš Bizjak <ubizjak@gmail.com>
17482 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
17483 provide gen_swapsi.
17484 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
17485 via new gen_<insn>32di2_doubleword below.
17486 (<anyrotate>32di2_doubleword): New define_insn_and_split
17487 that splits after reload as either a pair of move instructions
17488 or an xchgl (using gen_swapsi).
17490 2022-06-30 Richard Biener <rguenther@suse.de>
17492 * domwalk.h (dom_walker::dom_walker): Update comment to
17493 reflect reality and new special argument value for
17495 * domwalk.cc (dom_walker::dom_walker): Recognize -1
17498 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
17499 dom_walker to not use RPO.
17501 2022-06-30 Martin Liska <mliska@suse.cz>
17503 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
17506 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
17508 PR tree-optimization/106114
17509 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
17510 statement operands instead of GORI cache.
17512 2022-06-30 Antoni Boucher <bouanto@zoho.com>
17515 * config/i386/sse.md: Fix asm generation.
17517 2022-06-29 Sergei Trofimovich <siarheit@google.com>
17520 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
17522 2022-06-29 Joseph Myers <joseph@codesourcery.com>
17524 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
17525 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
17527 2022-06-29 Richard Biener <rguenther@suse.de>
17529 PR rtl-optimization/106082
17530 * combine.cc (distribute_notes): Preserve notes when
17531 they indicate a call doesn't perform a non-local goto.
17533 2022-06-29 Richard Biener <rguenther@suse.de>
17535 PR tree-optimization/106112
17536 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
17537 a constant operand according to its type.
17539 2022-06-29 Martin Liska <mliska@suse.cz>
17541 * doc/invoke.texi: Remove removed evrp-mode.
17543 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
17546 * config/loongarch/loongarch.cc (loongarch_build_integer):
17547 Remove undefined behavior from code.
17549 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
17551 * doc/sourcebuild.texi: Document new no_alignment_constraints
17552 effective target check.
17554 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
17556 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
17557 * flag-types.h (enum evrp_mode): Remove.
17558 * params.opt: Remove --param=evrp-mode.
17559 * tree-vrp.cc (make_pass_early_vrp): New.
17560 (pass_vrp::execute): Call early VRP instance.
17561 * gimple-ssa-evrp-analyze.cc: Removed.
17562 * gimple-ssa-evrp-analyze.h: Removed.
17563 * gimple-ssa-evrp.cc: Removed.
17565 2022-06-28 Alexandre Oliva <oliva@adacore.com>
17567 * Makefile.in (TFLAGS): New.
17568 (GCC_FOR_TARGET): Add TFLAGS.
17569 (FLAGS_TO_PASS): Pass TFLAGS down.
17571 2022-06-28 Richard Biener <rguenther@suse.de>
17573 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
17576 2022-06-28 Richard Biener <rguenther@suse.de>
17578 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
17579 mark_block_for_update.
17580 (update_ssa): Adjust.
17582 2022-06-28 Xi Ruoyao <xry111@xry111.site>
17585 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
17586 $r13 from SIBCALL_REGS.
17587 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
17588 Change $r13 to JIRL_REGS.
17590 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
17592 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
17593 irange::supports_p.
17595 2022-06-28 Richard Biener <rguenther@suse.de>
17597 PR middle-end/106053
17598 * match.pd ((T)a == (T)b): Avoid folding away sign
17599 changes in a comparison if we'd truncate to a boolean.
17601 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
17603 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
17604 iterator GPR with SImode, adjust the condition and output template,
17606 (*rotlsi3_insert_4): ... this.
17608 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17610 * genmatch.cc: Add "final" and "override" to various vfunc
17611 implementations, removing redundant "virtual" as appropriate.
17612 * gensupport.cc: Likewise.
17613 * gimple-range-cache.h: Likewise.
17614 * ipa-icf-gimple.h: Likewise.
17615 * ipa-icf.h: Likewise.
17616 * read-md.h: Likewise.
17617 * read-rtl-function.cc: Likewise.
17618 * tree-ssa-loop-ch.cc: Likewise.
17619 * tree-ssa-sccvn.cc: Likewise.
17621 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17623 * config/i386/i386-features.h: Add "final" and "override" to
17624 scalar_chain vfunc implementations as appropriate.
17626 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17628 * tree-switch-conversion.h: Add "final" and "override" to cluster
17629 vfunc implementations as appropriate.
17631 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17633 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
17634 implementations as appropriate.
17636 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17638 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
17639 implementations, removing redundant "virtual" as appropriate.
17640 * gimple-ssa-strength-reduction.cc: Likewise.
17641 * ipa-prop.cc: Likewise.
17642 * rtl-ssa/blocks.cc: Likewise.
17643 * tree-into-ssa.cc: Likewise.
17644 * tree-ssa-dom.cc: Likewise.
17645 * tree-ssa-math-opts.cc: Likewise.
17646 * tree-ssa-phiopt.cc: Likewise.
17647 * tree-ssa-propagate.cc: Likewise.
17648 * tree-ssa-sccvn.cc: Likewise.
17649 * tree-ssa-strlen.cc: Likewise.
17650 * tree-ssa-uncprop.cc: Likewise.
17652 2022-06-27 David Malcolm <dmalcolm@redhat.com>
17654 * adjust-alignment.cc: Add "final" and "override" to opt_pass
17655 vfunc implementations, removing redundant "virtual" as
17657 * asan.cc: Likewise.
17658 * auto-inc-dec.cc: Likewise.
17659 * auto-profile.cc: Likewise.
17660 * bb-reorder.cc: Likewise.
17661 * cfgcleanup.cc: Likewise.
17662 * cfgexpand.cc: Likewise.
17663 * cfgrtl.cc: Likewise.
17664 * cgraphbuild.cc: Likewise.
17665 * combine-stack-adj.cc: Likewise.
17666 * combine.cc: Likewise.
17667 * compare-elim.cc: Likewise.
17668 * config/i386/i386-features.cc: Likewise.
17669 * coroutine-passes.cc: Likewise.
17670 * cprop.cc: Likewise.
17671 * cse.cc: Likewise.
17672 * dce.cc: Likewise.
17673 * df-core.cc: Likewise.
17674 * dse.cc: Likewise.
17675 * dwarf2cfi.cc: Likewise.
17676 * early-remat.cc: Likewise.
17677 * except.cc: Likewise.
17678 * final.cc: Likewise.
17679 * function.cc: Likewise.
17680 * fwprop.cc: Likewise.
17681 * gcse.cc: Likewise.
17682 * gimple-harden-conditionals.cc: Likewise.
17683 * gimple-if-to-switch.cc: Likewise.
17684 * gimple-isel.cc: Likewise.
17685 * gimple-laddress.cc: Likewise.
17686 * gimple-loop-interchange.cc: Likewise.
17687 * gimple-loop-jam.cc: Likewise.
17688 * gimple-loop-versioning.cc: Likewise.
17689 * gimple-low.cc: Likewise.
17690 * gimple-ssa-backprop.cc: Likewise.
17691 * gimple-ssa-evrp.cc: Likewise.
17692 * gimple-ssa-isolate-paths.cc: Likewise.
17693 * gimple-ssa-nonnull-compare.cc: Likewise.
17694 * gimple-ssa-split-paths.cc: Likewise.
17695 * gimple-ssa-store-merging.cc: Likewise.
17696 * gimple-ssa-strength-reduction.cc: Likewise.
17697 * gimple-ssa-warn-access.cc: Likewise.
17698 * gimple-ssa-warn-alloca.cc: Likewise.
17699 * gimple-ssa-warn-restrict.cc: Likewise.
17700 * gimple-warn-recursion.cc: Likewise.
17701 * graphite.cc: Likewise.
17702 * ifcvt.cc: Likewise.
17703 * init-regs.cc: Likewise.
17704 * ipa-comdats.cc: Likewise.
17705 * ipa-cp.cc: Likewise.
17706 * ipa-devirt.cc: Likewise.
17707 * ipa-fnsummary.cc: Likewise.
17708 * ipa-free-lang-data.cc: Likewise.
17709 * ipa-icf.cc: Likewise.
17710 * ipa-inline.cc: Likewise.
17711 * ipa-modref.cc: Likewise.
17712 * ipa-profile.cc: Likewise.
17713 * ipa-pure-const.cc: Likewise.
17714 * ipa-reference.cc: Likewise.
17715 * ipa-split.cc: Likewise.
17716 * ipa-sra.cc: Likewise.
17717 * ipa-visibility.cc: Likewise.
17718 * ipa.cc: Likewise.
17719 * ira.cc: Likewise.
17720 * jump.cc: Likewise.
17721 * loop-init.cc: Likewise.
17722 * lower-subreg.cc: Likewise.
17723 * mode-switching.cc: Likewise.
17724 * modulo-sched.cc: Likewise.
17725 * multiple_target.cc: Likewise.
17726 * omp-expand.cc: Likewise.
17727 * omp-low.cc: Likewise.
17728 * omp-oacc-kernels-decompose.cc: Likewise.
17729 * omp-oacc-neuter-broadcast.cc: Likewise.
17730 * omp-offload.cc: Likewise.
17731 * omp-simd-clone.cc: Likewise.
17732 * passes.cc: Likewise.
17733 * postreload-gcse.cc: Likewise.
17734 * postreload.cc: Likewise.
17735 * predict.cc: Likewise.
17736 * recog.cc: Likewise.
17737 * ree.cc: Likewise.
17738 * reg-stack.cc: Likewise.
17739 * regcprop.cc: Likewise.
17740 * reginfo.cc: Likewise.
17741 * regrename.cc: Likewise.
17742 * reorg.cc: Likewise.
17743 * sancov.cc: Likewise.
17744 * sanopt.cc: Likewise.
17745 * sched-rgn.cc: Likewise.
17746 * stack-ptr-mod.cc: Likewise.
17747 * store-motion.cc: Likewise.
17748 * tracer.cc: Likewise.
17749 * trans-mem.cc: Likewise.
17750 * tree-call-cdce.cc: Likewise.
17751 * tree-cfg.cc: Likewise.
17752 * tree-cfgcleanup.cc: Likewise.
17753 * tree-complex.cc: Likewise.
17754 * tree-eh.cc: Likewise.
17755 * tree-emutls.cc: Likewise.
17756 * tree-if-conv.cc: Likewise.
17757 * tree-into-ssa.cc: Likewise.
17758 * tree-loop-distribution.cc: Likewise.
17759 * tree-nrv.cc: Likewise.
17760 * tree-object-size.cc: Likewise.
17761 * tree-parloops.cc: Likewise.
17762 * tree-predcom.cc: Likewise.
17763 * tree-profile.cc: Likewise.
17764 * tree-sra.cc: Likewise.
17765 * tree-ssa-ccp.cc: Likewise.
17766 * tree-ssa-copy.cc: Likewise.
17767 * tree-ssa-dce.cc: Likewise.
17768 * tree-ssa-dom.cc: Likewise.
17769 * tree-ssa-dse.cc: Likewise.
17770 * tree-ssa-forwprop.cc: Likewise.
17771 * tree-ssa-ifcombine.cc: Likewise.
17772 * tree-ssa-loop-ch.cc: Likewise.
17773 * tree-ssa-loop-im.cc: Likewise.
17774 * tree-ssa-loop-ivcanon.cc: Likewise.
17775 * tree-ssa-loop-prefetch.cc: Likewise.
17776 * tree-ssa-loop-split.cc: Likewise.
17777 * tree-ssa-loop-unswitch.cc: Likewise.
17778 * tree-ssa-loop.cc: Likewise.
17779 * tree-ssa-math-opts.cc: Likewise.
17780 * tree-ssa-phiopt.cc: Likewise.
17781 * tree-ssa-phiprop.cc: Likewise.
17782 * tree-ssa-pre.cc: Likewise.
17783 * tree-ssa-reassoc.cc: Likewise.
17784 * tree-ssa-sccvn.cc: Likewise.
17785 * tree-ssa-sink.cc: Likewise.
17786 * tree-ssa-strlen.cc: Likewise.
17787 * tree-ssa-structalias.cc: Likewise.
17788 * tree-ssa-uncprop.cc: Likewise.
17789 * tree-ssa-uninit.cc: Likewise.
17790 * tree-ssanames.cc: Likewise.
17791 * tree-stdarg.cc: Likewise.
17792 * tree-switch-conversion.cc: Likewise.
17793 * tree-tailcall.cc: Likewise.
17794 * tree-vect-generic.cc: Likewise.
17795 * tree-vectorizer.cc: Likewise.
17796 * tree-vrp.cc: Likewise.
17797 * tsan.cc: Likewise.
17798 * ubsan.cc: Likewise.
17799 * var-tracking.cc: Likewise.
17800 * vtable-verify.cc: Likewise.
17801 * web.cc: Likewise.
17803 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
17805 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
17807 (movdi_symbol_save_scc): Likewise.
17809 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
17811 PR rtl-optimization/7061
17812 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
17814 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
17816 PR tree-optimization/94026
17817 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
17818 (((X >> C1) & C2) eq/ne C3): Likewise.
17820 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17822 * statistics.cc: Include tree.h.
17823 (get_function_name): New function.
17824 (statistics_fini_pass_2): Call get_function_name instead of
17825 current_function_name.
17826 (statistics_counter_event): Call get_function_name instead of
17828 (statistics_histogram_event): Likewise.
17830 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17832 * config/xtensa/xtensa.md:
17833 Suppress unnecessary emitting nop insn in the split patterns for
17834 integer/FP constant synthesis, and add new peephole2 pattern that
17835 folds such synthesized additions.
17837 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
17839 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
17841 (dom_jt_state::push): Remove m_evrp.
17842 (dom_jt_state::pop): Same.
17843 (dom_jt_state::record_ranges_from_stmt): Remove.
17844 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
17845 (class dom_jt_simplifier): Pass ranger to constructor.
17846 Inherit from hybrid_jt_simplifier.
17847 (dom_jt_simplifier::simplify): Convert to ranger.
17848 (pass_dominator::execute): Same.
17849 (all_uses_feed_or_dominated_by_stmt): New.
17850 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
17851 (dom_opt_dom_walker::before_dom_children): Call
17852 set_global_ranges_from_unreachable_edges.
17853 Do not call record_ranges_from_stmt.
17854 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
17855 (cprop_operand): Use int_range<> instead of value_range.
17856 (dom_opt_dom_walker::fold_cond): New.
17857 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
17859 Use fold_cond() instead of vrp_visit_cond_stmt().
17860 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
17861 pass state to simplifier.
17862 * vr-values.h (class vr_values): Make fold_cond public.
17864 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
17866 * common/config/tilegx/tilegx-common.cc: Removed.
17867 * common/config/tilepro/tilepro-common.cc: Removed.
17868 * config.gcc: Remove tilegx and tilepro entries.
17869 * config/tilegx/constraints.md: Removed.
17870 * config/tilegx/feedback.h: Removed.
17871 * config/tilegx/linux.h: Removed.
17872 * config/tilegx/mul-tables.cc: Removed.
17873 * config/tilegx/predicates.md: Removed.
17874 * config/tilegx/sync.md: Removed.
17875 * config/tilegx/t-tilegx: Removed.
17876 * config/tilegx/tilegx-builtins.h: Removed.
17877 * config/tilegx/tilegx-c.cc: Removed.
17878 * config/tilegx/tilegx-generic.md: Removed.
17879 * config/tilegx/tilegx-modes.def: Removed.
17880 * config/tilegx/tilegx-multiply.h: Removed.
17881 * config/tilegx/tilegx-opts.h: Removed.
17882 * config/tilegx/tilegx-protos.h: Removed.
17883 * config/tilegx/tilegx.cc: Removed.
17884 * config/tilegx/tilegx.h: Removed.
17885 * config/tilegx/tilegx.md: Removed.
17886 * config/tilegx/tilegx.opt: Removed.
17887 * config/tilepro/constraints.md: Removed.
17888 * config/tilepro/feedback.h: Removed.
17889 * config/tilepro/gen-mul-tables.cc: Removed.
17890 * config/tilepro/linux.h: Removed.
17891 * config/tilepro/mul-tables.cc: Removed.
17892 * config/tilepro/predicates.md: Removed.
17893 * config/tilepro/t-tilepro: Removed.
17894 * config/tilepro/tilepro-builtins.h: Removed.
17895 * config/tilepro/tilepro-c.cc: Removed.
17896 * config/tilepro/tilepro-generic.md: Removed.
17897 * config/tilepro/tilepro-modes.def: Removed.
17898 * config/tilepro/tilepro-multiply.h: Removed.
17899 * config/tilepro/tilepro-protos.h: Removed.
17900 * config/tilepro/tilepro.cc: Removed.
17901 * config/tilepro/tilepro.h: Removed.
17902 * config/tilepro/tilepro.md: Removed.
17903 * config/tilepro/tilepro.opt: Removed.
17904 * configure.ac: Remove tilegx and tilepro entries.
17905 * configure: Rebuilt.
17906 * doc/extend.texi: Remove tilegx and tilepro entries.
17907 * doc/install.texi: Remove tilegx and tilepro entries.
17908 * doc/invoke.texi: Remove tilegx and tilepro entries.
17909 * doc/md.texi: Remove tilegx and tilepro entries.
17911 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
17912 Richard Biener <rguenther@suse.de>
17914 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
17915 iteration over each basic block that was updated by the second
17918 2022-06-24 Jason Merrill <jason@redhat.com>
17922 * doc/invoke.texi: Document changes.
17924 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
17926 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
17927 condition to avoid overflow.
17929 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
17931 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
17932 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
17933 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
17934 OPTION_MASK_PPC_GFXOPT.
17935 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
17936 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
17937 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
17938 * config/rs6000/rs6000-c.cc: Update comment.
17939 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
17940 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
17941 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
17942 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
17943 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
17944 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
17945 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
17946 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
17947 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
17949 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
17951 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
17953 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
17954 OPTION_MASK_MULTIPLE.
17955 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
17956 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
17958 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
17960 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
17961 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
17962 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
17963 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
17964 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
17965 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
17966 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
17967 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
17969 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
17970 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
17971 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
17972 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
17973 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
17974 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
17975 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
17976 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
17977 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
17978 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
17979 with OPTION_MASK_MULTIPLE.
17980 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
17981 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
17982 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
17983 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
17984 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
17985 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
17986 with OPTION_MASK_EABI.
17988 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
17990 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
17991 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
17992 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
17993 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
17994 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
17995 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
17996 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
17997 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
17998 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
17999 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
18000 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
18002 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18004 * config/rs6000/rs6000-c.cc: Update comments.
18005 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18006 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18007 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
18008 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
18009 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
18010 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
18011 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
18012 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
18013 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
18014 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
18015 OPTION_MASK_MMA, OPTION_MASK_POWER10.
18016 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18017 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18018 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
18019 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
18020 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
18022 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
18024 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
18025 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
18026 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
18028 2022-06-24 Richard Biener <rguenther@suse.de>
18030 PR middle-end/106070
18031 * match.pd (a != b ? a : b): Fix translation of
18032 operand_equal_for_comparison_p.
18034 2022-06-24 Jan Hubicka <jh@suse.cz>
18037 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
18039 2022-06-24 Martin Liska <mliska@suse.cz>
18041 PR middle-end/106059
18042 * profile-count.h: *= and /= operators need to modify this
18045 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
18046 Uroš Bizjak <ubizjak@gmail.com>
18049 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
18050 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
18051 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
18053 2022-06-24 Alexandre Oliva <oliva@adacore.com>
18055 * common.opt (nostdlib++): New.
18056 * doc/invoke.texi (-nostdlib++): Document it.
18058 2022-06-24 Alexandre Oliva <oliva@adacore.com>
18060 * doc/sourcebuild.texi (Environment attributes): Document
18063 2022-06-23 David Malcolm <dmalcolm@redhat.com>
18065 * common.opt (fdiagnostics-show-rules): New option.
18066 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
18067 Fix up context->show_rules.
18068 * diagnostic-format-sarif.cc
18069 (diagnostic_output_format_init_sarif): Likewise.
18070 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
18071 (diagnostic_metadata::precanned_rule): New class.
18072 (diagnostic_metadata::add_rule): New.
18073 (diagnostic_metadata::get_num_rules): New.
18074 (diagnostic_metadata::get_rule): New.
18075 (diagnostic_metadata::m_rules): New field.
18076 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
18077 (print_any_rules): New.
18078 (diagnostic_report_diagnostic): Call it.
18079 * diagnostic.h (diagnostic_context::show_rules): New field.
18080 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
18081 * opts.cc (common_handle_option): Handle
18082 OPT_fdiagnostics_show_rules.
18083 * toplev.cc (general_init): Set up global_dc->show_rules.
18085 2022-06-23 Martin Liska <mliska@suse.cz>
18088 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
18089 in order to initialize UBSAN built-ins.
18091 2022-06-23 Martin Liska <mliska@suse.cz>
18094 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
18095 Skip variables with body_removed.
18097 2022-06-23 liuhongt <hongtao.liu@intel.com>
18099 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
18101 (sse4_2_pcmpistr): Ditto.
18103 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
18105 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
18107 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
18108 * tree-switch-conversion.h: Likewise.
18110 2022-06-22 Jason Merrill <jason@redhat.com>
18113 * common.opt: Add -funreachable-traps.
18114 * doc/invoke.texi (-funreachable-traps): Document it.
18115 * opts.cc (finish_options): Enable at -O0 or -Og.
18116 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
18117 (builtin_decl_unreachable, build_builtin_unreachable): New.
18118 * tree.h: Declare them.
18119 * ubsan.cc (sanitize_unreachable_fn): Factor out.
18120 (ubsan_instrument_unreachable): Use
18121 gimple_build_builtin_unreachable.
18122 * ubsan.h (sanitize_unreachable_fn): Declare.
18123 * gimple.cc (gimple_build_builtin_unreachable): New.
18124 * gimple.h: Declare it.
18125 * builtins.cc (expand_builtin_unreachable): Add assert.
18126 (fold_builtin_0): Call build_builtin_unreachable.
18127 * sanopt.cc: Don't run for just SANITIZE_RETURN
18128 or SANITIZE_UNREACHABLE when trapping.
18129 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
18130 unreachable functions.
18131 * gimple-fold.cc (gimple_fold_call)
18132 (gimple_get_virt_method_for_vtable)
18133 * ipa-fnsummary.cc (redirect_to_unreachable)
18134 * ipa-prop.cc (ipa_make_edge_direct_to_target)
18135 (ipa_impossible_devirt_target)
18136 * ipa.cc (walk_polymorphic_call_targets)
18137 * tree-cfg.cc (pass_warn_function_return::execute)
18138 (execute_fixup_cfg)
18139 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
18141 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
18144 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
18146 PR tree-optimization/106019
18147 * tree-data-ref.cc (dr_may_alias_p): Try using the
18148 innermost_loop_behavior to disambiguate non-loop queries.
18150 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
18152 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
18154 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18156 * config/xtensa/xtensa.md (bswapsi2_internal):
18157 Enlarge the buffer that is obviously smaller than the template
18158 string given to sprintf().
18160 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
18161 Marek Polacek <polacek@redhat.com>
18162 Segher Boessenkool <segher@kernel.crashing.org>
18163 Kewen Lin <linkw@linux.ibm.com>
18166 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
18167 exact_log2 doesn't return -1 (or zero).
18168 (plus_xor): New code iterator.
18169 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
18171 2022-06-21 Nathan Sidwell <nathan@acm.org>
18173 * doc/invoke.texi (C++ Modules): Remove language-linkage
18174 as missing feature.
18176 2022-06-21 Arjun Shankar <arjun@redhat.com>
18178 PR tree-optimization/94899
18179 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
18180 0x80000000): New simplification.
18182 2022-06-21 Jakub Jelinek <jakub@redhat.com>
18184 PR rtl-optimization/106032
18185 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
18186 t may_trap_or_fault_p, even if it is cheap.
18188 2022-06-21 Jakub Jelinek <jakub@redhat.com>
18190 PR middle-end/106030
18191 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
18192 temp to expand_operands if mode has been promoted.
18194 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
18197 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
18200 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
18202 PR tree-optimization/105736
18203 * tree-object-size.cc (addr_object_size): Return size_unknown
18204 when object offset computation returns an error.
18206 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
18209 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
18210 false if PIC register is used when calling ifunc functions.
18212 2022-06-20 Richard Biener <rguenther@suse.de>
18214 PR middle-end/106027
18215 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
18216 type of the prevailing comparison for the new comparison type.
18217 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
18218 to A < X && A >= Y folding.
18220 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
18222 PR tree-optimization/105940
18223 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
18224 slp_done_for_suggested_uf and adjust with it accordingly.
18225 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
18226 pass it down to vect_analyze_loop_2 for the initial analysis and
18227 applying suggested unroll factor.
18228 (vect_is_simple_reduction): Add parameter slp and adjust with it.
18229 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
18230 (vect_analyze_scalar_cycles): Likewise.
18232 2022-06-20 Martin Liska <mliska@suse.cz>
18234 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
18236 (better_edge_p): Likewise.
18237 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
18238 * cfgloopmanip.cc (scale_loop_profile): Likewise.
18239 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
18240 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
18241 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
18242 * dojump.cc (do_compare_rtx_and_jump): Likewise.
18243 * final.cc (compute_alignments): Likewise.
18244 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
18245 (decide_about_value): Likewise.
18246 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
18247 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
18248 * modulo-sched.cc (sms_schedule): Likewise.
18249 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
18250 (expand_omp_ordered_sink): Likewise.
18251 (expand_omp_for_ordered_loops): Likewise.
18252 (expand_omp_for_static_nochunk): Likewise.
18253 * predict.cc (maybe_hot_count_p): Likewise.
18254 (probably_never_executed): Likewise.
18255 (set_even_probabilities): Likewise.
18256 (handle_missing_profiles): Likewise.
18257 (expensive_function_p): Likewise.
18258 * profile-count.h: Likewise.
18259 * profile.cc (compute_branch_probabilities): Likewise.
18260 * stmt.cc (emit_case_dispatch_table): Likewise.
18261 * symtab-thunks.cc (expand_thunk): Likewise.
18262 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
18263 * tree-ssa-sink.cc (select_best_block): Likewise.
18264 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
18265 (switch_decision_tree::balance_case_nodes): Likewise.
18266 (switch_decision_tree::emit_case_nodes): Likewise.
18267 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
18269 2022-06-20 yulong <shiyulong@iscas.ac.cn>
18271 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
18272 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
18274 * config/riscv/riscv-ftypes.def (0): Remove unused.
18277 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18279 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
18280 Consider relaxed MOVI instructions as L32R.
18282 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18284 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
18285 Use can_create_pseudo_p(), instead of using individual
18286 reload_in_progress and reload_completed.
18287 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
18288 the existing predicate function.
18289 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
18290 Use the standard RTX code predicate macros such as MEM_P,
18291 SYMBOL_REF_P and/or CONST_INT_P.
18292 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
18293 if callee-saved register, at the split patterns for indirect sibcall
18296 2022-06-18 Jakub Jelinek <jakub@redhat.com>
18298 * common.opt (flag_sanitize_trap): New variable.
18299 (fsanitize-trap=, fsanitize-trap): New options.
18300 (fsanitize-undefined-trap-on-error): Change into deprecated alias
18301 for -fsanitize-trap=all.
18302 * opts.h (struct sanitizer_opts_s): Add can_trap member.
18303 * opts.cc (finish_options): Complain about unsupported
18304 -fsanitize-trap= options.
18305 (sanitizer_opts): Add can_trap values to all entries.
18306 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
18307 options which have can_trap false.
18308 (parse_sanitizer_options): Add support for -fsanitize-trap=.
18309 For -fsanitize-trap=all, enable
18310 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
18311 -fsanitize-trap=vptr here.
18312 (common_handle_option): Handle OPT_fsanitize_trap_ and
18313 OPT_fsanitize_trap.
18314 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
18315 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
18316 flag_sanitize_undefined_trap_on_error.
18317 * gcc.cc (sanitize_spec_function): Use
18318 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
18319 and drop use of flag_sanitize_undefined_trap_on_error in
18320 "undefined" handling.
18321 * ubsan.cc (ubsan_instrument_unreachable): Use
18322 flag_sanitize_trap & SANITIZE_??? instead of
18323 flag_sanitize_undefined_trap_on_error.
18324 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
18325 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
18326 ubsan_build_overflow_builtin, instrument_bool_enum_load,
18327 ubsan_instrument_float_cast, instrument_nonnull_arg,
18328 instrument_nonnull_return, instrument_builtin): Likewise.
18329 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
18330 (-fsanitize-undefined-trap-on-error): Document as deprecated
18331 alias of -fsanitize-trap.
18333 2022-06-18 Jakub Jelinek <jakub@redhat.com>
18335 PR middle-end/105998
18336 * varasm.cc (narrowing_initializer_constant_valid_p): Check
18337 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
18338 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
18340 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
18342 PR tree-optimization/105835
18343 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
18344 Narrow integer multiplication by a zero_one_valued_p operand.
18345 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
18346 conversions inside COND_EXPR where both data operands are
18349 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18351 * config/xtensa/constraints.md (Y):
18352 Change to include integer constants until reload begins.
18353 * config/xtensa/predicates.md (move_operand): Ditto.
18354 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
18355 Change to allow storing integer constants into litpool only after
18358 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
18361 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
18362 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
18363 (alpha_store_data_bypass_p_1): Ditto.
18364 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
18365 of generic store_data_bypass_p.
18366 (ev4_ist_c): Remove insn reservation.
18368 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
18371 * config/i386/i386.cc (ix86_function_arg): Assert that
18372 the mode of pointer argumet is equal to ptr_mode, not Pmode.
18374 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
18377 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
18378 instead of REGNO comparisons in combine splitter.
18380 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
18382 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
18385 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
18387 * config/riscv/bitmanip.md: Supress warning.
18389 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
18392 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
18393 Clear bits in the mask above bit 31.
18395 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
18397 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
18398 to avoid spilling trivial literals to the constant pool.
18400 2022-06-16 David Malcolm <dmalcolm@redhat.com>
18402 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
18403 auto_diagnostic_group to group any warning with its note.
18404 (maybe_warn_for_bound): Likewise.
18405 (check_access): Likewise.
18406 (warn_dealloc_offset): Likewise.
18407 (pass_waccess::maybe_warn_memmodel): Likewise.
18408 (pass_waccess::maybe_check_dealloc_call): Likewise.
18409 (pass_waccess::warn_invalid_pointer): Likewise.
18410 (pass_waccess::check_dangling_stores): Likewise.
18412 2022-06-16 Jason Merrill <jason@redhat.com>
18414 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
18415 opts_set->x_flag_sanitize.
18417 2022-06-16 Jason Merrill <jason@redhat.com>
18419 * flags.h (issue_strict_overflow_warning): Comment #endif.
18421 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
18423 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
18424 was invaraint before, clear the invariant bit.
18425 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
18426 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
18428 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
18430 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
18432 2022-06-16 Jakub Jelinek <jakub@redhat.com>
18434 PR tree-optimization/105983
18435 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
18436 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
18437 on non-equality comparisons.
18439 2022-06-16 Jakub Jelinek <jakub@redhat.com>
18441 PR tree-optimization/105984
18442 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
18443 x > stype_max / cst || x < stype_min / cst): fold_convert @1
18444 to TREE_TYPE (@0) just once and test for negative divisor
18445 also on that folded constant instead of on @1.
18447 2022-06-16 Jakub Jelinek <jakub@redhat.com>
18449 PR middle-end/105951
18450 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
18451 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
18452 as last argument to the internal functions.
18453 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
18454 extra call argument to ifns. If expand_atomic_fetch_op fails for the
18455 lhs == NULL_TREE case, fall through into the optab code with
18456 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
18457 fails, construct a CALL_EXPR and expand that.
18458 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
18459 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
18462 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
18465 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
18466 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
18467 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
18468 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
18469 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
18470 for new Power10 V1TI instructions.
18471 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
18472 (vec_cmpu<mode><mode>): Likewise.
18473 (vector_nlt<mode>): Set mode iterator to VEC_IC.
18474 (vector_nltv1ti): Remove.
18475 (vector_gtu<mode>): Set mode iterator to VEC_IC.
18476 (vector_gtuv1ti): Remove.
18477 (vector_nltu<mode>): Set mode iterator to VEC_IC.
18478 (vector_nltuv1ti): Remove.
18479 (vector_geu<mode>): Set mode iterator to VEC_IC.
18480 (vector_ngt<mode>): Likewise.
18481 (vector_ngtv1ti): Remove.
18482 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
18483 (vector_ngtuv1ti): Remove.
18484 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
18485 (vector_gtu_v1ti_p): Remove.
18486 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
18487 (vrotlv1ti3): Remove.
18488 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
18489 (vashrv1ti3): Remove.
18491 2022-06-16 Martin Liska <mliska@suse.cz>
18493 * gengtype-state.cc (read_a_state_token): Do not skip extra
18494 character after escaped sequence.
18496 2022-06-16 Martin Liska <mliska@suse.cz>
18499 * spellcheck.cc (test_find_closest_string): Add new test.
18500 * spellcheck.h (class best_match): Prefer a difference in
18501 trailing sign symbol.
18503 2022-06-16 liuhongt <hongtao.liu@intel.com>
18505 PR tree-optimization/53533
18506 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
18507 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
18508 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
18510 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18512 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
18514 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18516 * config/xtensa/predicates.md (reload_operand):
18518 * config/xtensa/xtensa.md: New peephole2 pattern.
18520 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18522 * config/xtensa/xtensa.md (*round_up_to_even):
18523 New insn-and-split pattern.
18524 (*signed_ge_zero): Ditto.
18526 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18528 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
18529 xtensa_emit_sibcall): New prototypes.
18530 (xtensa_expand_epilogue): Add new argument that specifies whether
18531 or not sibling call.
18532 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
18533 New macro definition.
18534 (xtensa_prepare_expand_call): New function in order to share
18536 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
18538 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
18539 for sibling call handling.
18540 * config/xtensa/xtensa.md (call, call_value):
18541 Use xtensa_prepare_expand_call.
18542 (call_internal, call_value_internal):
18543 Add the condition in order to be disabled if sibling call.
18544 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
18545 (sibcall_internal, sibcall_value_internal): New insn patterns,
18546 and split ones in order to take care of the indirect sibcalls.
18548 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18550 * doc/invoke.texi: Document -mextra-l32r-costs= option.
18552 2022-06-15 David Malcolm <dmalcolm@redhat.com>
18555 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
18556 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
18557 Extend -fdiagnostics-path-format=separate-events so that with
18558 -fdiagnostics-show-path-depths it prints fndecls as well as stack
18561 2022-06-15 David Malcolm <dmalcolm@redhat.com>
18563 * value-relation.h: Add "final" and "override" to relation_oracle
18564 vfunc implementations as appropriate.
18566 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
18568 PR middle-end/105975
18569 Revert everything apart from the expand_fn_using_insn and
18570 expand_direct_optab_fn changes from:
18571 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
18572 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
18573 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
18574 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
18575 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
18577 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
18578 (direct_internal_fn_p): Also return true for internal functions
18579 that map directly to instructions defined target-insns.def.
18580 (direct_internal_fn): Adjust comment accordingly.
18581 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
18582 (vectorizable_optab2): New local macros.
18583 (not_direct): Initialize directly_mapped.
18584 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
18585 (gather_load_direct, len_load_direct, mask_store_direct)
18586 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
18587 (vec_cond_direct, scatter_store_direct, len_store_direct)
18588 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
18589 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
18590 (while_direct, fold_extract_direct, fold_left_direct)
18591 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
18592 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
18593 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
18594 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
18595 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
18596 (direct_internal_fn_types): Handle functions that map to instructions
18597 defined in target-insns.def.
18598 (direct_internal_fn_types): Likewise.
18599 (direct_internal_fn_supported_p): Likewise.
18600 (internal_fn_expanders): Likewise.
18601 (expand_fn_using_insn): New function,
18602 split out and adapted from...
18603 (expand_direct_optab_fn): ...here.
18604 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
18605 (expand_GOMP_SIMT_EXIT): Likewise.
18606 (expand_GOMP_SIMT_LANE): Likewise.
18607 (expand_GOMP_SIMT_LAST_LANE): Likewise.
18608 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
18609 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
18610 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
18611 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
18613 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
18616 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
18617 to first_reg and second_reg respectively. Initialize them correctly
18618 when generating big-endian code.
18620 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
18623 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
18625 2022-06-15 Richard Biener <rguenther@suse.de>
18627 PR tree-optimization/105971
18628 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
18629 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
18630 to leak less surprising alias results.
18632 2022-06-15 Richard Biener <rguenther@suse.de>
18634 PR tree-optimization/105969
18635 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
18636 by zero in overflow check.
18638 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
18640 PR tree-optimization/105254
18641 PR tree-optimization/105940
18643 * config/aarch64/aarch64.cc
18644 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
18645 loop_vec_info as argument. Restrict the unroll factor to values
18646 that divide the VF.
18647 (aarch64_vector_costs::finish_cost): Update call accordingly.
18649 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
18651 * read-rtl.cc (find_int): Substitute symbolic constants
18652 before converting the string to an integer.
18654 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
18655 Richard Biener <rguenther@suse.de>
18657 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
18658 left shifts by a constant when the result is truncated, and the
18659 shift constant is well-defined.
18660 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
18661 support for rotations of signed integer types, by lowering
18662 using unsigned vector shifts.
18664 2022-06-15 liuhongt <hongtao.liu@intel.com>
18667 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
18670 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
18672 PR rtl-optimization/105041
18673 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
18675 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
18677 * config/rs6000/vsx.md (VS_scalar): Delete.
18678 (rest of file): Adjust.
18680 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
18683 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
18685 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
18687 * config/riscv/bitmanip.md: Add split to handle opportunities
18688 for slli + sh[123]add.uw
18690 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
18692 * config/riscv/predicates.md (consecutive_bits_operand):
18693 Implement new predicate.
18695 2022-06-14 Richard Biener <rguenther@suse.de>
18697 PR tree-optimization/105946
18698 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
18699 Do not look at arguments not specified in the function call.
18701 2022-06-14 Richard Biener <rguenther@suse.de>
18703 PR middle-end/105965
18704 * match.pd (view_convert CONSTRUCTOR): Handle single-element
18707 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
18709 * warning-control.cc (copy_warning) [generic version]: Do not erase
18710 the warning data of the destination location when the no-warning
18711 bit is not set on the source.
18712 (copy_warning) [tree version]: Return early if TO is equal to FROM.
18713 (copy_warning) [gimple version]: Likewise.
18715 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
18717 PR tree-optimization/105940
18718 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
18719 applying suggested_unroll_factor after start_over.
18721 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18723 * config/xtensa/predicates.md (shifted_mask_operand):
18725 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
18726 New insn-and-split pattern.
18727 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
18728 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
18729 *masktrue_const_shifted_mask): Ditto.
18731 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18733 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
18735 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18737 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
18738 Remove the first argument.
18739 (xtensa_emit_bit_branch): Remove it because now called only from the
18740 output statement of *bittrue insn pattern.
18741 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
18742 argument 'p_invert', and make so that the condition is reversed by
18744 (xtensa_expand_conditional_branch): Share the common path, and remove
18745 condition inversion code.
18746 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
18747 "false side" pattern.
18748 (xtensa_emit_bit_branch): Remove it because of the abovementioned
18749 reason, and move the function body to *bittrue insn pattern.
18750 * config/xtensa/xtensa.md (*bittrue): Transplant the output
18751 statement from removed xtensa_emit_bit_branch().
18752 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
18755 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18757 * config/xtensa/predicates.md (logical_shift_operator,
18758 xtensa_shift_per_byte_operator): New predicates.
18759 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
18761 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
18762 New helper function for funnel shift patterns.
18763 * config/xtensa/xtensa.md (ior_op): New code iterator.
18764 (*ashlsi3_1): Replace with new split pattern.
18765 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
18766 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
18767 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
18768 in order to omit unnecessary bitwise AND operation.
18769 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
18770 *shlrd_per_byte_<code>_omit_AND):
18771 New insn patterns for funnel shifts.
18773 2022-06-13 Jason Merrill <jason@redhat.com>
18775 * tree-cfg.cc (pass_warn_function_return::execute): Also check
18778 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
18780 * config/riscv/riscv.md (length): Remove the explicit setting
18783 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
18785 * common/config/i386/cpuinfo.h (get_available_features): Require
18786 AVX for F16C and VAES.
18788 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
18791 * config/i386/predicates.md (register_no_elim_operand):
18792 Return true for subreg of a memory operand.
18794 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
18796 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
18797 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
18798 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
18799 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
18800 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
18802 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
18803 (direct_internal_fn_p): Also return true for internal functions
18804 that map directly to instructions defined target-insns.def.
18805 (direct_internal_fn): Adjust comment accordingly.
18806 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
18807 (vectorizable_optab2): New local macros.
18808 (not_direct): Initialize directly_mapped.
18809 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
18810 (gather_load_direct, len_load_direct, mask_store_direct)
18811 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
18812 (vec_cond_direct, scatter_store_direct, len_store_direct)
18813 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
18814 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
18815 (while_direct, fold_extract_direct, fold_left_direct)
18816 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
18817 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
18818 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
18819 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
18820 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
18821 (direct_internal_fn_types): Handle functions that map to instructions
18822 defined in target-insns.def.
18823 (direct_internal_fn_types): Likewise.
18824 (direct_internal_fn_supported_p): Likewise.
18825 (internal_fn_expanders): Likewise.
18827 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
18829 * internal-fn.cc (expand_fn_using_insn): New function,
18830 split out and adapted from...
18831 (expand_direct_optab_fn): ...here.
18832 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
18833 (expand_GOMP_SIMT_EXIT): Likewise.
18834 (expand_GOMP_SIMT_LANE): Likewise.
18835 (expand_GOMP_SIMT_LAST_LANE): Likewise.
18836 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
18837 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
18838 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
18839 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
18841 2022-06-13 Jakub Jelinek <jakub@redhat.com>
18843 * omp-expand.cc (expand_omp_target): Remap user provided
18844 device clause arguments, -1 to -2 and -2 to -3, either
18845 at compile time if constant, or at runtime.
18847 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
18849 * common.opt (finstrument-functions): Set explicit value.
18850 (-finstrument-functions-once): New option.
18851 * doc/invoke.texi (Program Instrumentation Options): Document it.
18852 * gimplify.cc (build_instrumentation_call): New static function.
18853 (gimplify_function_tree): Call it to emit the instrumentation calls
18854 if -finstrument-functions[-once] is specified.
18856 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
18858 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
18859 * gimple.h (gimple_set_location): Do not copy warning data from
18860 the previous location when it is UNKNOWN_LOCATION.
18861 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
18863 2022-06-13 Jakub Jelinek <jakub@redhat.com>
18866 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
18867 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
18868 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
18869 operands[3] unmodified.
18871 2022-06-12 Simon Wright <simon@pushface.org>
18874 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
18875 version is darwin20 (macOS 11) or greater, truncate the version to the
18878 2022-06-12 Mark Mentovai <mark@mentovai.com>
18880 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
18882 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18885 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
18886 (svld1rq_impl::fold): Define.
18887 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
18888 op_mode and op_vec_flags.
18889 (aarch64_evpc_reencode): Initialize newd.op_mode and
18891 (aarch64_evpc_sve_dup): New function.
18892 (aarch64_expand_vec_perm_const_1): Gate existing calls to
18893 aarch64_evpc_* functions under d->vmode == d->op_mode,
18894 and call aarch64_evpc_sve_dup.
18895 (aarch64_vectorize_vec_perm_const): Remove assert
18896 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
18897 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
18898 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
18901 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18903 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
18905 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
18906 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
18907 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
18908 New backend functions that process the abovementioned logic.
18909 (xtensa_emit_move_sequence): Revert the previous changes.
18910 * config/xtensa/xtensa.md: New split patterns for integer
18911 and floating-point, as the frontend part.
18913 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18915 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
18916 for ABS and NEG, add missing case for BSWAP and CLRSB, and
18917 double the costs for integer divisions using libfuncs if
18918 optimizing for speed, in order to take advantage of fast constant
18919 division by multiplication.
18920 (TARGET_INSN_COST): New macro definition.
18921 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
18922 calculating relative costs of a RTL insns, for both of speed and
18924 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
18925 the attribute "length" that depends on TARGET_DENSITY.
18926 (define_asm_attributes, blockage, frame_blockage): Add missing
18928 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
18929 dependent option, however, preparatory work for now.
18931 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18933 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
18934 Pass through the block length / loop count conditions if
18935 zero-overhead looping is configured and active,
18937 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18939 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
18940 Split into individual signedness, in order to use libcall
18941 "__umulsidi3" but not the other.
18942 (<u>mulhisi3): Merge into one by using code iterator.
18943 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
18945 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
18947 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
18948 not generate block copies with vector pair instructions if we are
18949 tuning for power10.
18951 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
18953 PR rtl-optimization/7061
18954 * expr.cc (emit_group_store): For groups that consist of a single
18955 scalar integer register that hold a complex mode value, use
18956 gen_lowpart to generate a SUBREG to "view_convert" to the complex
18957 mode. For modes of different sizes, first convert to an integer
18958 mode of the appropriate size.
18960 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18962 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
18964 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18966 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
18967 New insn_and_split pattern.
18969 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18971 * config/xtensa/xtensa.md (one_cmplsi2):
18972 Rearrange as an insn_and_split pattern.
18974 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18976 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
18978 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
18980 * config/rs6000/rs6000.md (FP_ISA3): Delete.
18981 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
18982 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
18983 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
18984 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
18985 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
18986 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
18987 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
18988 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
18990 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
18992 * config/riscv/riscv.md
18993 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
18994 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
18995 rather than space with FSFLAGS.
18997 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
18999 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
19000 omp_discover_declare_target_fn_r): Don't walk reverse-offload
19003 2022-06-09 Jakub Jelinek <jakub@redhat.com>
19005 * doc/invoke.texi (-Waddress): Fix a typo in small example.
19006 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
19008 2022-06-09 Cui,Lili <lili.cui@intel.com>
19011 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
19012 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
19013 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
19014 (icelake_cost): Ditto.
19015 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
19016 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
19019 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
19021 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
19022 and ior insns to one rotate and mask insn.
19023 (define_split for bswapdi register): Likewise.
19025 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
19027 PR middle-end/105874
19028 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
19029 variable tem_modifier for calculating the expand_modifier enum to
19030 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
19032 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
19035 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
19036 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
19037 'gen_highpart' bitwise semantics and fix order of highpart and
19038 lowpart depending on target endianness.
19040 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
19042 * config/arm/arm-cpus.in (star-mc1): New cpu.
19043 * config/arm/arm-tables.opt: Regenerate.
19044 * config/arm/arm-tune.md: Regenerate.
19045 * doc/invoke.texi: Update docs.
19047 2022-06-08 liuhongt <hongtao.liu@intel.com>
19051 * config/i386/i386.md (*movsi_internal): Change alternative
19053 (*movdi_internal): Ditto.
19054 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
19056 (*vec_extractv4sf_mem): Ditto.
19057 (*vec_extracthf): Ditto.
19059 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
19062 * config/arm/arm.cc (arm_bfi_1_p): New function.
19063 (arm_bfi_p): New function.
19064 (arm_rtx_costs_internal): Add costs for BFI idioms.
19065 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
19066 * config/arm/constraints.md (Dj): New constraint.
19067 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
19068 (insv_zero): Convert to an insn with a split.
19069 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
19071 2022-06-07 liuhongt <hongtao.liu@intel.com>
19074 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
19077 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
19079 PR middle-end/105853
19081 * calls.cc (load_register_parameters): Call store_constructor
19082 and int_expr_size directly instead of expanding via expand_expr.
19083 * expr.cc (static void store_constructor): Don't prototype here.
19084 (static HOST_WIDE_INT int_expr_size): Likewise.
19085 (store_constructor): No longer static.
19086 (int_expr_size): Likewise, no longer static.
19087 * expr.h (store_constructor): Prototype here.
19088 (int_expr_size): Prototype here.
19090 2022-06-07 Jan Beulich <jbeulich@suse.com>
19093 2022-06-03 Jan Beulich <jbeulich@suse.com>
19095 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19096 * configure.ac: Check for objcopy, producing
19097 ORIGINAL_OBJCOPY_FOR_TARGET.
19098 * configure: Update accordingly.
19099 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19102 2022-06-07 Jakub Jelinek <jakub@redhat.com>
19104 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
19105 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
19106 Adjust clause printing style depending on
19107 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
19109 2022-06-07 Jan Beulich <jbeulich@suse.com>
19111 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
19113 * config/i386/i386-builtin-types.def: New function type
19114 (V4DI, V32QI, V32QI).
19115 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
19116 V4DI_FTYPE_V32QI_V32QI.
19118 2022-06-07 Jan Beulich <jbeulich@suse.com>
19120 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
19121 into account for reg-only insns.
19123 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
19125 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
19126 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
19127 TARGET_CMOVE's (scalar integer) conditional moves.
19128 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
19129 from its equivalent (canonical) pxor;pand;pxor sequence.
19131 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
19133 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
19136 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
19138 * config.in: Regenerate.
19139 * configure: Regenerate.
19140 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
19142 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
19144 PR middle-end/95126
19145 * calls.cc (load_register_parameters): When loading a suitable
19146 immediate_const_ctor_p VAR_DECL into a single word_mode register,
19147 construct it directly in a pseudo rather than read it (by parts)
19149 * expr.cc (int_expr_size): Make tree argument a const_tree.
19150 (immediate_const_ctor_p): Helper predicate. Return true for
19151 simple constructors that may be materialized in a register.
19152 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
19153 VAR_DECL with a suitable immediate_const_ctor_p constructor
19154 use store_constructor to materialize it directly in a pseudo.
19155 * expr.h (immediate_const_ctor_p): Prototype here.
19156 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
19157 VALUE argument from tree to const_tree.
19158 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
19161 2022-06-04 Jakub Jelinek <jakub@redhat.com>
19164 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
19165 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
19166 bits of mask aren't all set, use operands[2] mode for the AND
19167 operation instead of always SImode.
19169 2022-06-03 Jakub Jelinek <jakub@redhat.com>
19171 PR middle-end/30314
19172 PR middle-end/105777
19173 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
19174 x > stype_max / cst || x < stype_min / cst): New simplification.
19176 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19178 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
19180 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
19181 * value-range.h (Value_Range::Value_Range): Implement copy
19182 constructor for Value_Range.
19184 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19186 * value-range.h (struct vrange_traits): Remove.
19187 (is_a): Rewrite without vrange_traits.
19190 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19192 * value-range.cc (vrange::contains_p): Implement.
19193 (vrange::type): Return void.
19194 (vrange::supports_type_p): Implement.
19195 (irange::fits_p): Same.
19196 (vrange::set_undefined): Same.
19197 (irange::set_nonnegative): Same.
19198 (vrange::set_varying): Same.
19199 (vrange::union_): Same.
19200 (unsupported_range::set): Move to vrange.
19201 (unsupported_range::type): Move to vrange.
19202 (vrange::intersect): Implement for varying and undefined.
19203 (vrange::zero_p): Implement.
19204 (unsupported_range::supports_type_p): Move to vrange.
19205 (vrange::nonzero_p): Implement.
19206 (unsupported_range::set_undefined): Move to vrange.
19207 (unsupported_range::set_varying): Same.
19208 (unsupported_range::dump): Same.
19209 (unsupported_range::union_): Same. Implement for varying and
19211 (unsupported_range::intersect): Move to vrange.
19212 (unsupported_range::zero_p): Same.
19213 (unsupported_range::nonzero_p): Same.
19214 (unsupported_range::set_nonzero): Same.
19215 (unsupported_range::set_zero): Same.
19216 (unsupported_range::set_nonnegative): Same.
19217 (unsupported_range::fits_p): Same.
19218 * value-range.h (class vrange): Remove abstract markers for most
19220 (class unsupported_range): Remove most methods as they will now be
19221 inherited from vrange.
19223 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
19225 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
19226 an object level supports_type_p for irange and a static
19227 Value_Range::supports_type_p.
19228 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
19229 (fold_using_range::range_of_address): Same.
19230 (fold_using_range::range_of_builtin_call): Same.
19231 * gimple-range-fold.h (gimple_range_type): Same.
19232 (gimple_range_ssa_p): Same.
19233 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
19235 (path_range_query::range_of_stmt): Same.
19236 (path_range_query::add_to_imports): Same.
19237 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
19238 (gimple_ranger::export_global_ranges): Same.
19239 * gimple-ssa-evrp-analyze.cc
19240 (evrp_range_analyzer::record_ranges_from_phis): Same.
19241 * range-op.cc (range_operator::wi_fold): Same.
19242 (range_operator::fold_range): Same.
19243 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
19244 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
19245 (evaluate_control_stmt_using_entry_checks): Same.
19246 * tree-ssa-threadedge.cc
19247 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
19248 * tree-vrp.cc (supported_types_p): Same.
19249 * value-query.cc (range_query::value_of_expr): Same.
19250 (range_query::value_on_edge): Same.
19251 (range_query::value_of_stmt): Same.
19252 (range_query::get_tree_range): Same.
19253 (get_range_global): Same.
19254 (global_range_query::range_of_expr): Same.
19255 * value-range-equiv.h (class value_range_equiv): Same.
19256 * value-range.cc (irange::supports_type_p): Same.
19257 (unsupported_range::supports_type_p): Same.
19258 * value-range.h (enum value_range_discriminator): Same.
19259 (Value_Range::init): Same.
19260 (Value_Range::supports_type_p): Same.
19261 (irange::supports_type_p): Same.
19262 (irange::supports_p): Same.
19263 (vrange::supports_type_p): Same.
19264 (vrange_allocator::alloc_vrange): Same.
19266 2022-06-03 Jan Beulich <jbeulich@suse.com>
19268 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19269 * configure.ac: Check for objcopy, producing
19270 ORIGINAL_OBJCOPY_FOR_TARGET.
19271 * configure: Update accordingly.
19272 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19275 2022-06-03 Jan Beulich <jbeulich@suse.com>
19277 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
19278 (*mmx_psadbw): New. Mark as commutative.
19279 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
19280 (*<sse2_avx2>_psadbw): New. Mark as commutative.
19282 2022-06-03 Alexandre Oliva <oliva@adacore.com>
19284 PR tree-optimization/105665
19285 PR tree-optimization/100810
19286 * tree-ssa-loop-ivopts.cc
19287 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
19288 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
19289 (find_ssa_undef): Check precomputed flag and intervening uses.
19290 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
19292 2022-06-02 David Malcolm <dmalcolm@redhat.com>
19294 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
19295 tree-logical-location.o.
19296 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
19297 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
19298 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
19299 (sarif-stderr, sarif-file): New enum values.
19300 * diagnostic-client-data-hooks.h: New file.
19301 * diagnostic-format-sarif.cc: New file.
19302 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
19303 (enum diagnostic_event::noun): New enum.
19304 (enum diagnostic_event::property): New enum.
19305 (struct diagnostic_event::meaning): New struct.
19306 (diagnostic_event::get_logical_location): New vfunc.
19307 (diagnostic_event::get_meaning): New vfunc.
19308 (simple_diagnostic_event::get_logical_location): New vfunc impl.
19309 (simple_diagnostic_event::get_meaning): New vfunc impl.
19310 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
19311 (diagnostic_initialize): Initialize m_client_data_hooks.
19312 (diagnostic_finish): Clean up m_client_data_hooks.
19313 (diagnostic_event::meaning::dump_to_pp): New.
19314 (diagnostic_event::meaning::maybe_get_verb_str): New.
19315 (diagnostic_event::meaning::maybe_get_noun_str): New.
19316 (diagnostic_event::meaning::maybe_get_property_str): New.
19317 (get_cwe_url): Make non-static.
19318 (diagnostic_output_format_init): Handle
19319 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
19320 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
19321 * diagnostic.h (enum diagnostics_output_format): Add
19322 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
19323 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
19324 (class diagnostic_client_data_hooks): New forward decl.
19325 (class logical_location): New forward decl.
19326 (diagnostic_context::m_client_data_hooks): New field.
19327 (diagnostic_output_format_init_sarif_stderr): New decl.
19328 (diagnostic_output_format_init_sarif_file): New decl.
19329 (get_cwe_url): New decl.
19330 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
19332 * doc/sourcebuild.texi (Scan a particular file): Add
19333 scan-sarif-file and scan-sarif-file-not.
19334 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
19335 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
19336 (LANG_HOOKS_INITIALIZER): Add
19337 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
19338 * langhooks.cc (lhd_get_sarif_source_language): New.
19339 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
19340 * logical-location.h: New file.
19341 * plugin.cc (struct for_each_plugin_closure): New.
19342 (for_each_plugin_cb): New.
19343 (for_each_plugin): New.
19344 * plugin.h (for_each_plugin): New decl.
19345 * tree-diagnostic-client-data-hooks.cc: New file.
19346 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
19347 (tree_diagnostics_defaults): Populate m_client_data_hooks.
19348 * tree-logical-location.cc: New file.
19349 * tree-logical-location.h: New file.
19351 2022-06-02 David Malcolm <dmalcolm@redhat.com>
19353 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
19355 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
19356 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
19357 (diagnostics_output_format): Add json-stderr and json-file.
19358 * diagnostic-format-json.cc (json_flush_to_file): New.
19359 (json_final_cb): Convert to...
19360 (json_flush_to_file): ...this, ...
19361 (json_stderr_final_cb): ...this, and...
19362 (json_file_final_cb): ...this.
19363 (diagnostic_output_format_init): Move to diagnostic.cc.
19364 (json_output_base_file_name): New.
19365 (diagnostic_output_format_init_json): New.
19366 (diagnostic_output_format_init_json_stderr): New.
19367 (diagnostic_output_format_init_json_file): New.
19368 * diagnostic.cc (diagnostic_output_format_init): Move here from
19369 diagnostic-format-json.cc; update for changes to enum.
19370 * diagnostic.h (enum diagnostics_output_format): Rename
19371 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
19372 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
19373 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
19374 (diagnostic_output_format_init): Add base_file_name param.
19375 (diagnostic_output_format_init_json_stderr): New decl.
19376 (diagnostic_output_format_init_json_file): New dec.
19377 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
19378 "json-file". Rewrite so that the existing "json" is a synonym of
19380 * gcc.cc (driver_handle_option): Pass dump_base_name to
19381 diagnostic_output_format_init.
19382 * opts.cc (common_handle_option): Likewise.
19384 2022-06-02 David Malcolm <dmalcolm@redhat.com>
19386 * json.cc (string::print): Fix escaping of '\'.
19388 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
19390 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
19391 (-1 << 31) for the single-bit case, when operating on (1 << 31)
19393 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
19394 any single-bit value, moving the special case for (1 << 31) to
19395 riscv_build_integer_1 (in riscv.c).
19397 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
19400 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
19401 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
19403 2022-06-02 Jakub Jelinek <jakub@redhat.com>
19406 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
19407 from AND and its operands and just verify operands[2] has HImode,
19408 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
19409 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
19410 just throw away the masking. Use force_reg before calling
19412 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
19413 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
19414 just throw away the masking.
19415 (*ashl<mode>3_doubleword): Rename to ...
19416 (ashl<mode>3_doubleword): ... this.
19417 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
19418 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19419 Use force_reg before calling gen_lowpart.
19420 (*<insn><mode>3_mask): Likewise.
19421 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
19422 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
19423 case just throw away the masking. Use force_reg before calling
19425 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
19426 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
19427 throw away the masking.
19428 (*<insn><mode>3_doubleword): Rename to ...
19429 (<insn><mode>3_doubleword): ... this.
19430 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
19431 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19432 Use force_reg before calling gen_lowpart.
19433 (splitter after it): Remove :SI from AND and its operands and just
19434 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
19435 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
19436 operands and just verify operands[1] has HImode, SImode or for
19437 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
19438 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
19439 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
19440 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
19442 2022-06-02 Richard Biener <rguenther@suse.de>
19444 PR tree-optimization/101668
19445 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
19446 for vector types with compatible lane types.
19447 (vect_build_slp_tree_2): Deal with this.
19448 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
19449 special cases without VEC_PERM.
19450 (vectorizable_slp_permutation): Select the operand vector
19451 type and relax requirements. Handle identity permutes
19452 with mismatching operand types.
19453 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
19454 permutes for op_mode == mode.
19456 2022-06-02 Richard Biener <rguenther@suse.de>
19458 PR tree-optimization/105802
19459 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
19460 Make sure to also compute the range in the type of the switch index.
19462 2022-06-01 David Seifert <soap@gentoo.org>
19465 * configure: Regenerate.
19467 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
19469 PR rtl-optimization/105638
19470 * df-core.cc (df_find_single_def_src): Moved and renamed from
19471 find_single_def_src in loop-iv.cc. Change the argument to rtx
19472 and use rtx_equal_p. Return null for partial or conditional
19474 * df.h (df_find_single_def_src): New prototype.
19475 * dse.cc (record_store): Use the constant source if the source
19476 register is set only once.
19477 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
19478 (replace_single_def_regs): Replace find_single_def_src with
19479 df_find_single_def_src.
19481 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
19483 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
19485 (explicit_arch): Rename to selected_arch.
19486 (x_aarch64_override_tune_string): Remove.
19487 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
19488 (aarch64_override_tune_string): Add Save so it gets saved/restored.
19489 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
19490 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
19491 (processor): Remove archtecture_version field.
19492 (selected_arch): Remove global.
19493 (selected_cpu): Remove global.
19494 (selected_tune): Remove global.
19495 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
19496 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
19497 (aarch64_override_options): Further simplify code to only set
19498 selected_arch and selected_tune globals.
19499 (aarch64_option_save): Remove now that target options are saved.
19500 (aarch64_option_restore): Remove redundant target option restores.
19501 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
19503 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
19504 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
19505 (aarch64_ra_sign_key): Remove.
19507 2022-06-01 Jakub Jelinek <jakub@redhat.com>
19509 PR middle-end/30314
19510 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
19511 x > ~(utype)0 / cst): New simplification.
19513 2022-06-01 Richard Biener <rguenther@suse.de>
19515 PR tree-optimization/105786
19516 * tree-loop-distribution.cc
19517 (loop_distribution::transform_reduction_loop): Only do strlen
19518 replacement for integer type reductions.
19520 2022-06-01 Jakub Jelinek <jakub@redhat.com>
19522 PR tree-optimization/105770
19523 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
19524 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
19526 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19528 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
19529 (sbr_vector::sbr_vector): Same.
19530 (sbr_vector::grow): Same.
19531 (sbr_vector::set_bb_range): Same.
19532 (sbr_vector::get_bb_range): Same.
19533 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
19534 (sbr_sparse_bitmap::set_bb_range): Same.
19535 (sbr_sparse_bitmap::get_bb_range): Same.
19536 (block_range_cache::set_bb_range): Same.
19537 (block_range_cache::get_bb_range): Same.
19538 (block_range_cache::dump): Same.
19539 (ssa_global_cache::get_global_range): Same.
19540 (ssa_global_cache::set_global_range): Same.
19541 (ssa_global_cache::clear): Same.
19542 (ssa_global_cache::dump): Same.
19543 (ranger_cache::get_global_range): Same.
19544 (ranger_cache::set_global_range): Same.
19545 (ranger_cache::range_of_def): Same.
19546 (ranger_cache::entry_range): Same.
19547 (ranger_cache::exit_range): Same.
19548 (ranger_cache::edge_range): Same.
19549 (ranger_cache::range_of_expr): Same.
19550 (ranger_cache::range_on_edge): Same.
19551 (ranger_cache::block_range): Same.
19552 (ranger_cache::propagate_cache): Same.
19553 (ranger_cache::fill_block_cache): Same.
19554 (ranger_cache::range_from_dom): Same.
19555 * gimple-range-cache.h: Same.
19556 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
19558 (gimple_outgoing_range::switch_edge_range): Same.
19559 (gimple_outgoing_range::edge_range_p): Same.
19560 * gimple-range-edge.h: Same.
19561 * gimple-range-fold.cc (fur_source::get_operand): Same.
19562 (fur_source::get_phi_operand): Same.
19563 (fur_edge::get_operand): Same.
19564 (fur_edge::get_phi_operand): Same.
19565 (fur_stmt::get_operand): Same.
19566 (fur_stmt::get_phi_operand): Same.
19567 (fur_list::fur_list): Same.
19568 (fur_list::get_operand): Same.
19569 (fur_list::get_phi_operand): Same.
19570 (fold_range): Same.
19571 (adjust_imagpart_expr): Same.
19572 (adjust_realpart_expr): Same.
19573 (gimple_range_adjustment): Same.
19574 (fold_using_range::fold_stmt): Same.
19575 (fold_using_range::range_of_range_op): Same.
19576 (fold_using_range::range_of_address): Same.
19577 (fold_using_range::range_of_phi): Same.
19578 (fold_using_range::range_of_call): Same.
19579 (fold_using_range::range_of_builtin_call): Same.
19580 (fold_using_range::range_of_builtin_int_call): Same.
19581 (fold_using_range::range_of_cond_expr): Same.
19582 (fur_source::register_outgoing_edges): Same.
19583 * gimple-range-fold.h (fold_range): Same.
19584 (gimple_range_type): Same.
19585 (gimple_range_ssa_p): Same.
19586 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
19587 (gimple_range_calc_op2): Same.
19588 (gori_compute::compute_operand_range_switch): Same.
19589 (gori_compute::compute_operand_range): Same.
19590 (gori_compute::logical_combine): Same.
19591 (gori_compute::compute_logical_operands): Same.
19592 (gori_compute::compute_operand1_range): Same.
19593 (gori_compute::compute_operand2_range): Same.
19594 (gori_compute::compute_operand1_and_operand2_range): Same.
19595 (gori_compute::outgoing_edge_range_p): Same.
19596 (gori_compute::condexpr_adjust): Same.
19597 * gimple-range-gori.h (gimple_range_calc_op1): Same.
19598 (gimple_range_calc_op2): Same.
19599 * gimple-range-path.cc (path_range_query::get_cache): Same.
19600 (path_range_query::set_cache): Same.
19601 (path_range_query::range_on_path_entry): Same.
19602 (path_range_query::internal_range_of_expr): Same.
19603 (path_range_query::range_of_expr): Same.
19604 (path_range_query::ssa_range_in_phi): Same.
19605 (path_range_query::range_defined_in_block): Same.
19606 (path_range_query::compute_ranges_in_phis): Same.
19607 (path_range_query::compute_ranges_in_block): Same.
19608 (path_range_query::add_to_imports): Same.
19609 (path_range_query::range_of_stmt): Same.
19610 * gimple-range-path.h: Same.
19611 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
19612 (gimple_infer_range::~side_effect_manager): Same.
19613 (gimple_infer_range::get_nonzero): Same.
19614 (gimple_infer_range::maybe_adjust_range): Same.
19615 (gimple_infer_range::add_range): Same.
19616 * gimple-range-infer.h: Same.
19617 * gimple-range-tests.cc: Same.
19618 * gimple-range-trace.cc (range_tracer::trailer): Same.
19619 (debug_seed_ranger): Same.
19620 * gimple-range-trace.h: Same.
19621 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
19622 (gimple_ranger::range_on_entry): Same.
19623 (gimple_ranger::range_on_exit): Same.
19624 (gimple_ranger::range_on_edge): Same.
19625 (gimple_ranger::fold_range_internal): Same.
19626 (gimple_ranger::range_of_stmt): Same.
19627 (gimple_ranger::prefill_name): Same.
19628 (gimple_ranger::prefill_stmt_dependencies): Same.
19629 (gimple_ranger::export_global_ranges): Same.
19630 (gimple_ranger::dump_bb): Same.
19631 * gimple-range.h: Same.
19632 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
19633 (memmodel_to_uhwi): Same.
19634 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
19635 (determine_value_range): Same.
19636 (record_nonwrapping_iv): Same.
19637 (infer_loop_bounds_from_signedness): Same.
19638 (scev_var_range_cant_overflow): Same.
19639 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
19640 * value-query.cc (range_query::range_on_edge): Same.
19641 (range_query::range_of_stmt): Same.
19642 (range_query::value_of_expr): Same.
19643 (range_query::value_on_edge): Same.
19644 (range_query::value_of_stmt): Same.
19645 (range_query::get_tree_range): Same.
19646 (update_global_range): Same.
19647 (get_range_global): Same.
19648 (gimple_range_global): Same.
19649 (global_range_query::range_of_expr): Same.
19650 (range_query::query_relation): Same.
19651 * value-query.h (gimple_range_global): Same.
19652 (update_global_range): Same.
19653 * vr-values.cc (vr_values::range_of_expr): Same.
19654 (bounds_of_var_in_loop): Same.
19655 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
19656 * vr-values.h (class vr_values): Same.
19657 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
19659 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19661 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
19663 (sbr_vector::grow): Same.
19664 (sbr_vector::set_bb_range): Same.
19665 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
19666 (sbr_sparse_bitmap::set_bb_range): Same.
19667 (block_range_cache::~block_range_cache): Same.
19668 (block_range_cache::set_bb_range): Same.
19669 (ssa_global_cache::ssa_global_cache): Same.
19670 (ssa_global_cache::~ssa_global_cache): Same.
19671 (ssa_global_cache::set_global_range): Same.
19672 * gimple-range-cache.h (block_range_cache): Same.
19673 (ssa_global_cache): Same.
19674 * gimple-range-edge.cc
19675 (gimple_outgoing_range::calc_switch_ranges): Same.
19676 * gimple-range-edge.h (gimple_outgoing_range): Same.
19677 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
19679 (infer_range_manager::add_range): Same.
19680 * gimple-range-infer.h (class infer_range_manager): Same.
19681 * value-range.h (class irange_allocator): Rename to...
19682 (class vrange_allocator): ...this.
19683 (irange_allocator::irange_allocator): New.
19684 (vrange_allocator::vrange_allocator): New.
19685 (irange_allocator::~irange_allocator): New.
19686 (vrange_allocator::~vrange_allocator): New.
19687 (irange_allocator::get_memory): Rename to...
19688 (vrange_allocator::alloc): ...this.
19689 (vrange_allocator::alloc_vrange): Rename from...
19690 (irange_allocator::allocate): ...this.
19691 (vrange_allocator::alloc_irange): New.
19693 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19695 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
19696 vrange and convert range_op_handler function calls to use the
19697 identically named object.
19698 * gimple-range-fold.cc (gimple_range_operand1): Same.
19699 (gimple_range_operand2): Same.
19700 (fold_using_range::fold_stmt): Same.
19701 (fold_using_range::range_of_range_op): Same.
19702 (fold_using_range::range_of_builtin_ubsan_call): Same.
19703 (fold_using_range::relation_fold_and_or): Same.
19704 (fur_source::register_outgoing_edges): Same.
19705 * gimple-range-fold.h (gimple_range_handler): Remove.
19706 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
19707 (gimple_range_calc_op2): Same.
19708 (range_def_chain::get_def_chain): Same.
19709 (gori_compute::compute_operand_range): Same.
19710 (gori_compute::condexpr_adjust): Same.
19711 * gimple-range.cc (gimple_ranger::prefill_name): Same.
19712 (gimple_ranger::prefill_stmt_dependencies): Same.
19713 * range-op.cc (get_bool_state): Same.
19714 (class operator_equal): Add using clause.
19715 (class operator_not_equal): Same.
19716 (class operator_lt): Same.
19717 (class operator_le): Same.
19718 (class operator_gt): Same.
19719 (class operator_ge): Same.
19720 (class operator_plus): Same.
19721 (class operator_minus): Same.
19722 (class operator_mult): Same.
19723 (class operator_exact_divide): Same.
19724 (class operator_lshift): Same.
19725 (class operator_rshift): Same.
19726 (class operator_cast): Same.
19727 (class operator_logical_and): Same.
19728 (class operator_bitwise_and): Same.
19729 (class operator_logical_or): Same.
19730 (class operator_bitwise_or): Same.
19731 (class operator_bitwise_xor): Same.
19732 (class operator_trunc_mod): Same.
19733 (class operator_logical_not): Same.
19734 (class operator_bitwise_not): Same.
19735 (class operator_cst): Same.
19736 (class operator_identity): Same.
19737 (class operator_unknown): Same.
19738 (class operator_abs): Same.
19739 (class operator_negate): Same.
19740 (class operator_addr_expr): Same.
19741 (class pointer_or_operator): Same.
19742 (operator_plus::op1_range): Adjust for vrange.
19743 (operator_minus::op1_range): Same.
19744 (operator_mult::op1_range): Same.
19745 (operator_cast::op1_range): Same.
19746 (operator_bitwise_not::fold_range): Same.
19747 (operator_negate::fold_range): Same.
19748 (range_op_handler): Rename to...
19749 (get_handler): ...this.
19750 (range_op_handler::range_op_handler): New.
19751 (range_op_handler::fold_range): New.
19752 (range_op_handler::op1_range): New.
19753 (range_op_handler::op2_range): New.
19754 (range_op_handler::lhs_op1_relation): New.
19755 (range_op_handler::lhs_op2_relation): New.
19756 (range_op_handler::op1_op2_relation): New.
19757 (range_cast): Adjust for vrange.
19758 * range-op.h (range_op_handler): Remove function.
19759 (range_cast): Adjust for vrange.
19760 (class range_op_handler): New.
19761 (get_bool_state): Adjust for vrange.
19762 (empty_range_varying): Same.
19763 (relop_early_resolve): Same.
19764 * tree-data-ref.cc (compute_distributive_range): Same.
19765 * tree-vrp.cc (get_range_op_handler): Remove.
19766 (range_fold_binary_symbolics_p): Use range_op_handler class
19767 instead of get_range_op_handler.
19768 (range_fold_unary_symbolics_p): Same.
19769 (range_fold_binary_expr): Same.
19770 (range_fold_unary_expr): Same.
19771 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
19773 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19775 * gimple-range-fold.h (gimple_range_type): Check type before
19776 calling supports_type_p.
19777 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
19778 * value-query.cc (range_query::get_tree_range): Same.
19779 * value-range.cc (Value_Range::lower_bound): New.
19780 (Value_Range::upper_bound): New.
19781 (Value_Range::dump): New.
19782 * value-range.h (class Value_Range): New.
19783 (irange::supports_type_p): Do not check if type is non-zero.
19785 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
19787 * value-range-equiv.cc (value_range_equiv::set): New.
19788 * value-range-equiv.h (class value_range_equiv): Make set method
19790 Remove default bitmap argument from set method.
19791 * value-range.cc (vrange::contains_p): New.
19792 (vrange::singleton_p): New.
19793 (vrange::operator=): New.
19794 (vrange::operator==): New.
19795 (irange::fits_p): Move to .cc file.
19796 (irange::set_nonnegative): New.
19797 (unsupported_range::unsupported_range): New.
19798 (unsupported_range::set): New.
19799 (unsupported_range::type): New.
19800 (unsupported_range::set_undefined): New.
19801 (unsupported_range::set_varying): New.
19802 (unsupported_range::dump): New.
19803 (unsupported_range::union_): New.
19804 (unsupported_range::intersect): New.
19805 (unsupported_range::zero_p): New.
19806 (unsupported_range::nonzero_p): New.
19807 (unsupported_range::set_nonzero): New.
19808 (unsupported_range::set_zero): New.
19809 (unsupported_range::set_nonnegative): New.
19810 (unsupported_range::fits_p): New.
19811 (irange::set): Call irange::set_undefined.
19812 (irange::verify_range): Check discriminator field.
19813 (irange::dump): Dump [irange] marker.
19814 (irange::debug): Move to...
19815 (vrange::debug): ...here.
19816 (dump_value_range): Accept vrange.
19818 * value-range.h (enum value_range_discriminator): New.
19819 (class vrange): New.
19820 (class unsupported_range): New.
19821 (struct vrange_traits): New.
19824 (class irange): Inherit from vrange.
19825 (dump_value_range): Adjust for vrange.
19826 (irange::kind): Rename to...
19827 (vrange::kind): ...this.
19828 (irange::varying_p): Rename to...
19829 (vrange::varying_p): ...this.
19830 (irange::undefined_p): Rename to...
19831 (vrange::undefined_p): ...this.
19832 (irange::irange): Set discriminator.
19833 (irange::union_): Convert to irange before passing to irange
19835 (irange::intersect): Same.
19836 (vrange::supports_type_p): New.
19837 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
19838 NULL bitmap argument to value_range_equiv::set.
19839 (vr_values::extract_range_basic): Same.
19841 2022-06-01 Richard Biener <rguenther@suse.de>
19843 PR tree-optimization/105763
19844 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
19845 Check gimple_range_ssa_p.
19847 2022-05-31 Jason Merrill <jason@redhat.com>
19849 * Makefile.in (TAGS): Look at libcpp/*.cc.
19851 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
19853 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
19854 Prefix mode names with E_.
19856 2022-05-31 Alan Modra <amodra@gmail.com>
19858 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
19859 spelling of DW_AT_namelist_item.
19861 2022-05-31 Jakub Jelinek <jakub@redhat.com>
19863 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
19864 allow var to be private in the outer context.
19865 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
19866 to build_outer_var_ref.
19868 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
19870 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
19871 tieable with DImode on TARGET_64BIT, and SCmode tieable with
19872 V2SFmode, and DCmode with V2DFmode.
19874 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
19876 PR rtl-optimization/101617
19877 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
19878 special case (indicated by negate_cc_compare_p) to generate a
19879 -1/0 mask using neg;sbb.
19880 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
19881 to generate an *x86_neg<mode>_ccc instruction.
19882 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
19883 generate a *x86_mov<mode>cc_0_m1_neg instruction.
19885 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
19887 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
19888 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
19889 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
19891 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
19894 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
19895 DI mode equality/inequality using XOR here. Instead generate a
19896 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
19897 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
19898 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
19899 (general_scalar_chain::convert_compare): New function to convert
19900 scalar equality/inequality comparison into vector operations.
19901 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
19902 new convert_compare helper method.
19903 (convertible_comparion_p): Update to match doubleword COMPARE
19904 of two register, memory or integer constant operands.
19905 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
19906 Prototype/declare member function here.
19907 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
19908 only allow new doubleword modes for EQ and NE operators.
19909 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
19910 doubleword comparison into a pair of XORs followed by an IOR to
19911 set the (zero) flags register, optimizing the XORs if possible.
19912 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
19913 iterator; V_AVX is (currently) only used by ptest.
19914 (sse4_1 mode attribute): Update to support V1TI and V2TI.
19916 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
19918 * config/i386/i386.md: Remove constraints when used with
19919 const_int_operand, const0_operand, const_1_operand, constm1_operand,
19920 const8_operand, const128_operand, const248_operand, const123_operand,
19921 const2367_operand, const1248_operand, const359_operand,
19922 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
19923 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
19924 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
19925 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
19926 const_0_to_255_mul_8_operand, const_1_to_31_operand,
19927 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
19928 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
19929 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
19930 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
19931 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
19932 const_24_to_27_operand and const_28_to_31_operand.
19933 * config/i386/mmx.md: Ditto.
19934 * config/i386/sse.md: Ditto.
19935 * config/i386/subst.md: Ditto.
19936 * config/i386/sync.md: Ditto.
19938 2022-05-30 Jan Beulich <jbeulich@suse.com>
19940 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
19943 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19945 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
19947 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
19950 * config/darwin.h: Move versions-specific handling of multiply_defined
19951 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
19953 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
19956 * doc/sourcebuild.texi: Add entries for the c++tools,
19957 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
19958 and libsanitizer directories. Remove entry for boehm-gc.
19959 Fix alphabetization for libquadmath.
19961 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
19963 * config/avr/avr-mcus.def: Add device definitions.
19964 * doc/avr-mmcu.texi: Corresponding changes.
19965 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
19967 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
19968 from leaking into cc1.
19970 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
19973 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
19974 is special) for various scenarios.
19976 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
19978 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
19979 describing this macro.
19981 2022-05-27 Richard Biener <rguenther@suse.de>
19983 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
19985 2022-05-27 Martin Jambor <mjambor@suse.cz>
19988 * ipa-prop.cc (propagate_controlled_uses): Check type of the
19989 constant before adding a LOAD reference.
19991 2022-05-27 Jakub Jelinek <jakub@redhat.com>
19993 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
19994 to OMP_CLAUSE_ENTER.
19995 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
19996 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
19997 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
19998 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
19999 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
20000 "to" instead of "enter".
20001 * tree-nested.cc (convert_nonlocal_omp_clauses,
20002 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
20003 OMP_CLAUSE_TO_DECLARE.
20005 2022-05-27 Richard Biener <rguenther@suse.de>
20007 PR tree-optimization/105726
20008 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
20009 Constrain array-of-flexarray case more.
20011 2022-05-27 Jakub Jelinek <jakub@redhat.com>
20013 PR sanitizer/105729
20014 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
20015 to (X &) z + w if -fsanitize=null during GENERIC folding.
20017 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
20019 * match.pd (match_zero_one_valued_p): New predicate.
20020 (mult @0 @1): Use zero_one_valued_p for optimization to the
20021 expression "bit_and @0 @1".
20022 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
20023 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
20024 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
20025 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
20026 Remove three redundant transforms obsoleted by the three above.
20028 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
20030 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
20031 to split a combined "and;cmp" sequence into "not;test".
20033 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20035 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
20036 (bswapsi2_internal): Revise the template and condition, and add
20037 detection code for preceding the same insn in order to omit a
20038 "SSAI 8" instruction of the latter.
20039 (bswapdi2): Suppress built-in insn expansion with the corresponding
20040 library call when optimizing for size.
20042 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20044 * config/xtensa/xtensa-protos.h
20045 (xtensa_expand_block_set_unrolled_loop,
20046 xtensa_expand_block_set_small_loop): New prototypes.
20047 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
20048 xtensa_expand_block_set_unrolled_loop,
20049 xtensa_expand_block_set_small_loop): New functions.
20050 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
20051 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
20053 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20055 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
20056 Make instruction counting more accurate, and simplify emitting insns.
20058 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20060 * config/xtensa/constraints.md (M, O): Use the macro.
20061 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
20062 sext_fldsz_operand): Ditto.
20063 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
20064 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
20065 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
20066 xtensa_expand_prologue): Ditto.
20067 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
20069 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20071 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
20072 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
20075 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
20077 * gimple-range-cache.cc: Adjust comments.
20078 * gimple-range-infer.cc: Adjust comments.
20079 * gimple-range-infer.h: Adjust comments.
20080 * gimple-range.cc: Adjust comments.
20082 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
20084 * Makefile.in (OBJS): Use gimple-range-infer.o.
20085 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
20086 (ranger_cache::range_from_dom): Rename var side_effect to infer.
20087 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
20088 * gimple-range-cache.h: Include gimple-range-infer.h.
20089 (class ranger_cache): Adjust prototypes, use infer_range_manager.
20090 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
20091 (gimple_infer_range::*): Rename from stmt_side_effects.
20092 (infer_range_manager::*): Rename from side_effect_manager.
20093 * gimple-range-side-effect.cc: Rename.
20094 * gimple-range-side-effect.h: Rename.
20095 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
20096 (class gimple_infer_range): Rename from stmt_side_effects.
20097 (class infer_range_manager): Rename from side_effect_manager.
20098 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
20099 from register_side_effects.
20100 * gimple-range.h (register_inferred_ranges): Adjust prototype.
20101 * range-op.h: Adjust comment.
20102 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
20103 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
20105 2022-05-25 Simon Cook <simon.cook@embecosm.com>
20107 * config/riscv/arch-canonicalize: Only add mafd extension if
20108 base was rv32/rv64g.
20110 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
20112 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
20114 2022-05-25 Jakub Jelinek <jakub@redhat.com>
20116 PR sanitizer/105714
20117 * asan.cc (has_stmt_been_instrumented_p): For assignments which
20118 are both stores and loads, return true only if both destination
20119 and source have been instrumented.
20121 2022-05-25 Martin Liska <mliska@suse.cz>
20122 Richard Biener <rguenther@suse.de>
20124 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
20125 * params.opt (max-unswitch-level): Remove.
20126 * doc/invoke.texi (max-unswitch-level): Likewise.
20127 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
20128 gimplified expressions.
20129 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
20130 (tree_may_unswitch_on): Rename to ...
20131 (find_unswitching_predicates_for_bb): ... this and handle
20133 (get_predicates_for_bb): Likewise.
20134 (set_predicates_for_bb): Likewise.
20135 (init_loop_unswitch_info): Likewise.
20136 (tree_ssa_unswitch_loops): Prepare stuff before calling
20137 tree_unswitch_single_loop.
20138 (tree_unswitch_single_loop): Rework the function using
20139 pre-computed predicates and with a per original loop cost model.
20141 (add_predicate_to_path): Likewise.
20142 (find_range_for_lhs): Likewise.
20143 (simplify_using_entry_checks): Rename to ...
20144 (evaluate_control_stmt_using_entry_checks): ... this, handle
20145 switch statements and improve simplifications using ranger.
20146 (simplify_loop_version): Rework using
20147 evaluate_control_stmt_using_entry_checks.
20148 (evaluate_bbs): New.
20149 (evaluate_loop_insns_for_predicate): Likewise.
20150 (tree_unswitch_loop): Adjust to allow switch statements and
20151 pass in the edge to unswitch.
20152 (clean_up_after_unswitching): New.
20153 (pass_tree_unswitch::execute): Pass down fun.
20155 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
20157 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
20158 counts for the epilog loop.
20160 2022-05-24 Martin Sebor <msebor@redhat.com>
20161 Richard Biener <rguenther@suse.de>
20163 PR middle-end/105604
20164 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
20165 (get_origin_and_offset_r): Remove null handling. Handle variable array
20167 (get_origin_and_offset): Handle null argument here. Simplify.
20168 (alias_offset): Update comment.
20169 * pointer-query.cc (field_at_offset): Update comment. Handle members
20170 of variable-length types.
20172 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20174 * target.def (vec_perm_const): Define new parameter op_mode and
20176 * doc/tm.texi: Regenerate.
20177 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
20178 vec_perm_const hook to add new parameter op_mode and return false
20179 if result and operand modes do not match.
20180 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
20181 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
20182 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
20183 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
20184 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
20185 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
20186 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
20187 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
20188 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
20190 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
20191 (ashrv2di3): Likewise.
20192 * optabs.cc (expand_vec_perm_const): Likewise.
20193 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
20194 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
20195 op_mode and pass it to vec_perm_const hook.
20196 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
20197 * match.pd (vec_perm X Y CST): Likewise.
20198 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
20199 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
20200 (vect_grouped_load_supported): Likewise.
20201 (vect_shift_permute_load_chain): Likewise.
20202 * tree-vect-generic.cc (lower_vec_perm): Likewise.
20203 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
20204 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
20205 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
20206 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
20207 (vect_transform_slp_perm_load): Likewise.
20208 (vectorizable_slp_permutation): Likewise.
20209 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
20210 (vectorizable_bswap): Likewise.
20211 (scan_store_can_perm_p): Likewise.
20212 (vect_gen_perm_mask_checked): Likewise.
20214 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
20217 * config/i386/i386.opt: Remove Undocumented.
20218 * doc/invoke.texi: Document -mcet-switch.
20220 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
20222 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
20223 * config/gcn/gcn-opts.h (enum gcn_isa): New.
20224 (TARGET_GCN3): Use enum gcn_isa.
20225 (TARGET_GCN3_PLUS): Likewise.
20226 (TARGET_GCN5): Likewise.
20227 (TARGET_GCN5_PLUS): Likewise.
20228 (TARGET_CDNA1): New.
20229 (TARGET_CDNA1_PLUS): New.
20230 (TARGET_CDNA2): New.
20231 (TARGET_CDNA2_PLUS): New.
20232 (TARGET_M0_LDS_LIMIT): New.
20233 (TARGET_PACKED_WORK_ITEMS): New.
20234 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
20235 (gcn_option_override): Recognise CDNA ISA variants.
20236 (gcn_omp_device_kind_arch_isa): Support gfx90a.
20237 (gcn_expand_prologue): Make m0 init optional.
20238 Add support for packed work items.
20239 (output_file_start): Support gfx90a.
20240 (gcn_hsa_declare_function_name): Support gfx90a metadata.
20241 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
20243 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
20244 (<su>mulsi3_highpart_imm): Likewise.
20245 (<su>mulsidi3): Likewise.
20246 (<su>mulsidi3_imm): Likewise.
20247 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
20248 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
20249 (main): Support gfx90a.
20250 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
20251 * config/gcn/t-omp-device: Add gfx90a isa.
20253 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
20255 * config.in: Regenerate.
20256 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
20264 (NO_XNACK): New macro.
20265 (NO_SRAM_ECC): New macro.
20266 (SRAMOPT): Keep only v4 variant.
20267 (HSACO3_SELECT_OPT): Delete.
20268 (DRIVER_SELF_SPECS): Delete.
20269 (ASM_SPEC): Remove LLVM 9 support.
20270 * config/gcn/gcn-valu.md
20271 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
20272 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
20273 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
20274 (print_operand_address): Remove assembler bug workaround.
20275 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
20276 (EF_AMDGPU_SRAM_ECC_V3): Delete.
20277 (SET_XNACK_ON): Delete v3 variants.
20278 (SET_XNACK_OFF): Delete v3 variants.
20279 (TEST_XNACK): Delete v3 variants.
20280 (SET_SRAM_ECC_ON): Delete v3 variants.
20281 (SET_SRAM_ECC_ANY): Delete v3 variants.
20282 (SET_SRAM_ECC_OFF): Delete v3 variants.
20283 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
20284 (TEST_SRAM_ECC_ANY): Delete v3 variants.
20285 (TEST_SRAM_ECC_ON): Delete v3 variants.
20286 (copy_early_debug_info): Remove v3 support.
20287 (main): Remove v3 support.
20288 * configure: Regenerate.
20289 * configure.ac: Replace all GCN feature checks with a version check.
20291 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
20293 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
20294 i.e. a double word negation of a zero extended operand, to
20297 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
20299 PR tree-optimization/105668
20300 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
20301 V1TImode, just like V2DImode.
20302 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
20303 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
20304 (vcond_mask_v2div2di): Delete.
20305 (vcond_mask_v1tiv1ti): New define_expand.
20307 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
20309 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
20310 to strncmp for strings of length one.
20312 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
20314 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
20315 prefetch instructions.
20316 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
20318 (RISCV_ATYPE_SI): New.
20319 (RISCV_ATYPE_DI): New.
20320 * config/riscv/riscv-ftypes.def (0): New.
20322 * config/riscv/riscv.md (riscv_clean_<mode>): New.
20323 (riscv_flush_<mode>): New.
20324 (riscv_inval_<mode>): New.
20325 (riscv_zero_<mode>): New.
20327 (riscv_prefetchi_<mode>): New.
20328 * config/riscv/riscv-cmo.def: New file.
20330 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
20332 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
20333 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
20334 (MASK_ZICBOM): New.
20335 (MASK_ZICBOP): New.
20336 (TARGET_ZICBOZ): New.
20337 (TARGET_ZICBOM): New.
20338 (TARGET_ZICBOP): New.
20339 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
20341 2022-05-24 David Malcolm <dmalcolm@redhat.com>
20343 * tree-vect-slp-patterns.cc: Add "final" and "override" to
20344 vect_pattern::build impls as appropriate.
20346 2022-05-24 David Malcolm <dmalcolm@redhat.com>
20348 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
20349 implementations, removing redundant "virtual" as appropriate.
20350 * ipa-fnsummary.h: Likewise.
20351 * ipa-modref.cc: Likewise.
20352 * ipa-param-manipulation.cc: Likewise.
20353 * ipa-profile.cc: Likewise.
20354 * ipa-prop.h: Likewise.
20355 * ipa-pure-const.cc: Likewise.
20356 * ipa-reference.cc: Likewise.
20357 * ipa-sra.cc: Likewise.
20358 * symbol-summary.h: Likewise.
20359 * symtab-thunks.cc: Likewise.
20361 2022-05-24 Martin Liska <mliska@suse.cz>
20364 2022-05-24 Martin Liska <mliska@suse.cz>
20366 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
20369 2022-05-24 Martin Liska <mliska@suse.cz>
20371 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
20374 2022-05-24 Bruno Haible <bruno@clisp.org>
20377 * doc/install.texi (Configuration): Add more details about --with-zstd.
20378 Document --with-zstd-include and --with-zstd-lib
20380 2022-05-24 Richard Biener <rguenther@suse.de>
20382 PR middle-end/105711
20383 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
20385 (extract_bit_field_1): Pass down the mode of op0 to
20386 extract_bit_field_as_subreg.
20388 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
20390 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
20392 (rocket_tune_info): Add default fmv_cost 8.
20393 (sifive_7_tune_info): Ditto.
20394 (thead_c906_tune_info): Ditto.
20395 (optimize_size_tune_info): Ditto.
20396 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
20398 2022-05-24 Jakub Jelinek <jakub@redhat.com>
20401 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
20403 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
20404 clause but no depend clauses.
20405 * omp-expand.cc (expand_taskwait_call): Use
20406 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
20407 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
20409 2022-05-24 Richard Biener <rguenther@suse.de>
20411 PR tree-optimization/100221
20412 * tree-ssa-dse.cc (contains_phi_arg): New function.
20413 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
20415 2022-05-24 Richard Biener <rguenther@suse.de>
20417 PR tree-optimization/105629
20418 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
20419 a sign-extending conversion.
20421 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
20424 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
20426 (union_uses): Skip debug use_insn.
20428 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
20430 * config/riscv/predicates.md (const_0_operand): Remove
20432 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
20434 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
20436 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
20438 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
20439 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
20440 (cpu_indicator_init): Handle Zhaoxin processors.
20441 * common/config/i386/i386-common.cc: Add lujiazui.
20442 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
20444 (enum processor_types): Add ZHAOXIN_FAM7H.
20445 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
20446 * config.gcc: Add lujiazui.
20447 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
20448 Signatures for zhaoxin
20449 (signature_SHANGHAI_ecx): Ditto.
20450 (signature_SHANGHAI_edx): Ditto.
20451 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
20452 -march=native recognize lujiazui processors.
20453 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
20454 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
20455 * config/i386/i386.h (enum processor_type): Ditto.
20456 * config/i386/i386.md: Add lujiazui.
20457 * config/i386/x86-tune-costs.h (struct processor_costs): Add
20459 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
20460 (ix86_adjust_cost): Ditto.
20461 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
20462 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
20463 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
20464 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
20465 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
20466 (X86_TUNE_MOVX): Ditto.
20467 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
20468 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
20469 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
20470 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
20471 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
20472 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
20473 (X86_TUNE_USE_LEAVE): Ditto.
20474 (X86_TUNE_PUSH_MEMORY): Ditto.
20475 (X86_TUNE_LCP_STALL): Ditto.
20476 (X86_TUNE_USE_INCDEC): Ditto.
20477 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
20478 (X86_TUNE_OPT_AGU): Ditto.
20479 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
20480 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
20481 (X86_TUNE_USE_SAHF): Ditto.
20482 (X86_TUNE_USE_BT): Ditto.
20483 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
20484 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
20485 (X86_TUNE_AVOID_MFENCE): Ditto.
20486 (X86_TUNE_EXPAND_ABS): Ditto.
20487 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
20488 (X86_TUNE_USE_FFREEP): Ditto.
20489 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
20490 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
20491 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
20492 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
20493 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
20494 * doc/extend.texi: Add details about lujiazui.
20495 * doc/invoke.texi: Add details about lujiazui.
20496 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
20498 2022-05-23 Martin Liska <mliska@suse.cz>
20500 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
20502 2022-05-23 Richard Biener <rguenther@suse.de>
20504 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
20505 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
20507 2022-05-23 Richard Biener <rguenther@suse.de>
20509 * gimple-expr.cc (is_gimple_condexpr): Remove.
20510 * gimple-expr.h (is_gimple_condexpr): Likewise.
20511 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
20512 * tree-if-conv.cc (set_bb_predicate): Likewie.
20513 (add_to_predicate_list): Likewise.
20514 (gen_phi_arg_condition): Likewise.
20515 (predicate_scalar_phi): Likewise.
20516 (predicate_statements): Likewise.
20518 2022-05-23 Richard Biener <rguenther@suse.de>
20520 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
20521 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
20523 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
20524 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
20525 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
20526 Build the condition of the COND_EXPR separately.
20527 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
20528 * tree-vect-generic.cc (expand_vector_condition): Likewise.
20529 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
20531 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
20532 * tree-vect-patterns.cc: Add comment indicating we are
20533 building invalid COND_EXPRs and why.
20534 * omp-expand.cc (expand_omp_simd): Gimplify the condition
20535 to the COND_EXPR separately.
20536 (expand_omp_atomic_cas): Note part that should be unreachable
20538 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
20539 condition for valid replacements.
20540 * tree-if-conv.cc (predicate_bbs): Simulate previous
20541 re-folding of the condition in folded COND_EXPRs which
20542 is necessary because of unfolded GIMPLE_CONDs in the IL
20543 as in for example gcc.dg/fold-bopcond-1.c.
20544 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
20545 Handle that the comparison is now in the def stmt of
20546 the select operand. Required by gcc.dg/pr104526.c.
20548 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
20551 * langhooks-def.h (lhd_omp_array_size): New.
20552 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
20553 (LANG_HOOKS_DECLS): Add it.
20554 * langhooks.cc (lhd_omp_array_size): New.
20555 * langhooks.h (struct lang_hooks_for_decls): Add hook.
20556 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
20557 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
20559 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
20561 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
20562 XOR/IOR case. Account for two instructions for double-word
20563 operations. In case of vector pandn, account for single
20564 instruction. Likewise for integer andn with TARGET_BMI.
20565 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
20566 <case NEG>: Double-word negation requires 3 instructions.
20568 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
20570 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
20571 Fix "K" extension prefix to be placed before "J".
20572 * config/riscv/arch-canonicalize: Likewise.
20574 2022-05-23 liuhongt <hongtao.liu@intel.com>
20576 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
20577 <-> mask cost from 5 to 6.
20578 (icelake_cost): Ditto.
20580 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
20582 * config/aarch64/aarch64.md
20583 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
20584 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
20585 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
20586 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
20587 (one_cmpl_<optab><mode>2): Likewise.
20588 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
20589 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
20590 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
20591 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
20592 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
20593 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
20594 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
20595 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
20596 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
20597 (rolsi3_insn_uxtw): New pattern.
20598 * config/aarch64/iterators.md (SHIFT): Add rotate left.
20599 (SHIFT_no_rotate): Add new iterator.
20600 (SHIFT:shift): Print rotate left as ror.
20601 (is_rotl): Add test for left rotate.
20603 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
20605 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
20606 processing. Add support for architectural extensions.
20607 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
20608 AARCH64_CPU_DEFAULT_FLAGS.
20609 (TARGET_CPU_NBITS): Remove.
20610 (TARGET_CPU_MASK): Remove.
20611 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
20612 (get_tune_cpu): Assert CPU is always valid.
20613 (get_arch): Assert architecture is always valid.
20614 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
20615 (aarch64_option_restore): Remove unnecessary checks on tune.
20617 2022-05-20 David Malcolm <dmalcolm@redhat.com>
20619 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
20620 "FINAL" and "OVERRIDE" with "final" and "override".
20621 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
20622 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
20623 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
20624 * diagnostic-path.h: Likewise.
20625 * digraph.cc: Likewise.
20626 * gcc-rich-location.h: Likewise.
20627 * gimple-array-bounds.cc: Likewise.
20628 * gimple-loop-versioning.cc: Likewise.
20629 * gimple-range-cache.cc: Likewise.
20630 * gimple-range-cache.h: Likewise.
20631 * gimple-range-fold.cc: Likewise.
20632 * gimple-range-fold.h: Likewise.
20633 * gimple-range-tests.cc: Likewise.
20634 * gimple-range.h: Likewise.
20635 * gimple-ssa-evrp.cc: Likewise.
20636 * input.cc: Likewise.
20637 * json.h: Likewise.
20638 * read-rtl-function.cc: Likewise.
20639 * tree-complex.cc: Likewise.
20640 * tree-diagnostic-path.cc: Likewise.
20641 * tree-ssa-ccp.cc: Likewise.
20642 * tree-ssa-copy.cc: Likewise.
20643 * tree-vrp.cc: Likewise.
20644 * value-query.h: Likewise.
20645 * vr-values.h: Likewise.
20647 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
20649 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
20650 target_memcpy_rect_async to omp_runtime_apis array.
20652 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
20654 * doc/sourcebuild.texi (Decimal floating point attributes): Document
20655 dfp_bid effective-target.
20657 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
20659 * config/aarch64/aarch64.cc
20660 (aarch64_split_128bit_move): Handle DFP modes.
20661 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
20662 (aarch64_classify_address): Likewise.
20663 (aarch64_legitimize_address_displacement): Likewise.
20664 (aarch64_reinterpret_float_as_int): Likewise.
20665 (aarch64_float_const_zero_rtx_p): Likewise.
20666 (aarch64_can_const_movi_rtx_p): Likewise.
20667 (aarch64_anchor_offset): Likewise.
20668 (aarch64_secondary_reload): Likewise.
20669 (aarch64_rtx_costs): Likewise.
20670 (aarch64_legitimate_constant_p): Likewise.
20671 (aarch64_gimplify_va_arg_expr): Likewise.
20672 (aapcs_vfp_sub_candidate): Likewise.
20673 (aarch64_vfp_is_call_or_return_candidate): Likewise.
20674 (aarch64_output_scalar_simd_mov_immediate): Likewise.
20675 (aarch64_gen_adjusted_ldpstp): Likewise.
20676 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
20677 * config/aarch64/aarch64.md
20678 (movsf_aarch64): Use SFD iterator and rename into
20680 (movdf_aarch64): Use DFD iterator and rename into
20682 (movtf_aarch64): Use TFD iterator and rename into
20684 (split pattern for move TF mode): Use TFD iterator.
20685 * config/aarch64/iterators.md
20686 (GPF_TF_F16_MOV): Add DFP modes.
20687 (SFD, DFD, TFD): New iterators.
20688 (GPF_TF): Add DFP modes.
20689 (TX, DX, DX2): Likewise.
20691 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
20693 * configure: Regenerate.
20695 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
20697 PR middle-end/98865
20698 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
20699 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
20700 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
20702 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
20704 * config/rs6000/rs6000-builtins.def: Rephrase
20705 to remove RS6000_BTC_SPECIAL from comment.
20706 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
20707 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
20708 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
20709 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
20710 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
20711 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
20712 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
20713 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
20714 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
20715 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
20716 RS6000_BTM_ALWAYS): Delete.
20718 2022-05-19 Richard Biener <rguenther@suse.de>
20720 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
20721 computation of the new value.
20723 2022-05-19 Richard Biener <rguenther@suse.de>
20725 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
20726 (add_to_value): Use get_expression_id.
20727 (bitmap_insert_into_set): Likewise.
20728 (bitmap_value_insert_into_set): Likewise.
20730 2022-05-19 David Malcolm <dmalcolm@redhat.com>
20732 * doc/invoke.texi (-fanalyzer-checker=): Add
20733 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
20734 the list of analyzer warnings disabled by
20735 -fanalyzer-checker=taint.
20737 2022-05-19 Jakub Jelinek <jakub@redhat.com>
20740 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
20741 global vars without symtab node even when they have DECL_RTL
20744 2022-05-19 Jakub Jelinek <jakub@redhat.com>
20747 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
20748 doesn't have pointer or reference type.
20750 2022-05-18 Marek Polacek <polacek@redhat.com>
20753 * doc/invoke.texi: Document -Wenum-int-mismatch.
20755 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
20757 * config/i386/gnu-user-common.h (defined): Only define
20758 TARGET_CAN_SPLIT_STACK for glibc targets.
20759 * config/i386/gnu.h (defined): Ditto.
20761 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
20763 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
20764 is wider than word_mode, a multiplication costs three word_mode
20765 multiplications and two word_mode additions.
20767 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
20769 * config/i386/i386.md (define_split): Split *andsi_1
20770 and *andn_si_ccno after reload with -Oz.
20772 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
20774 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
20775 Output reason for failure to dump file.
20776 (scop_detection::harmful_loop_in_region): Likewise.
20777 (scop_detection::graphite_can_represent_expr): Likewise.
20778 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
20779 (scop_detection::stmt_simple_for_scop_p): Likewise.
20780 (print_sese_loop_numbers): New function.
20781 (scop_detection::add_scop): Use from here.
20783 2022-05-18 liuhongt <hongtao.liu@intel.com>
20785 PR middle-end/103462
20786 * match.pd (bitwise_induction_p): New match.
20787 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
20789 (analyze_and_compute_bitwise_induction_effect): New function.
20790 (enum bit_op_kind): New enum.
20791 (final_value_replacement_loop): Enhanced to handle bitwise
20794 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
20797 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
20799 2022-05-18 liuhongt <hongtao.liu@intel.com>
20802 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
20805 2022-05-18 liuhongt <hongtao.liu@intel.com>
20808 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
20809 for QImode when code is EQ or NE.
20810 * config/i386/i386.md (cbranchoi4): New expander.
20812 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
20813 Segher Boessenkool <segher@kernel.crashing.org>
20816 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
20817 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
20818 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
20819 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
20820 Update other operands accordingly.
20822 2022-05-17 Marek Polacek <polacek@redhat.com>
20824 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
20826 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
20829 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
20830 register count when not splitting IEEE 128-bit Complex.
20832 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
20834 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
20835 target inside target if inner is reverse offload.
20837 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
20839 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
20840 * config/nvptx/mkoffload.cc (process): Likewise.
20842 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
20844 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
20845 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
20846 (non_null_ref::~non_null_ref): Delete.
20847 (non_null_ref::set_nonnull): Delete.
20848 (non_null_ref::non_null_deref_p): Delete.
20849 (non_null_ref::process_name): Delete.
20850 (ranger_cache::ranger_cache): Initialize m_exit object.
20851 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
20852 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
20853 (ranger_cache::update_to_nonnull): Delete.
20854 (non_null_loadstore): Delete.
20855 (ranger_cache::block_apply_nonnull): Delete.
20856 (ranger_cache::apply_side_effects): New.
20857 * gimple-range-cache.h (class non_null_ref): Delete.
20858 (non_null_ref::adjust_range): Delete.
20859 (class ranger_cache): Adjust prototypes, add side effect manager.
20860 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
20861 side effect manager for queries.
20862 (path_range_query::adjust_for_non_null_uses): Ditto.
20863 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
20864 * gimple-range-side-effect.cc: New.
20865 * gimple-range-side-effect.h: New.
20866 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
20867 (gimple_ranger::range_of_expr): Check def block for override value.
20868 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
20869 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
20870 (gimple_ranger::register_side_effects): Call apply_side_effects.
20871 (enable_ranger): Update contructor.
20872 * gimple-range.h (class gimple_ranger): Update prototype.
20873 (enable_ranger): Update prototype.
20874 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
20876 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
20879 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
20880 * varasm.cc (switch_to_comdat_section): New
20881 (handle_vtv_comdat_section): Call switch_to_comdat_section.
20882 * varasm.h: Declare switch_to_comdat_section.
20884 2022-05-17 Richard Biener <rguenther@suse.de>
20886 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
20887 not clear bb->aux of the copied blocks.
20889 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
20891 PR tree-optimization/105458
20892 * value-relation.cc (path_oracle::register_relation): Merge, then check
20895 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
20899 * config/i386/i386.md: Remove constraints when used with
20900 const_int_operand, const0_operand, const_1_operand, constm1_operand,
20901 const8_operand, const128_operand, const248_operand, const123_operand,
20902 const2367_operand, const1248_operand, const359_operand,
20903 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
20904 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
20905 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
20906 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
20907 const_0_to_255_mul_8_operand, const_1_to_31_operand,
20908 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
20909 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
20910 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
20911 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
20912 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
20913 const_24_to_27_operand and const_28_to_31_operand.
20914 * config/i386/mmx.md: Ditto.
20915 * config/i386/sse.md: Ditto.
20916 * config/i386/subst.md: Ditto.
20917 * config/i386/sync.md: Ditto.
20919 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
20921 * diagnostic.cc: Don't advise to call 'abort' instead of
20923 * system.h: Advise to call 'internal_error' instead of 'abort' or
20926 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
20928 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
20929 a reference to a variable which does not exist.
20930 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
20933 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
20935 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
20936 (isl_id_for_parameter): ... this new function name.
20937 (build_scop_context): Adjust function use.
20939 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
20942 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
20943 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
20945 2022-05-17 Jakub Jelinek <jakub@redhat.com>
20947 * tree-core.h (enum omp_clause_depend_kind): Add
20948 OMP_CLAUSE_DEPEND_INOUTSET.
20949 * tree-pretty-print.cc (dump_omp_clause): Handle
20950 OMP_CLAUSE_DEPEND_INOUTSET.
20951 * gimplify.cc (gimplify_omp_depend): Likewise.
20952 * omp-low.cc (lower_depend_clauses): Likewise.
20954 2022-05-17 Jakub Jelinek <jakub@redhat.com>
20957 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
20958 andv4si3 only for EQ, for NE use iorv4si3 instead.
20960 2022-05-17 Richard Biener <rguenther@suse.de>
20962 PR tree-optimization/105618
20963 * tree-ssa-sink.cc (statement_sink_location): For virtual
20964 PHI uses ignore those defining the used virtual operand.
20966 2022-05-17 Jakub Jelinek <jakub@redhat.com>
20968 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
20969 hanlde -> handle. Fix up comment formatting.
20971 2022-05-17 liuhongt <hongtao.liu@intel.com>
20974 * config/i386/sse.md (*vec_concatv4si): Extend to ..
20975 (*vec_concat<mode>): .. V16QI and V8HImode.
20976 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
20977 (*vec_concatv8hi_permt2): Ditto.
20979 2022-05-17 liuhongt <hongtao.liu@intel.com>
20981 PR tree-optimization/105591
20982 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
20983 vec_perm_expr index.
20985 2022-05-16 Jason Merrill <jason@redhat.com>
20988 * attribs.cc (decl_attributes): Fix broken typedefs here.
20990 2022-05-16 David Malcolm <dmalcolm@redhat.com>
20993 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
20994 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
20995 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
20996 -Wanalyzer-va-list-use-after-va-end.
20998 2022-05-16 Richard Biener <rguenther@suse.de>
21000 * gimple-match.h (gimple_build): Move code_helper overloads ...
21001 * gimple-fold.h (gimple_build): ... here.
21002 (gimple_build): Transition to new worker API. Provide
21003 overloads from sequence-based API.
21004 (gimple_convert): Likewise.
21005 (gimple_convert_to_ptrofftype): Likewise.
21006 (gimple_build_vector_from_val): Likewise.
21007 (gimple_build_vector): Likewise.
21008 (gimple_build_round_up): Likewise.
21009 * gimple-fold.cc (gimple_build_insert_seq): New helper.
21010 (gimple_build): Use it. Transition combined_fn and code_helper
21012 (gimple_convert): Transition to new worker API.
21013 (gimple_convert_to_ptrofftype): Likewise.
21014 (gimple_build_vector_from_val): Likewise.
21015 (gimple_build_vector): Likewise.
21016 (gimple_build_round_up): Likewise.
21018 2022-05-16 Richard Biener <rguenther@suse.de>
21020 * gimple-match.h (code_helper): Move class ...
21021 * tree.h (code_helper): ... here.
21023 2022-05-16 Martin Liska <mliska@suse.cz>
21025 * opts-global.cc (write_langs): Add comment.
21027 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
21029 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
21030 instead of a bitwise negation.
21031 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
21033 2022-05-16 Martin Liska <mliska@suse.cz>
21035 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
21036 (decls_mismatched_attributes): Likewise.
21037 * builtins.cc (c_strlen): Likewise.
21038 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
21039 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
21040 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
21041 (aarch64_init_simd_builtin_types): Likewise.
21042 (aarch64_init_builtin_rsqrt): Likewise.
21043 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
21044 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
21045 (arm_init_simd_builtin_types): Likewise.
21046 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
21047 (c_prefix): Likewise.
21049 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
21050 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
21051 * config/gcn/mkoffload.cc (process_obj): Likewise.
21052 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
21053 (fold_builtin_cpu): Likewise.
21054 * config/m32c/m32c.cc (PUSHM_N): Likewise.
21055 * config/nvptx/mkoffload.cc (process): Likewise.
21056 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
21057 * config/s390/s390.cc (NR_C_MODES): Likewise.
21058 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
21059 (create_insn_code_compression_table): Likewise.
21060 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
21061 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
21062 * dwarf2out.cc (ARRAY_SIZE): Likewise.
21063 * genhooks.cc (emit_documentation): Likewise.
21064 (emit_init_macros): Likewise.
21065 * gimple-ssa-sprintf.cc (format_floating): Likewise.
21066 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
21067 * godump.cc (keyword_hash_init): Likewise.
21068 * hash-table.cc (hash_table_higher_prime_index): Likewise.
21069 * input.cc (for_each_line_table_case): Likewise.
21070 * ipa-free-lang-data.cc (free_lang_data): Likewise.
21071 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
21072 * optc-save-gen.awk: Likewise.
21073 * spellcheck.cc (test_metric_conditions): Likewise.
21074 * tree-vect-slp-patterns.cc (sizeof): Likewise.
21075 (ARRAY_SIZE): Likewise.
21076 * tree.cc (build_common_tree_nodes): Likewise.
21078 2022-05-16 Martin Liska <mliska@suse.cz>
21080 * opts-global.cc (write_langs): Allocate at least one byte.
21082 2022-05-16 Richard Biener <rguenther@suse.de>
21084 * match.pd (A cmp B ? A : B -> min/max): New patterns
21085 carried over from fold_cond_expr_with_comparison.
21087 2022-05-16 liuhongt <hongtao.liu@intel.com>
21090 * config/i386/i386-expand.cc
21091 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
21092 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
21094 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
21096 * config/i386/i386.md: Remove constraints when used with
21097 const_int_operand, const0_operand, const_1_operand, constm1_operand,
21098 const8_operand, const128_operand, const248_operand, const123_operand,
21099 const2367_operand, const1248_operand, const359_operand,
21100 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
21101 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
21102 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
21103 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
21104 const_0_to_255_mul_8_operand, const_1_to_31_operand,
21105 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
21106 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
21107 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
21108 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
21109 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
21110 const_24_to_27_operand and const_28_to_31_operand.
21111 * config/i386/mmx.md: Ditto.
21112 * config/i386/sse.md: Ditto.
21113 * config/i386/subst.md: Ditto.
21114 * config/i386/sync.md: Ditto.
21116 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
21117 Uroš Bizjak <ubizjak@gmail.com>
21119 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
21120 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
21121 by a pshufd and pand.
21122 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
21123 vector equality as a V2DImode vector comparison (see above),
21124 followed by a pshufd and pand.
21126 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
21128 PR tree-optimization/83907
21129 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
21130 for memset with an constant char value.
21131 (handle_store): Improved handling of stores with a first byte
21132 of zero, but not storing_all_zeros_p.
21134 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
21135 Manolis Tsamis <manolis.tsamis@vrull.eu>
21137 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
21138 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
21139 * doc/sourcebuild.texi: add documentation for RISC-V specific
21140 test target keywords
21142 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21144 PR tree-optimization/105597
21145 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
21146 of the lhs and make sure it is not undefined.
21148 2022-05-13 Sebastian Pop <spop@amazon.com>
21151 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
21153 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
21154 memmodel_from_int and handle MEMMODEL_SYNC_*.
21155 (DEF0): Add __aarch64_*_sync functions.
21157 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21159 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
21161 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
21162 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
21163 new VREL enumerated values.
21164 (*::lhs_op2_relation): Ditto.
21165 (*::op1_op2_relation): Ditto.
21166 (*::fold_range): Use new VREL enumerated values.
21167 (minus_op1_op2_relation_effect): Ditto.
21168 (range_relational_tests): Ditto.
21169 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
21170 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
21172 (*_op1_op2_relation): Return relation_kind.
21173 (relop_early_resolve): Use VREL_UNDEFINED.
21174 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
21175 * value-relation.cc (VREL_LAST): Change enumerated value.
21176 (vrel_range_assert): Delete.
21177 (print_relation): Remove range assert.
21178 (rr_negate_table): Adjust table to use new enumerated values..
21179 (relation_negate): Remove range assert.
21180 (rr_swap_table): Adjust.
21181 (relation_swap): Remove range assert.
21182 (rr_intersect_table): Adjust.
21183 (relation_intersect): Remove range assert.
21184 (rr_union_table): Adjust.
21185 (relation_union): Remove range assert.
21186 (rr_transitive_table): Adjust.
21187 (relation_transitive): Remove range assert.
21188 (equiv_oracle::query_relation): Use new VREL enumerated values.
21189 (equiv_oracle::register_relation): Ditto.
21190 (relation_oracle::register_stmt): Ditto.
21191 (dom_oracle::set_one_relation): Ditto.
21192 (dom_oracle::register_transitives): Ditto.
21193 (dom_oracle::query_relation): Ditto.
21194 (path_oracle::register_relation): Ditto.
21195 (path_oracle::query_relation): Ditto.
21196 * value-relation.h (enum relation_kind_t): New relation_kind.
21197 (*_op1_op2_relation): Adjust prototypes.
21199 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21201 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
21202 * value-range.cc (irange::legacy_verbose_union_): Add return value.
21203 (irange::irange_single_pair_union): New.
21204 (irange::irange_union): Add return value.
21205 * value-range.h (class irange): Adjust prototypes.
21207 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21209 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
21210 (irange::irange_contains_p): New.
21211 (irange::irange_intersect): Add return value.
21212 * value-range.h (class irange): Adjust prototypes.
21214 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21216 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
21217 had_global value instead.
21219 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21221 PR tree-optimization/104547
21222 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
21223 the op1/op2 relation to the relation call.
21224 * range-op.cc (*::lhs_op1_relation): Add param.
21225 (*::lhs_op2_relation): Ditto.
21226 (operator_minus::lhs_op1_relation): New.
21227 (range_relational_tests): Add relation param.
21228 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
21230 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21232 * gimple-range.cc (gimple_ranger::register_side_effects): First check
21233 if the DEF should be exported as a global.
21234 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
21235 which will export globals.
21236 (execute_ranger_vrp): Remove call to export_global_ranges.
21238 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21240 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
21242 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
21244 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
21246 (ranger_cache::entry_range): Add rfd_mode parameter.
21247 (ranger_cache::exit_range): Ditto.
21248 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
21249 (ranger_cache::range_of_expr): Adjust call to entry_range.
21250 (ranger_cache::range_on_edge): Split to edge_range and call.
21251 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
21252 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
21253 mutiple predecessors.
21254 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
21255 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
21258 2022-05-13 Alexandre Oliva <oliva@adacore.com>
21260 * gimple-harden-conditionals.cc: Include sbitmap.h.
21261 (pass_harden_conditional_branches::execute): Skip new blocks.
21262 (pass_harden_compares::execute): Likewise.
21264 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
21267 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
21268 mve_memory_operand.
21269 (*movmisalign<mode>_mve_load): Likewise.
21270 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
21272 (@movmisalign<mode>): ... thus. Use generic predicates and then
21273 rework operands if they are not valid. For MVE rework to a
21274 narrower element size if the alignment is not high enough.
21276 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
21278 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
21279 when there is no write-back. Fix use when strict is true.
21281 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21283 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
21286 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21288 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
21289 extzvsi_internal): Rename from extv, extv_internal, extzv and
21290 extzv_internal, respectively.
21292 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
21294 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
21295 is the same on the LHS and RHS before rewriting one with the model
21298 2022-05-13 Richard Biener <rguenther@suse.de>
21300 * gimple-fold.cc (gimple_build): Adjust for new
21302 * gimple-fold.h (gimple_build): New main APIs with
21303 iterator, insert direction and iterator update.
21304 (gimple_build): New forwarder template.
21305 (clear_padding_type_may_have_padding_p): Remove.
21306 (clear_type_padding_in_mask): Likewise.
21307 (arith_overflowed_p): Likewise.
21308 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
21309 (clear_type_padding_in_mask): Likewise.
21310 (arith_overflowed_p): Likewise.
21311 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
21312 (gimplify_build2): Likewise.
21313 (gimplify_build1): Likewise.
21314 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
21316 * gengtype.cc (open_base_files): Re-order includes.
21317 * builtins.cc: Re-order gimple-fold.h include.
21318 * calls.cc: Likewise.
21319 * cgraphbuild.cc: Likewise.
21320 * cgraphunit.cc: Likewise.
21321 * config/rs6000/rs6000-builtin.cc: Likewise.
21322 * config/rs6000/rs6000-call.cc: Likewise.
21323 * config/rs6000/rs6000.cc: Likewise.
21324 * config/s390/s390.cc: Likewise.
21325 * expr.cc: Likewise.
21326 * fold-const.cc: Likewise.
21327 * function-tests.cc: Likewise.
21328 * gimple-match-head.cc: Likewise.
21329 * gimple-range-fold.cc: Likewise.
21330 * gimple-ssa-evrp-analyze.cc: Likewise.
21331 * gimple-ssa-evrp.cc: Likewise.
21332 * gimple-ssa-sprintf.cc: Likewise.
21333 * gimple-ssa-warn-access.cc: Likewise.
21334 * gimplify.cc: Likewise.
21335 * graphite-isl-ast-to-gimple.cc: Likewise.
21336 * ipa-cp.cc: Likewise.
21337 * ipa-devirt.cc: Likewise.
21338 * ipa-prop.cc: Likewise.
21339 * omp-low.cc: Likewise.
21340 * pointer-query.cc: Likewise.
21341 * range-op.cc: Likewise.
21342 * tree-cfg.cc: Likewise.
21343 * tree-if-conv.cc: Likewise.
21344 * tree-inline.cc: Likewise.
21345 * tree-object-size.cc: Likewise.
21346 * tree-ssa-ccp.cc: Likewise.
21347 * tree-ssa-dom.cc: Likewise.
21348 * tree-ssa-forwprop.cc: Likewise.
21349 * tree-ssa-ifcombine.cc: Likewise.
21350 * tree-ssa-loop-ivcanon.cc: Likewise.
21351 * tree-ssa-math-opts.cc: Likewise.
21352 * tree-ssa-pre.cc: Likewise.
21353 * tree-ssa-propagate.cc: Likewise.
21354 * tree-ssa-reassoc.cc: Likewise.
21355 * tree-ssa-sccvn.cc: Likewise.
21356 * tree-ssa-strlen.cc: Likewise.
21357 * tree-ssa.cc: Likewise.
21358 * value-pointer-equiv.cc: Likewise.
21359 * vr-values.cc: Likewise.
21361 2022-05-13 Alexandre Oliva <oliva@adacore.com>
21363 PR rtl-optimization/105455
21364 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
21365 probabilities for newly-conditional edges.
21367 2022-05-13 liuhongt <hongtao.liu@intel.com>
21369 PR tree-optimization/102583
21370 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
21371 contiguous stride in the VEC_PERM_EXPR.
21373 2022-05-12 Richard Biener <rguenther@suse.de>
21375 PR rtl-optimization/105577
21376 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
21377 edges before running fast DCE via df_analyze.
21379 2022-05-12 Richard Biener <rguenther@suse.de>
21381 PR tree-optimization/105562
21382 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
21383 against all CLOBBER defs if there's not an obvious must-alias
21384 and we are not doing redundant store elimination.
21385 (vn_walk_cb_data::redundant_store_removal_p): New field.
21386 (vn_reference_lookup_pieces): Initialize it.
21387 (vn_reference_lookup): Add argument to specify if we are
21388 doing redundant store removal.
21389 (eliminate_dom_walker::eliminate_stmt): Specify we do.
21390 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
21392 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
21395 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
21396 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
21397 New define_split pattern.
21399 2022-05-12 Jakub Jelinek <jakub@redhat.com>
21401 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
21402 if null_pointer_node.
21403 (gimplify_scan_omp_clauses): Likewise.
21404 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
21407 2022-05-11 Patrick Palka <ppalka@redhat.com>
21409 * tree.h (TREE_VEC_BEGIN): Define.
21410 (TREE_VEC_END): Correct 'length' member access.
21411 (class tree_vec_range): Define.
21413 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
21415 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
21417 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
21419 * config/rs6000/rs6000.md: Use d instead of <Ff>.
21421 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
21423 * config/rs6000/constraints.md (register_constraint "f"): Use
21424 RS6000_CONSTRAINT_d.
21425 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
21426 RS6000_CONSTRAINT_f.
21427 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
21428 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
21429 RS6000_CONSTRAINT_d.
21431 2022-05-11 Richard Biener <rguenther@suse.de>
21433 * gimple-fold.h (gimple_build): Use variadic template
21434 functions for the gimple_build API forwarders without
21435 location_t argument.
21437 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
21439 PR middle-end/70090
21440 * asan.cc (initialize_sanitizer_builtins): Register
21441 __builtin_dynamic_object_size if necessary.
21443 2022-05-11 Richard Biener <rguenther@suse.de>
21445 PR rtl-optimization/105559
21446 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
21447 for non-debug insns.
21449 2022-05-11 Richard Biener <rguenther@suse.de>
21451 * generic-match-head.cc: Include tree-eh.h.
21452 * match.pd ((cond ...) cmp X): New simplification inspired
21453 by fold_binary_op_with_conditional_arg.
21454 (eq/ne (cmp ...) true/false): Likewise.
21456 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
21458 * doc/install.texi: Don't document '--with-hsa-runtime',
21459 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
21461 2022-05-11 Martin Liska <mliska@suse.cz>
21464 * doc/install.texi: Document the configure option --with-zstd.
21466 2022-05-11 Martin Liska <mliska@suse.cz>
21468 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
21469 compute index in cpu_features2.
21470 (set_cpu_feature): Likewise.
21471 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
21472 loop for cpu_features2 and use NOP_EXPRs.
21474 2022-05-11 Richard Biener <rguenther@suse.de>
21476 PR bootstrap/105551
21477 * opts.cc (finish_options): Also disable var-tracking if
21478 !DWARF2_DEBUGGING_INFO.
21480 2022-05-11 liuhongt <hongtao.liu@intel.com>
21483 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
21484 pre_reload define_insn_and_split.
21485 (*vec_setv2di_0_zero_extendhi_1): Ditto.
21486 (*vec_set<mode>_0_zero_extendsi): Ditto.
21487 (*vec_setv2di_0_zero_extendsi_1): Ditto.
21488 (ssewvecmode): New mode attr.
21489 (ssewvecmodelower): Ditto.
21490 (ssepackmodelower): Ditto.
21492 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
21494 * config/rs6000/constraints.md (register constraint v): Use
21495 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
21497 2022-05-11 Martin Liska <mliska@suse.cz>
21500 * config/riscv/riscv.opt: Remove Separate from
21501 -msmall-data-limit=.
21502 * optc-gen.awk: Report error for the described situation.
21503 * gcc.cc: Use Separate syntax.
21504 * opts.cc (gen_command_line_string): Change option name.
21506 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
21509 * match.pd (minmax): Skip constant folding for fmin/fmax when both
21510 arguments are sNaN or one is sNaN and another is NaN.
21512 2022-05-10 Jakub Jelinek <jakub@redhat.com>
21514 PR tree-optimization/105528
21515 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
21516 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
21518 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
21520 * doc/md.texi (Defining Mode Iterators): Correct example replacement
21523 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
21525 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
21527 (fmin<mode>3, fmax<mode>3): New insns.
21529 2022-05-10 Richard Biener <rguenther@suse.de>
21531 * tree-if-conv.cc (fold_build_cond_expr): Use
21532 match-and-simplify to simplify the condition.
21533 (ifcvt_follow_ssa_use_edges): Remove.
21534 (predicate_scalar_phi): Use follow_all_ssa_edges.
21536 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
21538 PR middle-end/100400
21539 * omp-oacc-kernels-decompose.cc
21540 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
21541 call 'internal_error'.
21543 2022-05-10 Richard Biener <rguenther@suse.de>
21545 PR middle-end/105537
21546 * toplev.cc (process_options): Move flag_var_tracking
21548 * opts.cc (finish_options): ... here.
21550 2022-05-10 Martin Liska <mliska@suse.cz>
21552 * basic-block.h (struct basic_block_d): Use void *
21554 * cfgloop.h: Likewise.
21555 * cgraph.h: Likewise.
21556 * gengtype-state.cc (state_ident_by_name): Likewise.
21557 (record_type): Likewise.
21558 (read_state_already_seen_type): Likewise.
21559 * gengtype.cc (dump_type): Likewise.
21560 (input_file_by_name): Likewise.
21562 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
21563 * ipa-utils.h (struct ipa_dfs_info): Likewise.
21564 * plugin.cc (htab_hash_plugin): Likewise.
21566 2022-05-10 Richard Biener <rguenther@suse.de>
21568 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
21569 API with !GENERATOR_FILE.
21570 * opts.cc (global_options): Poison.
21571 (global_options_set): Likewise.
21572 (finish_options): Refer to options via opts.
21574 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
21575 Roger Sayle <roger@nextmovesoftware.com>
21577 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
21578 alternative when optimizing for size and the immediate operand is
21579 const_0_to_127_operand.
21580 (*andqi_2_maybe_si): Likewise.
21581 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
21583 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
21585 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
21586 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
21589 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
21592 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
21593 true only for 8-byte vector modes.
21595 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
21597 PR middle-end/70090
21598 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
21599 (instrument_object_size): Get dynamic object size expression.
21601 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
21603 PR preprocessor/101168
21604 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
21605 Avoid empty identifier.
21607 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
21610 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
21611 as a generic MMX mode instead of V4HImode.
21612 (zero_all_mm_registers): Use SET to zero instead of MOV for
21613 zeroing scratch registers.
21614 (ix86_zero_call_used_regs): Likewise.
21616 2022-05-09 liuhongt <hongtao.liu@intel.com>
21619 * config/i386/i386-expand.cc
21620 (expand_vec_perm_pslldq_psrldq_por): New function.
21621 (ix86_expand_vec_perm_const_1): Try
21622 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
21623 4/5-instruction sequence.
21625 2022-05-09 Martin Liška <mliska@suse.cz>
21627 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
21628 * system.h (STATIC_ASSERT): Define as static_assert for C++
21629 and fallback to array index in C.
21631 2022-05-09 Richard Biener <rguenther@suse.de>
21633 PR tree-optimization/105517
21634 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
21635 offset can be represented in the POINTER_PLUS_EXPR IL.
21636 (vn_reference_insert): Likewise.
21637 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
21639 2022-05-09 Richard Biener <rguenther@suse.de>
21641 * match.pd: Remove #if GIMPLE guards around ! using patterns.
21643 2022-05-09 liuhongt <hongtao.liu@intel.com>
21646 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
21648 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
21649 define_insn_and_split.
21651 2022-05-09 Alex Coplan <alex.coplan@arm.com>
21653 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
21654 symtab state is PARSING.
21656 2022-05-09 Martin Liska <mliska@suse.cz>
21658 * system.h (LIKELY): Define.
21659 (UNLIKELY): Likewise.
21660 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
21662 * dse.cc (set_position_unneeded): Likewise.
21663 (set_all_positions_unneeded): Likewise.
21664 (any_positions_needed_p): Likewise.
21665 (all_positions_needed_p): Likewise.
21666 * expmed.cc (flip_storage_order): Likewise.
21667 * genmatch.cc (dt_simplify::gen_1): Likewise.
21668 * ggc-common.cc (gt_pch_save): Likewise.
21669 * print-rtl.cc: Likewise.
21670 * rtl-iter.h (T>::array_type::~array_type): Likewise.
21671 (T>::next): Likewise.
21672 * rtl-ssa/internals.inl: Likewise.
21673 * rtl-ssa/member-fns.inl: Likewise.
21674 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
21675 (rtx_properties::try_to_add_dest): Likewise.
21676 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
21677 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
21678 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
21679 * sort.cc (likely): Likewise.
21680 (mergesort): Likewise.
21681 * wide-int.h (wi::eq_p): Likewise.
21682 (wi::ltu_p): Likewise.
21683 (wi::cmpu): Likewise.
21684 (wi::bit_and): Likewise.
21685 (wi::bit_and_not): Likewise.
21686 (wi::bit_or): Likewise.
21687 (wi::bit_or_not): Likewise.
21688 (wi::bit_xor): Likewise.
21689 (wi::add): Likewise.
21690 (wi::sub): Likewise.
21692 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
21694 * config/riscv/arch-canonicalize: Handle g correctly.
21696 2022-05-07 Marek Polacek <polacek@redhat.com>
21700 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
21702 2022-05-06 Jason Merrill <jason@redhat.com>
21704 * diagnostic-color.cc: Add fnname and targs color entries.
21705 * doc/invoke.texi: Document them.
21707 2022-05-06 Jason Merrill <jason@redhat.com>
21709 * vec.h (vec::iterate): Fix comment.
21711 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
21714 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
21715 and -mpower10-fusion options for inlining purposes.
21717 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
21719 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
21721 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
21723 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
21724 omp_runtime_apis array.
21726 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
21728 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
21729 (scan_sharing_clauses): Check a restriction on allocate clause.
21731 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
21733 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
21734 and ORDERED clause conflict errors. Add check for GRAINSIZE and
21735 NUM_TASKS on TASKLOOP.
21737 2022-05-05 Martin Liska <mliska@suse.cz>
21739 * genautomata.cc (create_composed_state): Remove dead code.
21740 * graphite-poly.cc (print_pdrs): Likewise.
21741 * lto-wrapper.cc (run_gcc): Likewise.
21742 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
21745 2022-05-05 Martin Liska <mliska@suse.cz>
21747 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
21749 (gimple_gen_time_profiler): Likewise.
21751 2022-05-05 Martin Liska <mliska@suse.cz>
21753 * value-prof.cc (stream_out_histogram_value): Remove sanity
21756 2022-05-05 Richard Biener <rguenther@suse.de>
21758 PR tree-optimization/104162
21759 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
21760 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
21762 (vn_reference_insert): Likewise.
21764 2022-05-05 Richard Biener <rguenther@suse.de>
21766 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
21767 to real_value field.
21768 (tree_real_cst::value): Add real_value field.
21769 * tree.h (TREE_REAL_CST_PTR): Adjust.
21770 * tree.cc (build_real): Remove separate allocation.
21771 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
21774 2022-05-05 Richard Biener <rguenther@suse.de>
21776 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
21777 divisions with undefined overflow unconditionally.
21778 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
21779 overflow to defined.
21781 2022-05-05 Richard Biener <rguenther@suse.de>
21783 PR tree-optimization/105484
21784 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
21785 whether the CFG changed.
21786 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
21788 2022-05-05 Richard Biener <rguenther@suse.de>
21790 PR tree-optimization/104595
21791 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
21792 COND_EXPR do not fail if check_bool_pattern returns false.
21794 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
21796 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
21797 item that is in an outer data-sharing clause.
21799 2022-05-04 Richard Biener <rguenther@suse.de>
21801 PR tree-optimization/104658
21802 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
21803 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
21804 type on nodes we promote.
21805 (vectorizable_bb_reduc_epilogue): Deal with externalized
21807 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
21808 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
21810 2022-05-04 Richard Biener <rguenther@suse.de>
21812 PR tree-optimization/103116
21813 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
21814 case we need peeling for gaps even though GROUP_GAP is zero.
21816 2022-05-04 Martin Liska <mliska@suse.cz>
21818 * gengtype-state.cc (read_a_state_token): Remove dead code.
21819 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
21821 2022-05-04 Richard Biener <rguenther@suse.de>
21823 * gimplify.cc (gimplify_init_constructor): First gimplify,
21824 then simplify the result to a VECTOR_CST.
21826 2022-05-04 Jakub Jelinek <jakub@redhat.com>
21828 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
21829 element at the end of insn_conditions.
21830 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
21831 ARRAY_SIZE (insn_conditions).
21833 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
21836 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
21837 vector of booleans and MVE is not enabled.
21839 2022-05-04 Richard Biener <rguenther@suse.de>
21842 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
21843 Move debug stmts to the predecessor if moving to the
21844 destination is not possible.
21845 (remove_forwarder_block): Adjust.
21846 (remove_forwarder_block_with_phi): Likewise.
21848 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
21850 PR tree-optimization/102950
21851 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
21852 determine bounds of bitwise operations on signed types.
21853 (operator_bitwise_and::wi_fold): Call the above function.
21854 (operator_bitwise_or::wi_fold): Likewise.
21855 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
21856 result can't be zero if the operands can't be equal.
21858 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
21860 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
21861 protocol class methods linker-visible.
21863 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
21866 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
21867 define_insn_and_split pattern.
21869 2022-05-03 Richard Biener <rguenther@suse.de>
21871 PR middle-end/105083
21872 * tree-scalar-evolution.cc (scev_initialize): Verify we
21873 have appropriate loop state.
21874 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
21875 loop init and finalization.
21877 2022-05-03 Richard Biener <rguenther@suse.de>
21879 PR middle-end/105461
21880 * opts.cc (finish_options): Match the condition to
21881 disable flag_var_tracking to that of process_options.
21883 2022-05-03 Richard Biener <rguenther@suse.de>
21885 * opts.cc: #undef OPTIONS_SET_P.
21886 (finish_options): Use opts_set instead of OPTIONS_SET_P.
21888 2022-05-03 Richard Biener <rguenther@suse.de>
21890 PR tree-optimization/105394
21891 * tree-vect-generic.cc (expand_vector_condition): Adjust
21892 comp_width for non-integer mode masks as well.
21894 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
21896 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
21897 omp_runtime_apis array.
21899 2022-05-02 Richard Biener <rguenther@suse.de>
21901 * tree-scalar-evolution.cc (expression_expensive_p):
21902 Never consider mismatched calls as cheap.
21904 2022-05-02 Richard Biener <rguenther@suse.de>
21906 PR tree-optimization/104240
21907 * tree-vect-slp.cc (op1_op0_map): New.
21908 (vect_get_operand_map): Handle compares.
21909 (vect_build_slp_tree_1): Support swapped operands for
21912 2022-05-02 Jakub Jelinek <jakub@redhat.com>
21915 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
21916 if there is no symtab node for the VAR_DECL.
21918 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
21920 * gcov-io.cc (gcov_rewrite): Clear the file error status.
21922 2022-05-02 Richard Biener <rguenther@suse.de>
21924 PR tree-optimization/105437
21925 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
21926 case where last_stmt alters control flow.
21928 2022-05-02 Richard Biener <rguenther@suse.de>
21930 * dojump.cc (do_jump): Use CASE_CONVERT.
21931 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
21933 2022-05-02 Jakub Jelinek <jakub@redhat.com>
21935 * system.h: Include initializer_list.
21937 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
21939 * config/rs6000/constraints.md (Y constraint): Fix comment.
21941 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
21943 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
21944 VR_RANGE before passing a piecewise range to set_range_info_raw.
21946 2022-04-30 Patrick Palka <ppalka@redhat.com>
21948 * gengtype.cc (adjust_field_tree_exp): Remove.
21949 (adjust_field_type): Don't handle the "tree_exp" special attribute.
21950 * tree-core.h (struct tree_exp): Remove "special" and "desc"
21951 attributes. Add "length" attribute.
21953 2022-04-29 Martin Jambor <mjambor@suse.cz>
21956 * cgraph.cc (cgraph_node::remove): Release body of the node this
21957 is clone_of if appropriate.
21959 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
21962 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
21964 2022-04-29 Richard Biener <rguenther@suse.de>
21966 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
21967 (canonicalize_cond_expr_cond): Move here from gimple.cc,
21968 allow both COND_EXPR and GIMPLE_COND forms.
21969 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
21970 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
21971 * gimple.h (canonicalize_cond_expr_cond): Likewise.
21972 * gimple-loop-versioning.cc (loop_versioning::version_loop):
21973 Use is_gimple_condexpr_for_cond.
21974 * tree-parloops.cc (gen_parallel_loop): Likewise.
21975 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
21976 a proper cond expr after canonicalize_cond_expr_cond.
21977 Use is_gimple_condexpr_for_cond where appropriate.
21978 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
21979 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
21981 2022-04-29 Richard Biener <rguenther@suse.de>
21983 * gimple-iterator.h (gsi_after_labels): Add overload for
21985 (gsi_start_1): Rename to gsi_start and take a reference.
21986 (gsi_last_1): Likewise.
21987 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
21988 * omp-low.cc (lower_rec_input_clauses): Likewise.
21989 (lower_omp_scan): Likewise.
21991 2022-04-29 Richard Biener <rguenther@suse.de>
21993 PR tree-optimization/105431
21994 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
21995 (powi_as_mults): Use absu_hwi.
21996 (gimple_expand_builtin_powi): Remove now pointless n != -n
21999 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22001 * range-op.cc (empty_range_varying): Move to range-op.h.
22002 (range_true): Move to range.h.
22003 (range_false): Same.
22004 (range_true_and_false): Same.
22005 (enum bool_range_state): Move to range-op.h.
22006 (relop_early_resolve): Same.
22007 (operator_equal::op1_op2_relation): Abstract code to...
22008 (equal_op1_op2_relation): ...here.
22009 (operator_not_equal::op1_op2_relation): Abstract code to...
22010 (not_equal_op1_op2_relation): ...here.
22011 (operator_lt::op1_op2_relation): Abstract code to...
22012 (lt_op1_op2_relation): ...here.
22013 (operator_le::op1_op2_relation): Abstract code to...
22014 (le_op1_op2_relation): ...here.
22015 (operator_gt::op1_op2_relation): Abstract code to...
22016 (gt_op1_op2_relation): ...here.
22017 (operator_ge::op1_op2_relation): Abstract code to...
22018 (ge_op1_op2_relation): ...here.
22019 (class range_op_table): Move to range-op.h.
22020 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
22021 (not_equal_op1_op2_relation): Same.
22022 (lt_op1_op2_relation): Same.
22023 (le_op1_op2_relation): Same.
22024 (gt_op1_op2_relation): Same.
22025 (ge_op1_op2_relation): Same.
22026 (enum bool_range_state): Same.
22027 (get_bool_state): Same.
22028 (empty_range_varying): Same.
22029 (relop_early_resolve): Same.
22030 (class range_op_table): Same.
22031 * range.h (range_true): Same.
22032 (range_false): Same.
22033 (range_true_and_false): Same.
22035 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22037 * gimple-fold.cc (size_must_be_zero_p): Use reference
22039 * gimple-ssa-evrp-analyze.cc
22040 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
22041 intersect to legacy_verbose_intersect.
22042 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
22044 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
22045 instead of value_range_equiv.
22046 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
22047 instead of pointer.
22048 (find_case_label_range): Same.
22049 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
22050 (value_range_equiv::legacy_verbose_intersect): ...this.
22051 (value_range_equiv::union_): Rename to...
22052 (value_range_equiv::legacy_verbose_union_): ...this.
22053 * value-range-equiv.h (class value_range_equiv): Rename union and
22054 intersect to legacy_verbose_{intersect,union}.
22055 * value-range.cc (irange::union_): Rename to...
22056 (irange::legacy_verbose_union_): ...this.
22057 (irange::intersect): Rename to...
22058 (irange::legacy_verbose_intersect): ...this.
22059 * value-range.h (irange::union_): Rename union_ to
22060 legacy_verbose_union.
22061 (irange::intersect): Rename intersect to legacy_verbose_intersect.
22062 * vr-values.cc (vr_values::update_value_range): Same.
22063 (vr_values::extract_range_for_var_from_comparison_expr): Same.
22064 (vr_values::extract_range_from_cond_expr): Rename union_ to
22065 legacy_verbose_union.
22066 (vr_values::extract_range_from_phi_node): Same.
22068 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22070 * gimple-ssa-evrp-analyze.cc
22071 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
22073 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
22074 * ipa-prop.cc (ipcp_update_vr): Same.
22075 * tree-inline.cc (remap_ssa_name): Same.
22076 * tree-ssa-copy.cc (fini_copy_prop): Same.
22077 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
22078 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
22079 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
22080 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
22081 * tree-ssa-strlen.cc (set_strlen_range): Same.
22082 (strlen_pass::handle_builtin_string_cmp): Same.
22083 * tree-ssanames.cc (set_range_info): Make static.
22084 (duplicate_ssa_name_range_info): Make static and add a new variant
22085 calling the static.
22086 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
22087 (duplicate_ssa_name_range_info): Remove version taking a
22088 range_info_def and replace with a version taking SSA names.
22089 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
22091 (vect_do_peeling): Same.
22092 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
22093 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
22095 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22097 * value-range.h (irange::irange): Use set_undefined.
22099 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
22101 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
22102 irange::intersect (wide_int, wide_int).
22103 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
22104 (adjust_imagpart_expr): Same.
22105 * value-range.h (irange::intersect (wide_int, wide_int)): Make
22108 2022-04-29 Richard Biener <rguenther@suse.de>
22110 PR tree-optimization/104322
22111 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
22113 2022-04-29 Richard Biener <rguenther@suse.de>
22115 PR middle-end/105376
22116 * tree.cc (build_real): Special case dconst* arguments
22117 for decimal floating point types.
22119 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22121 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
22122 Environments): New section.
22124 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22126 * doc/gcov-tool.texi: Document merge-stream subcommand.
22127 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
22128 subcommand of gcov-tool.
22129 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
22130 (print_merge_stream_usage_message): New.
22131 (merge_stream_usage): Likewise.
22132 (do_merge_stream): Likewise.
22133 (print_usage): Call print_merge_stream_usage_message().
22134 (main): Call do_merge_stream() to execute merge-stream subcommand.
22136 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22138 * gcov-io.cc (gcov_file_error): New enum.
22139 (gcov_var): Use gcov_file_error enum for the error member.
22140 (gcov_open): Use GCOV_FILE_NO_ERROR.
22141 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
22142 (gcov_write): Likewise.
22143 (gcov_write_unsigned): Likewise.
22144 (gcov_write_string): Likewise.
22145 (gcov_read_bytes): Set error code if EOF is reached.
22146 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
22148 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22150 * gcov-io.cc (GCOV_MODE_STDIN): Define.
22151 (gcov_position): For gcov-tool, return calculated position if file is
22153 (gcov_open): For gcov-tool, use stdin if filename is NULL.
22154 (gcov_close): For gcov-tool, do not close stdin.
22155 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
22156 (gcov_sync): For gcov-tool, discard input if file is stdin.
22158 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22160 * doc/invoke.texi (fprofile-info-section): Mention
22161 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
22162 standard language. Fix minor example code issues.
22163 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
22165 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22167 * gcov-io.cc (gcov_seek): Make it static.
22168 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
22170 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22172 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
22173 (gcov_output_files): Open files for reading and writing.
22175 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22177 * gcov-io.cc (gcov_open): Always use the mode parameter.
22178 * gcov-io.h (gcov_open): Declare it unconditionally.
22180 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
22182 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
22183 (profile_merge): Allow merging of directories which contain no profile
22186 2022-04-28 David Malcolm <dmalcolm@redhat.com>
22188 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
22191 2022-04-28 Jakub Jelinek <jakub@redhat.com>
22193 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
22194 temporary only if out overlaps compare_op, not when it overlaps
22197 2022-04-28 Jakub Jelinek <jakub@redhat.com>
22200 * cgraph.cc (cgraph_node::verify_node): Don't verify
22201 semantic_interposition flag against
22202 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
22204 2022-04-28 Jakub Jelinek <jakub@redhat.com>
22207 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
22208 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
22211 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
22213 * doc/install.texi (Configuration): Remove misleading text
22214 around LE PowerPC Linux multilibs.
22216 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22219 * doc/install.texi (Tools/packages necessary for building GCC)
22220 (GDC): Document libphobos requirement.
22221 (Host/target specific installation notes for GCC, *-*-solaris2*):
22222 Document libphobos and GDC specifics.
22224 2022-04-28 Richard Biener <rguenther@suse.de>
22226 PR tree-optimization/105219
22227 * tree-vect-loop.cc (vect_transform_loop): Disable
22228 special code narrowing the vectorized epilogue max
22229 iterations when peeling for alignment or gaps was in effect.
22231 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
22233 * config/loongarch/loongarch.cc
22234 (loongarch_flatten_aggregate_field): Ignore empty fields for
22237 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
22239 * config/loongarch/loongarch.md: Add fdiv define_expand template,
22240 then generate floating-point division and floating-point reciprocal
22243 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
22245 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
22246 to PLV instruction templates.
22248 2022-04-27 Richard Biener <rguenther@suse.de>
22250 PR middle-end/104492
22251 * gimple-ssa-warn-access.cc
22252 (pass_waccess::warn_invalid_pointer): Exclude equality compare
22253 diagnostics for all kind of invalidations.
22254 (pass_waccess::check_dangling_uses): Fix post-dominator query.
22255 (pass_waccess::check_pointer_uses): Likewise.
22257 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
22260 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
22262 * config/s390/s390.cc (s390_single_field_struct_p): New function.
22263 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
22264 (s390_function_arg_float): Likewise.
22266 2022-04-27 Jakub Jelinek <jakub@redhat.com>
22268 PR sanitizer/105396
22269 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
22270 where offset is bigger than off but smaller than m_prev_offset + 32
22271 bits by pushing one or more 0 bytes. Sink the
22272 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
22273 all cases to the end of the function.
22275 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
22278 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
22281 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
22283 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
22284 data-share memory exhausted" error more verbose.
22286 2022-04-26 Martin Liska <mliska@suse.cz>
22289 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
22290 (run_gcc): Parse OPT_fdiagnostics_urls_.
22291 (main): Initialize global_dc.
22293 2022-04-26 Jakub Jelinek <jakub@redhat.com>
22295 PR rtl-optimization/105314
22296 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
22297 operand is equal to if_info->x, instead use the non-zero operand
22298 as one of the operands of AND with if_info->x as target.
22300 2022-04-26 Jakub Jelinek <jakub@redhat.com>
22302 PR tree-optimization/105374
22303 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
22304 !fold_convertible_p rather than assuming fold_convert must succeed.
22306 2022-04-26 Jakub Jelinek <jakub@redhat.com>
22309 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
22310 el_mode == DFmode ? double_type_node : float_type_node instead of
22311 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
22313 2022-04-25 David Malcolm <dmalcolm@redhat.com>
22316 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
22317 the location of new_stmt in all places that don't already set it,
22318 whether explicitly, or via a call to gsi_replace.
22320 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
22322 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
22324 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
22326 PR tree-optimization/105276
22327 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
22328 existing global range with calculated value.
22330 2022-04-25 Richard Biener <rguenther@suse.de>
22332 PR tree-optimization/105368
22333 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
22335 2022-04-25 Richard Biener <rguenther@suse.de>
22337 PR tree-optimization/100810
22338 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
22339 (find_ssa_undef): New function.
22340 (add_candidate_1): Avoid adding derived candidates with
22341 undefined SSA names and mark the original ones.
22342 (determine_group_iv_cost_generic): Reject rewriting
22343 uses with a different IV when that involves undefined SSA names.
22345 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
22348 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
22349 bsd_libc_has_function.
22350 * targhooks.cc (bsd_libc_has_function): New function.
22351 Expand the supported math functions to inclue C99 libm.
22352 * targhooks.h (bsd_libc_has_function): New Prototype.
22354 2022-04-25 Richard Biener <rguenther@suse.de>
22356 PR rtl-optimization/105231
22357 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
22358 with landing pad > 0 is from i3. Put any REG_EH_REGION note
22359 on i3 or drop it if the insn can not trap.
22360 (try_combine): Ensure that we can merge REG_EH_REGION notes
22361 with non-call exceptions. Ensure we are not splitting a
22362 trapping part of an insn with non-call exceptions when there
22363 is any REG_EH_REGION note to preserve.
22365 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
22368 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
22369 Add parentheses for parameters and djust format.
22370 (_mm512_mask_scalef_round_pd): Ditto.
22371 (_mm512_maskz_scalef_round_pd): Ditto.
22372 (_mm512_scalef_round_ps): Ditto.
22373 (_mm512_mask_scalef_round_ps): Ditto.
22374 (_mm512_maskz_scalef_round_ps): Ditto.
22375 (_mm_scalef_round_sd): Use _mm_undefined_pd.
22376 (_mm_scalef_round_ss): Use _mm_undefined_ps.
22377 (_mm_mask_scalef_round_sd): New macro.
22378 (_mm_mask_scalef_round_ss): Ditto.
22379 (_mm_maskz_scalef_round_sd): Ditto.
22380 (_mm_maskz_scalef_round_ss): Ditto.
22382 2022-04-23 Jakub Jelinek <jakub@redhat.com>
22385 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
22386 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
22389 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
22392 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
22393 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
22394 (pack<mode>_hard for FMOVE128): ... this...
22395 (pack<mode>_soft for FMOVE128): ... and this.
22397 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
22399 * doc/extend.texi: Correct "This" to "These".
22401 2022-04-22 Jakub Jelinek <jakub@redhat.com>
22403 PR rtl-optimization/105333
22404 * rtlanal.cc (replace_rtx): Use simplify_subreg or
22405 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
22408 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
22412 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
22413 the "Z" alternatives in {l,st}{f,xs}iwzx.
22414 (zero_extendhi<mode>2 for EXTHI): Ditto.
22415 (zero_extendsi<mode>2 for EXTSI): Ditto.
22416 (*movsi_internal1): Ditto.
22417 (*mov<mode>_internal1 for QHI): Ditto.
22418 (movsd_hardfloat): Ditto.
22420 2022-04-21 Martin Liska <mliska@suse.cz>
22422 * configure.ac: Enable compressed debug sections for mold
22424 * configure: Regenerate.
22426 2022-04-21 Jakub Jelinek <jakub@redhat.com>
22429 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
22432 2022-04-20 Richard Biener <rguenther@suse.de>
22434 PR tree-optimization/104912
22435 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22436 the cost model check to a separate BB to make sure it is
22437 checked first and not combined with other version checks.
22439 2022-04-20 Richard Biener <rguenther@suse.de>
22441 PR tree-optimization/105312
22442 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
22443 VCOND and VCONDU for EQ and NE.
22445 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
22448 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
22449 poly_offset_int to avoid overflow.
22450 (modref_access_node::update2): likewise.
22452 2022-04-20 Jakub Jelinek <jakub@redhat.com>
22455 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
22456 to opt_for_fn (decl, flag_semantic_interposition).
22457 * cgraphclones.cc (cgraph_node::create_clone): Copy over
22458 semantic_interposition flag.
22460 2022-04-19 Sergei Trofimovich <siarheit@google.com>
22462 PR gcov-profile/105282
22463 * value-prof.cc (stream_out_histogram_value): Allow negative counts
22464 on HIST_TYPE_INDIR_CALL.
22466 2022-04-19 Jakub Jelinek <jakub@redhat.com>
22469 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
22470 use gen_raw_REG instead of gen_rtx_REG and copy over also
22471 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
22473 2022-04-19 Richard Biener <rguenther@suse.de>
22475 PR tree-optimization/104010
22476 PR tree-optimization/103941
22477 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
22478 we run into stmts in patterns continue walking those
22479 for uses outside of the vectorized region instead of
22480 marking the lane live.
22482 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
22484 * doc/install.texi <CRIS>: Remove references to removed websites and
22485 adjust for cris-*-elf being the only remaining toolchain.
22487 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
22489 * doc/invoke.texi <CRIS>: Remove references to options for removed
22490 subtarget cris-axis-linux-gnu and tweak wording accordingly.
22492 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
22494 * doc/install.texi (Specific): Adjust mingw-w64 download link.
22496 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
22498 * config/i386/smmintrin.h: Correct target pragma from sse4.1
22499 and sse4.2 to crc32 for crc32 intrinsics.
22501 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
22504 * ctfc.cc (ctf_dvd_ignore_insert): New function.
22505 (ctf_dvd_ignore_lookup): Likewise.
22506 (ctf_add_variable): Keep track of non-defining decl DIEs.
22507 (new_ctf_container): Initialize the new hash-table.
22508 (ctfc_delete_container): Empty hash-table.
22509 * ctfc.h (struct ctf_container): Add new hash-table.
22510 (ctf_dvd_ignore_lookup): New declaration.
22511 (ctf_add_variable): Add additional argument.
22512 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
22513 record for non-defining decl for which a defining decl exists
22515 (ctf_preprocess): Defer updating the number of global objts
22517 (output_ctf_header): Use ctfc_vars_list_count as some CTF
22518 variables may not make it to the final output.
22519 (output_ctf_vars): Likewise.
22520 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
22521 if this is known to be a non-defining decl DIE.
22523 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
22525 * ctfc.h (struct ctf_container): Introduce a new member.
22526 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
22529 2022-04-14 Jakub Jelinek <jakub@redhat.com>
22532 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
22533 or rotates by VOIDmode constant integer shift count use word_mode
22534 for the operand if int_mode is narrower than word.
22536 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
22538 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
22539 (s390_get_unit_mask): Likewise.
22540 (s390_is_fpd): Likewise.
22541 (s390_is_fxd): Likewise.
22542 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
22543 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
22545 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
22547 * config/s390/3931.md: New file.
22549 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
22551 PR tree-optimization/105254
22552 * config/aarch64/aarch64.cc
22553 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
22554 loop_vec_info as argument. Restrict the unroll factor to values
22555 that divide the VF.
22556 (aarch64_vector_costs::finish_cost): Update call accordingly.
22558 2022-04-13 Richard Biener <rguenther@suse.de>
22560 PR tree-optimization/105263
22561 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
22562 negates in multiplication chains with DFP.
22564 2022-04-13 Jakub Jelinek <jakub@redhat.com>
22566 PR middle-end/105253
22567 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
22568 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
22569 comparisons or tree_nop_conversion_p checks.
22571 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
22574 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
22575 Add missing set to target_val at pause label.
22577 2022-04-13 Jakub Jelinek <jakub@redhat.com>
22580 * attribs.cc (decl_attributes): Don't set
22581 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
22584 2022-04-13 Richard Biener <rguenther@suse.de>
22586 PR tree-optimization/105250
22587 * fold-const.cc (fold_convertible_p): Revert
22588 r12-7979-geaaf77dd85c333, instead check for size equality
22589 of the vector types involved.
22591 2022-04-13 Richard Biener <rguenther@suse.de>
22594 2022-04-13 Richard Biener <rguenther@suse.de>
22596 PR tree-optimization/104912
22597 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22598 the cost model check to a separate BB to make sure it is
22599 checked first and not combined with other version checks.
22601 2022-04-13 Richard Biener <rguenther@suse.de>
22603 PR tree-optimization/104912
22604 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
22605 the cost model check to a separate BB to make sure it is
22606 checked first and not combined with other version checks.
22608 2022-04-13 Jakub Jelinek <jakub@redhat.com>
22610 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
22612 2022-04-12 Antoni Boucher <bouanto@zoho.com>
22615 * reginfo.cc: New functions (clear_global_regs_cache,
22616 reginfo_cc_finalize) to avoid an issue where compiling the same
22617 code multiple times gives an error about assigning the same
22618 register to 2 global variables.
22619 * rtl.h: New function (reginfo_cc_finalize).
22620 * toplev.cc: Call it.
22622 2022-04-12 Antoni Boucher <bouanto@zoho.com>
22625 * toplev.cc: Call the new function tree_cc_finalize in
22627 * tree.cc: New functions (clear_nonstandard_integer_type_cache
22628 and tree_cc_finalize) to clear the cache of non-standard integer
22629 types to avoid having issues with some optimizations of
22630 bitcast where the SSA_NAME will have a size of a cached
22631 integer type that should have been invalidated, causing a
22632 comparison of integer constant to fail.
22633 * tree.h: New function (tree_cc_finalize).
22635 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
22638 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
22639 * config/nvptx/nvptx.opt (misa): Adjust comment.
22641 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
22644 2022-03-03 Tom de Vries <tdevries@suse.de>
22646 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
22648 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
22651 2022-03-31 Tom de Vries <tdevries@suse.de>
22653 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
22655 2022-04-12 Richard Biener <rguenther@suse.de>
22658 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
22659 include local escaped memory as obviously necessary stores.
22661 2022-04-12 Richard Biener <rguenther@suse.de>
22663 PR tree-optimization/105235
22664 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
22665 return whether the CFG changed.
22666 (execute_cse_sincos_1): Adjust.
22668 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
22671 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
22672 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
22673 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
22674 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
22675 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
22676 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
22677 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
22679 2022-04-12 Richard Biener <rguenther@suse.de>
22681 PR tree-optimization/105232
22682 * tree.cc (component_ref_size): Bail out for too large
22683 or non-constant sizes.
22685 2022-04-12 Richard Biener <rguenther@suse.de>
22687 PR tree-optimization/105226
22688 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
22689 we can split the exit of an outer loop we choose to version.
22691 2022-04-12 Jakub Jelinek <jakub@redhat.com>
22693 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
22694 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
22695 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
22696 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
22697 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
22699 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
22701 2022-04-12 Jakub Jelinek <jakub@redhat.com>
22704 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
22705 do_pending_stack_adjust.
22707 2022-04-12 Jakub Jelinek <jakub@redhat.com>
22709 PR rtl-optimization/105211
22710 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
22711 fails for TREE_TYPE (arg), retry it with
22712 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
22713 fails, emit call normally.
22715 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
22717 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
22718 * config.gcc: Add z16 as march/mtune switch.
22719 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
22720 Recognize z16 with -march=native.
22721 * config/s390/s390-opts.h (enum processor_type): Rename
22722 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
22723 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
22724 (PROCESSOR_3931_Z16): ... throughout the file.
22725 (s390_processor processor_table): Add z16 as cpu string.
22726 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
22728 (TARGET_CPU_ARCH14): Rename to ...
22729 (TARGET_CPU_Z16): ... this.
22730 (TARGET_CPU_ARCH14_P): Rename to ...
22731 (TARGET_CPU_Z16_P): ... this.
22732 (TARGET_ARCH14): Rename to ...
22733 (TARGET_Z16): ... this.
22734 (TARGET_ARCH14_P): Rename to ...
22735 (TARGET_Z16_P): ... this.
22736 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
22737 check TARGET_Z16 instead of TARGET_ARCH14.
22738 * config/s390/s390.opt: Add z16 to processor_type.
22739 * doc/invoke.texi: Document z16 and arch14.
22741 2022-04-12 chenglulu <chenglulu@loongson.cn>
22743 * config/loongarch/loongarch.cc: Fix bug for
22744 tmpdir-g++.dg-struct-layout-1/t033.
22746 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
22749 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
22750 to longcall functions.
22752 2022-04-11 Jason Merrill <jason@redhat.com>
22754 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
22756 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
22760 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
22762 2022-04-11 Jakub Jelinek <jakub@redhat.com>
22764 PR tree-optimization/105218
22765 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
22766 more than one predecessor or phi's bb more than 2 predecessors,
22767 reset phi result uses instead of adding a debug temp.
22769 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
22772 * config.gcc: Pass -misa-spec to arch-canonicalize and
22773 multilib-generator.
22774 * config/riscv/arch-canonicalize: Adding -misa-spec option.
22775 (SUPPORTED_ISA_SPEC): New.
22776 (arch_canonicalize): New argument `isa_spec`.
22777 Handle multiple ISA spec versions.
22778 * config/riscv/multilib-generator: Adding -misa-spec option.
22780 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
22782 * config/riscv/arch-canonicalize: Add TODO item.
22783 (IMPLIED_EXT): Sync.
22784 (arch_canonicalize): Checking until no change.
22786 2022-04-11 Tamar Christina <tamar.christina@arm.com>
22789 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
22792 2022-04-11 Jason Merrill <jason@redhat.com>
22795 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
22798 2022-04-11 Jakub Jelinek <jakub@redhat.com>
22800 PR tree-optimization/104639
22801 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
22802 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
22805 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
22807 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
22808 sign bit of the source ends up in CC.
22810 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
22813 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
22816 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
22818 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
22819 nondeterministic and side_effects flags.
22821 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
22824 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
22825 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
22826 (TARGET_CPU_MASK): Likewise.
22827 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
22828 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
22829 (aarch64_get_arch): Likewise.
22830 (aarch64_override_options): Use TARGET_CPU_NBITS.
22832 2022-04-08 Richard Biener <rguenther@suse.de>
22834 PR tree-optimization/105198
22835 * tree-predcom.cc (find_looparound_phi): Check whether
22836 the found memory location of the entry value is clobbered
22837 inbetween the value we want to use and loop entry.
22839 2022-04-08 Jakub Jelinek <jakub@redhat.com>
22841 PR tree-optimization/105189
22842 * fold-const.cc (make_range_step): Fix up handling of
22843 (unsigned) x +[low, -] ranges for signed x if low fits into
22846 2022-04-08 Richard Biener <rguenther@suse.de>
22848 PR tree-optimization/105175
22849 * tree-vect-stmts.cc (vectorizable_operation): Suppress
22850 -Wvector-operation-performance if using emulated vectors.
22851 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
22852 -Wvector-operation-performance when suppressed.
22853 (expand_vector_parallel): Likewise.
22854 (expand_vector_comparison): Likewise.
22855 (expand_vector_condition): Likewise.
22856 (lower_vec_perm): Likewise.
22857 (expand_vector_conversion): Likewise.
22859 2022-04-07 Tamar Christina <tamar.christina@arm.com>
22862 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
22863 (aarch64_general_init_builtins): Move LS64 code.
22864 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
22866 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
22867 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
22869 2022-04-07 Richard Biener <rguenther@suse.de>
22870 Jan Hubicka <hubicka@ucw.cz>
22873 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
22874 ref_may_alias_global_p, ref_may_alias_global_p,
22875 stmt_may_clobber_global_p, pt_solution_includes_global): Add
22876 bool parameters indicating whether escaped locals should be
22878 * tree-ssa-structalias.cc (pt_solution_includes_global):
22879 When the new escaped_nonlocal_p flag is true also consider
22880 pt->vars_contains_escaped.
22881 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
22882 Pass down new escaped_nonlocal_p flag.
22883 (ref_may_alias_global_p): Likewise.
22884 (stmt_may_clobber_global_p): Likewise.
22885 (ref_may_alias_global_p_1): Likewise. For decls also
22886 query the escaped solution if true.
22887 (ref_may_access_global_memory_p): Remove.
22888 (modref_may_conflict): Use ref_may_alias_global_p with
22889 escaped locals considered global.
22890 (ref_maybe_used_by_stmt_p): Adjust.
22891 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
22893 * tree-ssa-dse.cc (dse_classify_store): Likewise.
22894 * trans-mem.cc (thread_private_new_memory): Likewise, but
22895 consider escaped locals global.
22896 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
22898 2022-04-07 Richard Biener <rguenther@suse.de>
22900 PR tree-optimization/105185
22901 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
22902 modref query again.
22904 2022-04-07 Tamar Christina <tamar.christina@arm.com>
22907 * config/aarch64/aarch64-simd.md
22908 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
22909 (reduc_plus_scal_<mode>): ... This.
22910 (reduc_plus_scal_v4sf): Moved.
22911 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
22912 (reduc_plus_scal_v2si): ... This.
22914 2022-04-07 Jakub Jelinek <jakub@redhat.com>
22916 PR tree-optimization/102586
22917 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
22919 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
22920 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
22921 * gimple-fold.cc (clear_padding_type): Use ftype instead of
22922 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
22923 name try the lang_hooks.types.classtype_as_base langhook and
22924 if it returns non-NULL, use that instead of ftype for recursive call.
22926 2022-04-07 Jakub Jelinek <jakub@redhat.com>
22928 PR tree-optimization/105150
22929 * tree.cc (tree_builtin_call_types_compatible_p): New function.
22930 (get_call_combined_fn): Use it.
22932 2022-04-07 Richard Biener <rguenther@suse.de>
22934 PR middle-end/105165
22935 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
22938 2022-04-07 liuhongt <hongtao.liu@intel.com>
22940 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
22942 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
22944 (<code><mode>3<mask_name>): Ditto.
22945 (*<code><mode>3<mask_name>): Ditto.
22946 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
22951 2022-04-06 Jakub Jelinek <jakub@redhat.com>
22953 PR rtl-optimization/104985
22954 * combine.cc (struct undo): Add where.regno member.
22955 (do_SUBST_MODE): Rename to ...
22956 (subst_mode): ... this. Change first argument from rtx * into int,
22957 operate on regno_reg_rtx[regno] and save regno into where.regno.
22958 (SUBST_MODE): Remove.
22959 (try_combine): Use subst_mode instead of SUBST_MODE, change first
22960 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
22961 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
22962 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
22963 instead of *undo->where.r.
22964 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
22965 argument from regno_reg_rtx[whatever] to whatever.
22967 2022-04-06 Jakub Jelinek <jakub@redhat.com>
22970 * config/sh/sh.opt (mdiv=): Add Save.
22972 2022-04-06 Martin Liska <mliska@suse.cz>
22975 * common.opt: Document properly based on what it does.
22976 * gcc.cc (display_help): Unify with what we have in common.opt.
22977 * opts.cc (common_handle_option): Do not print undocumented
22980 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
22982 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
22983 cxx17_empty_base_field_p fields and set an indicator.
22984 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
22985 (mips_function_value_1): Inform psABI change about C++17 empty
22988 2022-04-06 Jakub Jelinek <jakub@redhat.com>
22990 PR tree-optimization/105150
22991 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
22992 builtin_decl_explicit here...
22993 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
22996 2022-04-06 Richard Biener <rguenther@suse.de>
22998 PR tree-optimization/105173
22999 * tree-ssa-reassoc.cc (find_insert_point): Get extra
23000 insert_before output argument and compute it.
23001 (insert_stmt_before_use): Adjust.
23002 (rewrite_expr_tree): Likewise.
23004 2022-04-06 Richard Biener <rguenther@suse.de>
23007 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
23008 out for non-pointer arguments.
23010 2022-04-06 Richard Biener <rguenther@suse.de>
23012 PR tree-optimization/105163
23013 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
23016 2022-04-06 Jakub Jelinek <jakub@redhat.com>
23018 PR tree-optimization/105150
23019 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
23020 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
23021 preferrably on builtin_decl_explicit decl rather than fndecl.
23022 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
23023 gimple_builtin_call_types_compatible_p here.
23025 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
23027 PR tree-optimization/103761
23028 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
23029 the ncopies parameter with an slp_node parameter. Calculate the
23030 number of vectors based on it and vectype. Rename lambda to
23031 group_memory_nvectors.
23032 (vectorizable_store, vectorizable_load): Update calls accordingly.
23034 2022-04-06 Martin Liska <mliska@suse.cz>
23036 * doc/invoke.texi: Document it.
23038 2022-04-06 Richard Biener <rguenther@suse.de>
23040 PR tree-optimization/105148
23041 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
23042 2 and 3 of ARRAY_REFs.
23044 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
23046 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
23047 (*andnottf3): Replace with...
23048 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
23050 2022-04-06 Richard Biener <rguenther@suse.de>
23052 PR tree-optimization/105142
23053 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
23054 basic-block parameter.
23055 (maybe_fold_or_comparisons): Likewise.
23056 * gimple-fold.cc (follow_outer_ssa_edges): New.
23057 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
23058 when an outer condition basic-block is specified.
23059 (and_comparisons_1, and_var_with_comparison,
23060 and_var_with_comparison_1, or_comparisons_1,
23061 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
23062 down the outer condition basic-block.
23063 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
23064 basic-block of the outer condition.
23066 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
23069 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
23070 comparison codes UNLT/UNLE/UNGT/UNGE.
23072 2022-04-05 David Malcolm <dmalcolm@redhat.com>
23074 * doc/extend.texi (Common Function Attributes): Document that
23075 'access' does not imply 'nonnull'.
23077 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
23080 * config/i386/mmx.md (*movv2qi_internal):
23081 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
23083 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
23085 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
23086 define_expand and turn operands 0 and 1 from REGs to MEMs.
23087 (*aarch64_cpymemdi): New pattern.
23088 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
23089 from a REG to a MEM.
23090 (*aarch64_setmemdi): New pattern.
23091 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
23092 copy_to_mode_reg on all three registers. Replace the original
23093 MEM addresses rather than creating wild reads and writes.
23094 (aarch64_expand_setmem_mops): Likewise for the size and for the
23095 destination memory and address.
23097 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
23100 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
23101 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
23102 from aarch64_simd_switcher.
23103 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
23105 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
23106 (register_tuple_type): Add more asserts. Expect the alignment
23107 of the structure to be subject to flag_pack_struct and
23108 maximum_field_alignment. Set aarch64_simd_tuple_modes.
23109 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
23110 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
23111 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
23112 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
23113 while calling aarch64_init_simd_builtins.
23114 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
23115 (sve_switcher::~sve_switcher): Remove code now performed by
23116 aarch64_simd_switcher.
23118 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
23121 * config/aarch64/aarch64-sve-builtins.cc
23122 (function_resolver::infer_vector_or_tuple_type): Use error_n
23123 for "%d vectors" messages.
23125 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
23127 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
23128 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
23131 2022-04-05 Richard Biener <rguenther@suse.de>
23134 * passes.def (pass_walloca): Move early instance into
23135 pass_build_ssa_passes to make SSA form available.
23137 2022-04-05 liuhongt <hongtao.liu@intel.com>
23140 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
23142 (ix86_reorg): Call ix86_split_stlf_stall_load.
23143 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
23146 2022-04-05 Alexandre Oliva <oliva@adacore.com>
23148 * targhooks.cc (default_zero_call_used_regs): Attempt to group
23149 regs that the target refuses to use in their natural modes.
23150 (zcur_select_mode_rtx): New.
23151 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
23152 (hard_regno_max_nregs): Define.
23153 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
23155 2022-04-04 Alex Coplan <alex.coplan@arm.com>
23157 * doc/match-and-simplify.texi: Fix typos.
23159 2022-04-04 Jakub Jelinek <jakub@redhat.com>
23162 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
23163 only if configured with --enable-maintainer-mode, otherwise compare
23164 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
23165 if they differ, emit a message and fail.
23167 2022-04-04 Jakub Jelinek <jakub@redhat.com>
23170 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
23171 * config/aarch64/aarch64-tune.md: Regenerated.
23173 2022-04-04 Richard Biener <rguenther@suse.de>
23175 PR tree-optimization/105132
23176 * tree-vect-stmts.cc (vectorizable_operation): Check that
23177 the input vectors have the same number of elements.
23179 2022-04-04 Richard Biener <rguenther@suse.de>
23181 PR middle-end/105140
23182 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
23184 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
23187 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
23188 (delay slot descripts): Use different delay slot description when
23189 the insn as the "bbi" attribute.
23190 (bbi, bbin patterns): Set the bbi attribute to yes.
23192 2022-04-03 Jakub Jelinek <jakub@redhat.com>
23195 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
23196 using word as target for expand_simple_binop when doing ASHIFT and
23199 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
23201 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
23202 NULL before dereferencing it.
23204 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
23206 * config/i386/i386.cc (zero_all_st_registers): Return the value of
23208 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
23209 the return value of zero_all_st_registers.
23210 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
23211 * function.cc (gen_call_used_regs_seq): Add an assertion.
23212 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
23214 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
23217 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
23218 fields, and inform if it causes a psABI change.
23220 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
23223 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
23224 zero-width bit-fields and set up an indicator.
23225 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
23226 (mips_function_value_1): Diagnose when the presense of a C++
23227 zero-width bit-field changes function returning in GCC 12.
23229 2022-04-01 Jakub Jelinek <jakub@redhat.com>
23231 PR tree-optimization/104645
23232 * tree-ssa-phiopt.cc (value_replacement): If assign has
23233 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
23234 statement with constant evaluation.
23236 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
23238 * config/mips/mips.cc (mips_expand_prologue):
23239 IPL is 8bit for MCU ASE.
23241 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
23244 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
23245 (MTFSB0): Likewise.
23246 (MTFSB1): Likewise.
23247 (SET_FPSCR_RN): Likewise.
23248 (SET_FPSCR_DRN): Mark nosoft and no32bit.
23250 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
23252 * doc/options.texi (Option file format): Clarifications around
23253 option definition records' help texts.
23255 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
23257 * optc-gen.awk <END>: Fix "Multiple different help strings" error
23260 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
23262 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
23263 determine_suggested_unroll_factor and m_has_avg.
23264 (determine_suggested_unroll_factor): New function.
23265 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
23266 to set m_nosve_pattern.
23267 (aarch64_vector_costs::finish_costs): Use
23268 determine_suggested_unroll_factor.
23269 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
23270 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
23272 2022-03-31 Martin Jambor <mjambor@suse.cz>
23275 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
23276 (ipa_get_jf_ancestor_keep_null): New function.
23277 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
23279 (compute_complex_assign_jump_func): Pass false to keep_null
23280 parameter of ipa_set_ancestor_jf.
23281 (compute_complex_ancestor_jump_func): Pass true to keep_null
23282 parameter of ipa_set_ancestor_jf.
23283 (update_jump_functions_after_inlining): Carry over keep_null from the
23284 original ancestor jump-function or merge them.
23285 (ipa_write_jump_function): Stream keep_null flag.
23286 (ipa_read_jump_function): Likewise.
23287 (ipa_print_node_jump_functions_for_edge): Print the new flag.
23288 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
23289 member function known_nonzero_p.
23290 (ipcp_bits_lattice::known_nonzero_p): New.
23291 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
23293 (ipcp_bits_lattice::meet_with): Likewise.
23294 (propagate_bits_across_jump_function): Simplify. Pass true in
23295 drop_all_ones when it is necessary.
23296 (propagate_aggs_across_jump_function): Take care of keep_null
23298 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
23301 2022-03-31 Martin Jambor <mjambor@suse.cz>
23304 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
23305 which do not fit the known value_range.
23307 2022-03-31 Martin Jambor <mjambor@suse.cz>
23310 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
23311 always when an ADDR_EXPR constant is known to reach a load because
23312 of inlining, not just when removing an ADDR reference.
23314 2022-03-31 Richard Biener <rguenther@suse.de>
23316 PR tree-optimization/105109
23317 * tree-ssa.cc (execute_update_addresses_taken): Suppress
23318 diagnostics on the load of the other complex component.
23320 2022-03-31 Tom de Vries <tdevries@suse.de>
23322 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
23324 2022-03-31 Richard Biener <rguenther@suse.de>
23326 PR rtl-optimization/105091
23327 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
23330 2022-03-31 Richard Biener <rguenther@suse.de>
23333 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
23336 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
23337 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
23339 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
23341 * gcov-io.cc (gcov_read_string): Reword documentation comment.
23343 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
23345 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
23347 (NEG_V4SF): Likewise.
23348 (NEG_V4SI): Likewise.
23349 (NEG_V8HI): Likewise.
23350 (NEG_V2DF): Move to [vsx] stanza.
23351 (NEG_V2DI): Likewise.
23353 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
23355 PR middle-end/105032
23356 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
23358 2022-03-30 Tom de Vries <tdevries@suse.de>
23359 Tobias Burnus <tobias@codesourcery.com>
23361 * doc/invoke.texi (march): Document __PTX_SM__.
23362 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
23363 __PTX_ISA_VERSION_MINOR__.
23365 2022-03-30 Jakub Jelinek <jakub@redhat.com>
23367 PR sanitizer/105093
23368 * ubsan.cc (instrument_object_size): If t is equal to inner and
23369 is a decl other than global var, punt. When emitting call to
23370 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
23372 2022-03-30 Jakub Jelinek <jakub@redhat.com>
23374 PR tree-optimization/105094
23375 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
23376 bitsize <= 0 rather than just == 0.
23378 2022-03-30 Tom de Vries <tdevries@suse.de>
23380 * doc/invoke.texi (misa, mptx): Update.
23381 (march, march-map): Add.
23383 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
23385 * opt-functions.awk (n_args): New function.
23386 (lang_enabled_by): Merge function into...
23387 * optc-gen.awk <END>: ... sole user here.
23388 Improve diagnostics.
23390 2022-03-29 Marek Polacek <polacek@redhat.com>
23391 Jakub Jelinek <jakub@redhat.com>
23393 PR middle-end/103597
23394 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
23395 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
23396 (gimplify_cond_expr): Set UNUSED_LABEL_P.
23397 * tree.h (UNUSED_LABEL_P): New.
23399 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
23401 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
23402 be any VSX register.
23404 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
23407 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
23408 zero-sized bit-fields. Detect cases where a warning may be needed.
23409 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
23410 zero-sized bit-field has caused parameter passing to change.
23412 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
23415 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
23416 bit-fields. Detect cases where a warning may be needed.
23417 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
23418 a zero-sized bit-field has caused parameter passing to change.
23420 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
23423 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
23424 ARM_PCS_AAPCS_LOCAL.
23426 2022-03-29 Tom de Vries <tdevries@suse.de>
23429 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
23430 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
23431 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
23432 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
23434 2022-03-29 Tom de Vries <tdevries@suse.de>
23436 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
23439 2022-03-29 Tom de Vries <tdevries@suse.de>
23442 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
23444 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
23446 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
23447 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
23448 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
23449 (TARGET_USE_GATHER_4PARTS): New macro.
23450 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
23451 (X86_TUNE_USE_GATHER_4PARTS): New tune
23453 2022-03-29 Tom de Vries <tdevries@suse.de>
23455 * config/nvptx/nvptx.opt (march): Add alias of misa.
23457 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23458 Lulu Cheng <chenglulu@loongson.cn>
23460 * doc/install.texi: Add LoongArch options section.
23461 * doc/invoke.texi: Add LoongArch options section.
23462 * doc/md.texi: Add LoongArch options section.
23464 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23465 Lulu Cheng <chenglulu@loongson.cn>
23467 * config/loongarch/loongarch-c.cc
23469 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23470 Lulu Cheng <chenglulu@loongson.cn>
23472 * config/loongarch/larchintrin.h: New file.
23473 * config/loongarch/loongarch-builtins.cc: New file.
23475 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23476 Lulu Cheng <chenglulu@loongson.cn>
23478 * config/host-linux.cc: Add LoongArch support.
23479 * config/loongarch/loongarch-protos.h: New file.
23480 * config/loongarch/loongarch-tune.h: Likewise.
23481 * config/loongarch/loongarch.cc: Likewise.
23482 * config/loongarch/loongarch.h: Likewise.
23484 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23485 Lulu Cheng <chenglulu@loongson.cn>
23487 * config/loongarch/constraints.md: New file.
23488 * config/loongarch/generic.md: New file.
23489 * config/loongarch/la464.md: New file.
23490 * config/loongarch/loongarch-ftypes.def: New file.
23491 * config/loongarch/loongarch-modes.def: New file.
23492 * config/loongarch/loongarch.md: New file.
23493 * config/loongarch/predicates.md: New file.
23494 * config/loongarch/sync.md: New file.
23496 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23497 Lulu Cheng <chenglulu@loongson.cn>
23499 * configure: Regenerate file.
23501 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
23502 Lulu Cheng <chenglulu@loongson.cn>
23504 * common/config/loongarch/loongarch-common.cc: New file.
23505 * config/loongarch/genopts/genstr.sh: New file.
23506 * config/loongarch/genopts/loongarch-strings: New file.
23507 * config/loongarch/genopts/loongarch.opt.in: New file.
23508 * config/loongarch/loongarch-str.h: New file.
23509 * config/loongarch/gnu-user.h: New file.
23510 * config/loongarch/linux.h: New file.
23511 * config/loongarch/loongarch-cpu.cc: New file.
23512 * config/loongarch/loongarch-cpu.h: New file.
23513 * config/loongarch/loongarch-def.c: New file.
23514 * config/loongarch/loongarch-def.h: New file.
23515 * config/loongarch/loongarch-driver.cc: New file.
23516 * config/loongarch/loongarch-driver.h: New file.
23517 * config/loongarch/loongarch-opts.cc: New file.
23518 * config/loongarch/loongarch-opts.h: New file.
23519 * config/loongarch/loongarch.opt: New file.
23520 * config/loongarch/t-linux: New file.
23521 * config/loongarch/t-loongarch: New file.
23522 * config.gcc: Add LoongArch support.
23523 * configure.ac: Add LoongArch support.
23525 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
23527 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
23530 2022-03-29 Richard Biener <rguenther@suse.de>
23532 PR tree-optimization/105080
23533 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
23536 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
23538 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
23539 (output_ctf_vars): Likewise.
23541 2022-03-28 Jason Merrill <jason@redhat.com>
23544 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
23546 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
23549 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
23552 2022-03-28 Tom de Vries <tdevries@suse.de>
23555 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
23556 * config/nvptx/nvptx-gen.opt: Regenerate.
23557 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
23558 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
23561 2022-03-28 David Malcolm <dmalcolm@redhat.com>
23564 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
23565 to loads then stores, set the location of the new load stmt.
23567 2022-03-28 Richard Biener <rguenther@suse.de>
23569 PR tree-optimization/105070
23570 * tree-switch-conversion.h
23571 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
23573 * tree-switch-conversion.cc
23574 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
23575 cond with location.
23576 (bit_test_cluster::emit): Annotate all generated expressions
23579 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
23581 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
23583 2022-03-28 liuhongt <hongtao.liu@intel.com>
23586 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
23587 alternative 4 from sse4_noavx to noavx.
23589 2022-03-28 Jakub Jelinek <jakub@redhat.com>
23591 PR tree-optimization/105056
23592 * tree-predcom.cc (component::component): Initialize also comp_step.
23594 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
23597 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
23600 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
23602 PR middle-end/104885
23603 * calls.cc (mark_stack_region_used): Check that the region
23604 is within the allocated size of stack_usage_map.
23606 2022-03-26 Jakub Jelinek <jakub@redhat.com>
23608 PR rtl-optimization/103775
23609 * recog.cc (check_invalid_inc_dec): New function.
23610 (insn_invalid_p): Return 1 if REG_INC operand overlaps
23613 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
23616 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
23617 (aes<aesklvariant>u8): Likewise.
23619 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
23622 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
23623 Replace "Yv" with "x".
23624 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
23625 (ssse3_psign<mode>3): Likewise.
23627 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
23629 * reload.cc (find_reloads): Align comment with code where
23630 considering the intersection of register classes then tweaking the
23631 regclass for the current alternative or rejecting it.
23633 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
23637 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
23639 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
23640 (mve_vec_unpack<US>_hi_<mode>): Delete.
23641 (@mve_vec_pack_trunc_lo_<mode>): Delete.
23642 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
23643 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
23644 from vec-common.md.
23645 (vec_unpack<US>_lo_<mode>): Likewise.
23646 (vec_pack_trunc_<mode>): Rename from
23647 neon_quad_vec_pack_trunc_<mode>.
23648 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
23649 (vec_unpack<US>_lo_<mode>): Delete.
23650 (vec_pack_trunc_<mode>): Delete.
23652 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
23654 PR middle-end/104971
23655 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
23656 regs to clear remove_p flag.
23658 2022-03-25 Richard Biener <rguenther@suse.de>
23660 PR tree-optimization/105053
23661 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
23662 the correct live-out stmt for a reduction chain.
23664 2022-03-25 Richard Biener <rguenther@suse.de>
23666 PR middle-end/105049
23667 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
23668 CONSTRUCTOR first elements.
23670 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
23673 * doc/invoke.texi (Static Analyzer Options): Move
23674 @ignore block after @gccoptlist's '}' for 'make pdf'.
23676 2022-03-25 David Malcolm <dmalcolm@redhat.com>
23679 * doc/invoke.texi (Static Analyzer Options): Add
23680 -fdump-analyzer-untracked.
23682 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
23685 * doc/invoke.texi: Document that enabling taint analyzer
23686 checker disables some warnings from `-fanalyzer`.
23688 2022-03-24 Alexandre Oliva <oliva@adacore.com>
23691 * gimple-harden-conditionals.cc (detach_value): Keep temps
23694 2022-03-24 Alexandre Oliva <oliva@adacore.com>
23696 PR middle-end/104975
23697 * gimple-harden-conditionals.cc
23698 (pass_harden_compares::execute): Force split in case of
23701 2022-03-24 Jakub Jelinek <jakub@redhat.com>
23704 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
23705 field0 or field1 is not a FIELD_DECL, return false.
23707 2022-03-24 Richard Biener <rguenther@suse.de>
23709 * tree-predcom.cc (chain::chain): Add CTOR.
23710 (component::component): Likewise.
23711 (pcom_worker::release_chain): Use delete.
23712 (release_components): Likewise.
23713 (pcom_worker::filter_suitable_components): Likewise.
23714 (pcom_worker::split_data_refs_to_components): Use new.
23715 (make_invariant_chain): Likewise.
23716 (make_rooted_chain): Likewise.
23717 (pcom_worker::combine_chains): Likewise.
23718 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
23719 Make sure to release previously constructed scalar_results.
23720 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
23722 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
23723 Release m_flag_set_edges.
23725 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
23727 PR tree-optimization/104970
23728 * tree-object-size.cc (parm_object_size): Restrict size
23729 computation scenarios to explicit access attributes.
23731 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
23734 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
23737 2022-03-23 Richard Biener <rguenther@suse.de>
23740 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
23741 use of movmisalign when either the source or destination
23742 decl is properly aligned.
23744 2022-03-23 Richard Biener <rguenther@suse.de>
23746 PR rtl-optimization/105028
23747 * ira-color.cc (form_threads_from_copies): Remove unnecessary
23748 copying of the sorted_copies tail.
23750 2022-03-23 Martin Liska <mliska@suse.cz>
23752 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
23754 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
23755 Reword the error message.
23757 2022-03-23 liuhongt <hongtao.liu@intel.com>
23760 * config/i386/sse.md (ssePSmodelower): New.
23761 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
23762 lowpart_subreg to avoid NULL_RTX.
23763 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
23764 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
23765 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
23766 <avx512>_<complexopname>_<mode>_mask<round_name>,
23767 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
23768 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
23769 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
23770 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
23771 float<floatunssuffix><mode>v4hf2,
23772 float<floatunssuffix>v2div2hf2,
23773 fix<fixunssuffix>_truncv4hf<mode>2,
23774 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
23776 trunc<mode>v4hf2,truncv2dfv2hf2,
23777 *avx512bw_permvar_truncv16siv16hi_1,
23778 *avx512bw_permvar_truncv16siv16hi_1_hf,
23779 *avx512f_permvar_truncv8siv8hi_1,
23780 *avx512f_permvar_truncv8siv8hi_1_hf,
23781 *avx512f_vpermvar_truncv8div8si_1,
23782 *avx512f_permvar_truncv32hiv32qi_1,
23783 *avx512f_permvar_truncv16hiv16qi_1,
23784 *avx512f_permvar_truncv4div4si_1,
23785 *avx512f_pshufb_truncv8hiv8qi_1,
23786 *avx512f_pshufb_truncv4siv4hi_1,
23787 *avx512f_pshufd_truncv2div2si_1,
23788 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
23789 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
23791 2022-03-22 Tom de Vries <tdevries@suse.de>
23794 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
23795 Use % as register prefix.
23797 2022-03-22 Tom de Vries <tdevries@suse.de>
23799 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
23800 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
23803 2022-03-22 Tom de Vries <tdevries@suse.de>
23805 * config/nvptx/nvptx.opt (mexperimental): New option.
23807 2022-03-22 Tom de Vries <tdevries@suse.de>
23810 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
23811 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
23813 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
23814 (nvptx_asm_output_def_from_decls): New function.
23815 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
23816 gcc_unreachable ().
23817 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
23818 nvptx_asm_output_def_from_decls.
23819 * config/nvptx/nvptx.opt (malias): New opt.
23821 2022-03-22 Tom de Vries <tdevries@suse.de>
23825 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
23826 sync (or uniform warp check for mptx < 6.0).
23828 2022-03-22 Richard Biener <rguenther@suse.de>
23830 PR tree-optimization/105012
23831 * tree-if-conv.cc (ifcvt_local_dce): Only call
23832 dse_classify_store when we have a VDEF.
23834 2022-03-22 Martin Liska <mliska@suse.cz>
23837 * config/nvptx/nvptx.cc (handle_ptx_version_option):
23838 Fix option wrapping in an error message.
23840 2022-03-22 Martin Liska <mliska@suse.cz>
23843 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
23844 Wrap const keyword.
23846 2022-03-22 Martin Liska <mliska@suse.cz>
23848 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
23851 2022-03-22 Martin Liska <mliska@suse.cz>
23854 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
23855 Use %qs instead of (%qs).
23857 2022-03-22 Martin Liska <mliska@suse.cz>
23860 * config/i386/i386-options.cc (ix86_option_override_internal):
23861 Use '%qs' instead of '(%qs)'.
23863 2022-03-22 Martin Liska <mliska@suse.cz>
23866 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
23867 Use 'qs' and remove usage '(%qs)'.
23868 (aarch64_handle_attr_cpu): Likewise.
23869 (aarch64_handle_attr_tune): Likewise.
23870 (aarch64_handle_attr_isa_flags): Likewise.
23872 2022-03-22 Tamar Christina <tamar.christina@arm.com>
23873 Andre Vieira <andre.simoesdiasvieira@arm.com>
23875 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
23877 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
23879 (neoverse512tvb_tunings): Likewise.
23881 2022-03-22 Tamar Christina <tamar.christina@arm.com>
23882 Andre Vieira <andre.simoesdiasvieira@arm.com>
23884 * config/aarch64/aarch64.cc (demeter_addrcost_table,
23885 demeter_regmove_cost, demeter_advsimd_vector_cost,
23886 demeter_sve_vector_cost, demeter_scalar_issue_info,
23887 demeter_advsimd_issue_info, demeter_sve_issue_info,
23888 demeter_vec_issue_info, demeter_vector_cost,
23889 demeter_tunings): New tuning structs.
23890 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
23892 * config/aarch64/aarch64-cores.def: Add entry for demeter.
23893 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
23895 2022-03-22 Tamar Christina <tamar.christina@arm.com>
23896 Andre Vieira <andre.simoesdiasvieira@arm.com>
23898 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
23899 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
23900 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
23901 tunings to use cpu_memmov_cost struct.
23903 2022-03-22 Tamar Christina <tamar.christina@arm.com>
23904 Andre Vieira <andre.simoesdiasvieira@arm.com>
23906 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
23907 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
23908 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
23909 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
23910 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
23911 (neoversen2_tunings): Use new structs and update tuning flags.
23912 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
23915 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
23917 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
23920 2022-03-22 liuhongt <hongtao.liu@intel.com>
23923 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
23924 following splitter to reversed condition.
23926 2022-03-22 Jakub Jelinek <jakub@redhat.com>
23928 PR rtl-optimization/104989
23929 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
23930 sorry for passing too large argument, instead set sibcall_failure
23931 for pass == 0, or a new normal_failure flag otherwise. If
23932 normal_failure is set, don't assert all stack has been deallocated
23933 at the end and throw away the whole insn sequence.
23935 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
23937 * print-tree.cc: Change array length
23939 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
23942 * config/i386/sse.md
23943 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
23944 Use avx512f_movsf_mask instead of vmovaps or vblend, and
23945 force_reg before lowpart_subreg.
23946 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
23948 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
23951 * common/config/i386/i386-common.cc
23952 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
23953 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
23955 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
23958 * common/config/i386/cpuinfo.h (get_available_features): Pass
23959 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
23962 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
23964 PR middle-end/104869
23965 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
23966 (clobber_group::next_clobber): Likewise.
23967 (def_lookup::prev_def): Rename to...
23968 (def_lookup::last_def_of_prev_group): ...this.
23969 (def_lookup::next_def): Rename to...
23970 (def_lookup::first_def_of_next_group): ...this.
23971 (def_lookup::matching_or_prev_def): Rename to...
23972 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
23973 (def_lookup::matching_or_next_def): Rename to...
23974 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
23975 (def_lookup::prev_def): New function, taking the lookup insn as
23977 (def_lookup::next_def): Likewise.
23978 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
23979 (def_lookup::last_def_of_prev_group): ...this.
23980 (def_lookup::next_def): Rename to...
23981 (def_lookup::first_def_of_next_group): ...this.
23982 (def_lookup::matching_or_prev_def): Rename to...
23983 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
23984 (def_lookup::matching_or_next_def): Rename to...
23985 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
23986 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
23988 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
23989 (clobber_group::next_clobber): Likewise.
23990 (def_lookup::prev_def): Likewise.
23991 (def_lookup::next_def): Likewise.
23992 (function_info::make_use_available): Pass the lookup insn to
23993 def_lookup::prev_def and def_lookup::next_def.
23995 2022-03-21 Martin Liska <mliska@suse.cz>
23997 * doc/invoke.texi: Document min-pagesize parameter.
23999 2022-03-21 Richard Biener <rguenther@suse.de>
24001 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
24002 we are estimating niter of loop.
24004 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
24006 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
24007 Update flag name and mask name.
24008 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
24009 misc macro for vector extensions.
24010 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
24011 (MASK_VECTOR_ELEN_32): ... this.
24012 (MASK_VECTOR_EEW_64): Rename to ...
24013 (MASK_VECTOR_ELEN_64): ... this.
24014 (MASK_VECTOR_EEW_FP_32): Rename to ...
24015 (MASK_VECTOR_ELEN_FP_32): ... this.
24016 (MASK_VECTOR_EEW_FP_64): Rename to ...
24017 (MASK_VECTOR_ELEN_FP_64): ... this.
24018 (TARGET_VECTOR_ELEN_32): New.
24019 (TARGET_VECTOR_ELEN_64): Ditto.
24020 (TARGET_VECTOR_ELEN_FP_32): Ditto.
24021 (TARGET_VECTOR_ELEN_FP_64): Ditto.
24022 (TARGET_MIN_VLEN): Ditto.
24023 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
24024 (riscv_vector_elen_flags): ... this.
24026 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
24029 * config/i386/sse.md
24030 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
24031 Correct round operand for intel dialect.
24033 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
24035 * diagnostic.cc (diagnostic_cc_tests): Rename to...
24036 (c_diagnostic_cc_tests): ...this.
24037 * opt-problem.cc (opt_problem_cc_tests): Rename to...
24038 (c_opt_problem_cc_tests): ...this.
24039 * selftest-run-tests.cc (selftest::run_tests): No longer run
24040 opt_problem_cc_tests or diagnostic_cc_tests.
24041 * selftest.h (diagnostic_cc_tests): Remove declaration.
24042 (opt_problem_cc_tests): Likewise.
24044 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
24047 * hash-traits.h (struct typed_const_free_remove): New.
24048 (struct free_string_hash): New.
24049 * pass_manager.h: Use free_string_hash.
24050 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
24051 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
24053 2022-03-19 Jakub Jelinek <jakub@redhat.com>
24055 PR middle-end/104971
24056 * config/i386/i386-expand.cc
24057 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
24058 don't push/pop anything and just return const0_rtx.
24060 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
24062 PR rtl-optimization/104961
24063 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
24065 2022-03-18 Jason Merrill <jason@redhat.com>
24067 * tree.h (IDENTIFIER_LENGTH): Add comment.
24069 2022-03-18 Jakub Jelinek <jakub@redhat.com>
24071 PR middle-end/99578
24072 PR middle-end/100680
24073 PR tree-optimization/100834
24074 * params.opt (--param=min-pagesize=): New parameter.
24076 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
24077 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
24078 of zero for pointer constants equal or larger than min-pagesize.
24080 2022-03-18 Tom de Vries <tdevries@suse.de>
24082 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
24083 Set gfor location only when dealing with a OMP_TASKLOOP.
24085 2022-03-18 Tom de Vries <tdevries@suse.de>
24087 * gimplify.cc (gimplify_omp_for): Set taskloop location.
24089 2022-03-18 Tom de Vries <tdevries@suse.de>
24092 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
24093 is executed unconditionally.
24095 2022-03-18 liuhongt <hongtao.liu@intel.com>
24098 * config/i386/i386.md (*movhi_internal): Set attr type from HI
24099 to HF for alternative 12 under TARGET_AVX512FP16.
24101 2022-03-18 Cui,Lili <lili.cui@intel.com>
24104 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
24105 * doc/invoke.texi: Update documents for Intel sapphirerapids.
24107 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
24110 PR tree-optimization/90356
24111 * config/i386/i386.md (*movtf_internal): Don't guard
24112 standard_sse_constant_p clause by optimize_function_for_size_p.
24113 (*movdf_internal): Likewise.
24114 (*movsf_internal): Likewise.
24116 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
24118 PR tree-optimization/102943
24119 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
24120 dominators and apply intermediary outgoing edge ranges.
24122 2022-03-17 Richard Biener <rguenther@suse.de>
24124 PR tree-optimization/104960
24125 * passes.def: Add pass parameter to pass_sink_code, mark
24126 last one to unsplit edges.
24127 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
24128 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
24129 when we need to unsplit edges.
24131 2022-03-17 Jakub Jelinek <jakub@redhat.com>
24133 PR middle-end/103984
24134 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
24135 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
24136 and asan unpoisioning, then append the temporary sequence and
24137 finally the TARGET_EXPR_CLEANUP clobbers.
24139 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24141 * config/i386/sse.md: Delete corrupt character/typo.
24143 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24146 * config/i386/sse.md (sse2_movq128): New define_expand to
24147 preserve previous named instruction.
24148 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
24149 generalized to VI8F_128 (both V2DI and V2DF).
24151 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
24153 PR tree-optimization/104941
24154 * tree-object-size.cc (size_for_offset): Make useless conversion
24155 check lighter and assign result of fold_convert to OFFSET.
24157 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
24160 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
24161 pushing target("general-regs-only").
24163 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
24165 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
24166 Add version info for zk, zks and zkn.
24168 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
24170 * common/config/riscv/riscv-common.cc
24171 (riscv_combine_info): New.
24172 (riscv_subset_list::handle_combine_ext): Combine back into zk to
24173 maintain the canonical order in isa strings.
24174 (riscv_subset_list::parse): Ditto.
24175 * config/riscv/riscv-subset.h (handle_combine_ext): New.
24177 2022-03-16 Richard Biener <rguenther@suse.de>
24179 PR tree-optimization/102008
24180 * passes.def: Move the added code sinking pass before the
24181 preceeding phiopt pass.
24183 2022-03-16 Patrick Palka <ppalka@redhat.com>
24186 * doc/invoke.texi (C++ Dialect Options): Document
24187 -ffold-simple-inlines.
24189 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
24191 PR tree-optimization/104942
24192 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
24194 2022-03-16 Jakub Jelinek <jakub@redhat.com>
24197 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
24200 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24201 Richard Biener <rguenther@suse.de>
24203 * gimple-match-head.cc (single_use): Implement inline using a
24206 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
24208 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
24209 instead of HONOR_NANS.
24210 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
24211 this can't trap/signal.
24213 2022-03-16 liuhongt <hongtao.liu@intel.com>
24216 * config/i386/i386-builtin.def (BDESC): Add
24217 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
24218 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
24219 __builtin_ia32_blendvpd w/o sse4.2
24221 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
24224 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
24225 acceptable MEM addresses.
24227 2022-03-15 Jakub Jelinek <jakub@redhat.com>
24230 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
24231 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
24234 2022-03-15 Jakub Jelinek <jakub@redhat.com>
24237 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
24238 instead of general-regs-only.
24240 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
24241 Marc Glisse <marc.glisse@inria.fr>
24242 Richard Biener <rguenther@suse.de>
24244 PR tree-optimization/101895
24245 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
24246 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
24248 2022-03-15 Jakub Jelinek <jakub@redhat.com>
24250 PR rtl-optimization/104814
24251 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
24252 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
24254 2022-03-15 Martin Sebor <msebor@redhat.com>
24256 PR middle-end/104436
24257 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
24258 Check for warning suppression. Avoid by-value arguments transformed
24259 into by-transparent-reference.
24261 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
24262 Uroš Bizjak <ubizjak@gmail.com>
24264 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
24265 transformation when *zero_extend<mode>si2 is not available.
24267 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
24269 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
24270 * config/mips/mips.cc (mips_option_override): Make
24271 -fsanitize=address imply -fasynchronous-unwind-tables. This is
24272 needed by libasan for stack backtrace on MIPS.
24273 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
24275 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24278 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
24279 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
24280 call simplified the first operand into VOIDmode constant.
24282 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24284 PR tree-optimization/102586
24285 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
24286 argument type should be pointer to trivially-copyable type unless it
24287 is address of a variable or parameter.
24289 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24292 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
24293 first rather than last element of the vector, use __m32_u to do
24294 a really unaligned load, use just 0 instead of (int)0.
24295 (_mm_loadu_si16): Put loaded value into first rather than last
24296 element of the vector, use __m16_u to do a really unaligned load,
24297 use just 0 instead of (short)0.
24299 2022-03-14 Jakub Jelinek <jakub@redhat.com>
24302 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
24303 in diagnostic message - cannott -> cannot. Use %< and %> around
24304 names of attribute. Avoid too long line.
24305 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
24306 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
24308 2022-03-14 liuhongt <hongtao.liu@intel.com>
24311 * config/i386/i386-expand.cc
24312 (ix86_check_builtin_isa_match): New func.
24313 (ix86_expand_builtin): Move code to
24314 ix86_check_builtin_isa_match and call it.
24315 * config/i386/i386-protos.h
24316 (ix86_check_builtin_isa_match): Declare.
24317 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
24318 builtin into gimple when isa mismatches.
24320 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
24322 * doc/invoke.texi: Fix typos.
24323 * doc/tm.texi.in: Remove duplicated word.
24324 * doc/tm.texi: Regenerate.
24326 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
24329 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
24330 "ppc" and "ppc64" based on rs6000_cpu.
24332 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
24334 PR middle-end/100280
24335 PR middle-end/104892
24336 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
24337 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
24339 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
24341 PR middle-end/100280
24342 PR middle-end/104086
24343 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
24344 Mark variables used in 'present' clauses as addressable.
24345 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
24346 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
24348 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
24351 * tree-core.h (user_omp_claus_code_name): Declare function.
24352 * tree.cc (user_omp_clause_code_name): New function.
24354 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
24356 PR middle-end/98420
24357 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
24358 (the defaut) or -fno-signed-zeros.
24360 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
24363 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
24364 moving from a GPR register to an Altivec register.
24366 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
24368 PR tree-optimization/98335
24369 * config/i386/i386.md (peephole2): Eliminate redundant insv.
24370 Combine movl followed by movb. Transform xorl followed by
24371 a suitable movb or movw into the equivalent movz[bw]l.
24373 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
24374 Richard Biener <rguenther@suse.de>
24376 PR tree-optimization/98335
24377 * builtins.cc (get_object_alignment_2): Export.
24378 * builtins.h (get_object_alignment_2): Likewise.
24379 * tree-ssa-alias.cc (ao_ref_alignment): New.
24380 * tree-ssa-alias.h (ao_ref_alignment): Declare.
24381 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
24382 to align head/tail, writing more bytes but using fewer store insns.
24384 2022-03-11 Richard Biener <rguenther@suse.de>
24386 PR tree-optimization/104880
24387 * tree-ssa.cc (execute_update_address_taken): Remember if we
24388 optimistically made something not addressable and
24389 prepare to undo it.
24391 2022-03-11 Richard Biener <rguenther@suse.de>
24394 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
24395 cost the first lane of SSE pieces as inserts for vec_construct.
24397 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
24400 * calls.cc (expand_call): Ignore stack adjustments after sorry.
24402 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
24405 * lra-constraints.cc (split_reg): Set up
24406 check_and_force_assignment_correctness_p when splitting hard
24407 register live range.
24409 2022-03-10 Martin Jambor <mjambor@suse.cz>
24412 * ipa-cp.cc (create_specialized_node): Move removal of
24413 self-recursive calls from callers vector before refrence
24416 2022-03-10 Richard Biener <rguenther@suse.de>
24418 PR tree-optimization/102943
24419 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
24420 Make a bitmap_head.
24421 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
24423 (sbr_sparse_bitmap::set_bb_range): Adjust.
24424 (sbr_sparse_bitmap::get_bb_range): Likewise.
24426 2022-03-10 Richard Biener <rguenther@suse.de>
24428 PR tree-optimization/102943
24429 * tree-ssa-dom.cc (back_propagate_equivalences): Only
24430 populate the dominance bitmap if fast queries are not
24431 available. Use a tree view bitmap.
24432 (record_temporary_equivalences): Cache the dominance bitmap
24433 across all equivalences on the edge.
24435 2022-03-10 Tom de Vries <tdevries@suse.de>
24438 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
24441 2022-03-10 Tom de Vries <tdevries@suse.de>
24444 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
24445 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
24446 (nvptx_get_unisimt_outside_simt_predicate): New function.
24447 (predicate_insn): New function, factored out of ...
24448 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
24449 * config/nvptx/nvptx.h (struct machine_function): Add
24450 unisimt_outside_simt_predicate field.
24451 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
24452 (define_insn "nvptx_uniform_warp_check"): Make predicable.
24454 2022-03-10 Tom de Vries <tdevries@suse.de>
24456 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
24459 2022-03-10 Tom de Vries <tdevries@suse.de>
24462 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
24464 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
24466 2022-03-10 Tom de Vries <tdevries@suse.de>
24468 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
24469 Emit atom.and.b64 instead of atom.b64.and.
24471 2022-03-10 Tom de Vries <tdevries@suse.de>
24473 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
24474 (MULTILIB_OPTIONS): ... here.
24476 2022-03-10 Tom de Vries <tdevries@suse.de>
24479 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
24480 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
24482 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
24484 PR middle-end/90115
24485 PR middle-end/102330
24486 PR middle-end/104774
24487 * omp-low.cc (oacc_privatization_candidate_p)
24488 (oacc_privatization_scan_clause_chain)
24489 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
24490 Analyze 'lookup_decl'-translated DECL.
24492 2022-03-10 Jakub Jelinek <jakub@redhat.com>
24495 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
24496 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
24497 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
24498 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
24499 "**NULL**" if type_node is NULL first. Handle
24500 ieee128_float_type_node.
24501 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
24502 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
24503 ieee128_float_type_node to NULL rather than long_double_type_node if
24504 they aren't supported. Do support __ibm128 even if
24505 !TARGET_FLOAT128_TYPE when long double is double double.
24506 (rs6000_expand_builtin): Error if bif_is_ibm128 and
24507 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
24508 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
24510 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
24511 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
24512 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
24513 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
24515 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
24516 (struct attrinfo): Add isibm128 member.
24517 (TYPE_MAP_SIZE): Remove.
24518 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
24519 ibm128_float_type_node only if it is non-NULL, otherwise fall back
24520 to long_double_type_node. Remove "pif" entry.
24521 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
24522 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
24523 (write_type_node): Use sizeof type_map / sizeof type_map[0]
24524 instead of TYPE_MAP_SIZE.
24525 (write_bif_static_init): Handle isibm128.
24526 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
24527 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
24530 2022-03-09 Richard Biener <rguenther@suse.de>
24532 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
24533 with non-decl operand, avoiding a copy.
24535 2022-03-09 Jakub Jelinek <jakub@redhat.com>
24538 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
24540 2022-03-09 Richard Biener <rguenther@suse.de>
24542 PR middle-end/104786
24543 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
24544 for VLAs without an upper size bound.
24546 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
24548 PR tree-optimization/104851
24549 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
24552 2022-03-09 Jakub Jelinek <jakub@redhat.com>
24555 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
24556 is enabled by it only for C++11 to C++17 rather than for C++03 or
24558 (-Wshift-negative-value): Similarly (except here we stated
24559 that it is enabled for C++11 or later).
24561 2022-03-09 Jakub Jelinek <jakub@redhat.com>
24563 PR rtl-optimization/104839
24564 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
24565 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
24566 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
24567 instead of incorrect 0 in SUBREG_PROMOTED_SET.
24569 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
24572 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
24573 value before adding an offset.
24575 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
24577 * config/arm/arm-builtins.cc
24578 (arm_binop_none_none_unone_qualifiers): Delete.
24579 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
24581 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
24583 PR translation/104552
24584 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
24585 the PCH out of memory error message punctuation and wording.
24587 2022-03-08 Marek Polacek <polacek@redhat.com>
24589 PR rtl-optimization/104777
24590 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
24591 ASM_OPERANDS_LABEL_VEC has at least one element.
24593 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
24596 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
24597 stack realignment or regparm nested function with EH return.
24599 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
24602 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
24603 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
24604 register for non widening loads or narrowing stores.
24606 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
24608 PR translation/104552
24609 * params.opt: Fix typo.
24611 2022-03-08 Richard Biener <rguenther@suse.de>
24613 PR tree-optimization/84201
24614 * params.opt (-param=vect-induction-float): Add.
24615 * doc/invoke.texi (vect-induction-float): Document.
24616 * tree-vect-loop.cc (vectorizable_induction): Honor
24617 param_vect_induction_float.
24619 2022-03-08 Martin Jambor <mjambor@suse.cz>
24621 PR translation/104552
24622 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
24623 "that" in the description.
24625 2022-03-08 Richard Biener <rguenther@suse.de>
24627 PR tree-optimization/104825
24628 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
24629 guard modref get_ao_ref on a pointer typed argument.
24631 2022-03-08 liuhongt <hongtao.liu@intel.com>
24633 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
24634 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
24636 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
24638 * doc/invoke.texi (C++ Modules): Remove anachronism.
24640 2022-03-07 Martin Liska <mliska@suse.cz>
24642 PR middle-end/104381
24643 * opts.cc (finish_options): If debug info is disabled
24644 (debug_info_level) and -fvar-tracking is unset, disable it.
24646 2022-03-07 Jakub Jelinek <jakub@redhat.com>
24648 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
24649 * config/riscv/riscv.cc: Likewise.
24650 * config/darwin.h: Likewise.
24651 * config/i386/i386.cc: Likewise.
24652 * config/aarch64/thunderx3t110.md: Likewise.
24653 * config/aarch64/fractional-cost.h: Likewise.
24654 * config/vax/vax.cc: Likewise.
24655 * config/rs6000/pcrel-opt.md: Likewise.
24656 * config/rs6000/predicates.md: Likewise.
24657 * ctfc.h: Likewise.
24658 * tree-ssa-uninit.cc: Likewise.
24659 * value-relation.h: Likewise.
24660 * gimple-range-gori.cc: Likewise.
24661 * ipa-polymorphic-call.cc: Likewise.
24662 * pointer-query.cc: Likewise.
24663 * ipa-sra.cc: Likewise.
24664 * internal-fn.cc: Likewise.
24665 * varasm.cc: Likewise.
24666 * gimple-ssa-warn-access.cc: Likewise.
24668 2022-03-07 Martin Liska <mliska@suse.cz>
24671 * config/arm/arm.cc (arm_option_override_internal): Add missing
24674 2022-03-07 Richard Biener <rguenther@suse.de>
24676 PR tree-optimization/104782
24677 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
24678 Re-instantiate r10-5979 fix, add comment.
24680 2022-03-07 Martin Liska <mliska@suse.cz>
24683 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
24684 parenthesis from built-in name.
24686 2022-03-07 Martin Liska <mliska@suse.cz>
24689 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
24690 of options in error messages.
24691 (arm_option_reconfigure_globals): Likewise.
24693 2022-03-07 Martin Liska <mliska@suse.cz>
24696 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
24697 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
24698 have only range [0,32].
24700 2022-03-07 Jakub Jelinek <jakub@redhat.com>
24703 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
24704 S constraint instead of T in the last alternative.
24706 2022-03-07 Martin Liska <mliska@suse.cz>
24708 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
24711 2022-03-07 Martin Liska <mliska@suse.cz>
24713 PR translation/90148
24714 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
24715 quote to a proper place.
24716 * plugin.cc (default_plugin_dir_name): Likewise.
24718 2022-03-07 Martin Liska <mliska@suse.cz>
24721 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
24724 2022-03-07 Jakub Jelinek <jakub@redhat.com>
24727 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
24728 define_expand pattern. Rename define_insn to ...
24729 (*avx512dq_mul<mode>3<mask_name>): ... this.
24730 (<code><mode>3_mask): New any_logic define_expand pattern.
24731 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
24732 (*<code><mode>3<mask_name>): ... this.
24734 2022-03-05 Jakub Jelinek <jakub@redhat.com>
24736 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
24737 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
24739 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
24740 Uroš Bizjak <ubizjak@gmail.com>
24742 PR testsuite/104732
24743 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
24744 Include DI mode unconditionally.
24745 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
24746 i.e. always split on !TARGET_64BIT.
24747 (*<any_or>di3_doubleword): Likewise.
24748 (*one_cmpldi2_doubleword): Likewise.
24749 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
24750 (<any_or><mode>3 expander): Likewise.
24751 (one_cmpl<mode>2 expander): Likewise.
24753 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
24756 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
24757 (mtvsrdd_diti_w1): Delete.
24758 (extendditi2): Convert from define_expand to
24759 define_insn_and_split. Replace with code to deal with both GPR
24760 registers and with altivec registers.
24762 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
24764 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
24765 bit. Handle most older CPUs.
24767 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
24769 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
24770 avoid a mismatch with DECL_MD_FUNCTION_CODE().
24772 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
24775 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
24776 (@machopic_low_<mode>): New.
24777 * config/rs6000/predicates.md (macho_pic_address): New.
24778 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
24779 apply the TLS processing to Darwin.
24780 * lra-constraints.cc (process_address_1): Revert the changes
24783 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
24787 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
24788 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
24790 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
24792 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
24795 2022-03-04 Jakub Jelinek <jakub@redhat.com>
24797 PR middle-end/104529
24798 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
24799 on automatic objects which will be runtime initialized.
24801 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24803 PR middle-end/100280
24804 PR middle-end/104132
24805 PR middle-end/104133
24806 * omp-low.cc (task_shared_vars): Rename to
24807 'make_addressable_vars'. Adjust all users.
24808 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
24809 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
24811 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24813 PR middle-end/100280
24814 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
24815 * tree-core.h: Document it.
24816 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
24817 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
24818 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
24819 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
24820 'TREE_ADDRESSABLE'.
24822 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24824 PR middle-end/100280
24825 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
24826 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
24827 '[...]' declared in block made addressable".
24829 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
24831 PR middle-end/100400
24832 PR middle-end/103836
24833 PR middle-end/104061
24834 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
24835 Catch 'GIMPLE_DEBUG'.
24837 2022-03-04 Jakub Jelinek <jakub@redhat.com>
24840 * tree.cc (warn_deprecated_use): For types prefer to use node
24841 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
24844 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
24847 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
24850 2022-03-03 Martin Sebor <msebor@redhat.com>
24852 PR middle-end/104761
24853 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
24854 mark_dfs_back_edges.
24856 2022-03-03 Martin Liska <mliska@suse.cz>
24858 * configure.ac: Use linker plug-in by default.
24859 * configure: Regenerate.
24861 2022-03-03 Martin Liska <mliska@suse.cz>
24863 * configure.ac: Now ld.mold support LTO plugin API, use it.
24864 * configure: Regenerate.
24866 2022-03-03 Tom de Vries <tdevries@suse.de>
24868 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
24870 2022-03-03 Tom de Vries <tdevries@suse.de>
24873 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
24875 2022-03-03 Tom de Vries <tdevries@suse.de>
24877 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
24879 2022-03-03 Jakub Jelinek <jakub@redhat.com>
24881 PR middle-end/104757
24882 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
24884 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
24885 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
24887 2022-03-03 Jakub Jelinek <jakub@redhat.com>
24889 PR middle-end/104558
24890 * calls.cc (store_one_arg): When not calling emit_push_insn
24891 because size_rtx is const0_rtx, call at least anti_adjust_stack
24892 on arg->locate.alignment_pad if !argblock and the alignment might
24895 2022-03-02 Alexandre Oliva <oliva@adacore.com>
24897 * lra-constraints.cc (undo_optional_reloads): Recognize and
24898 drop insns of multi-word move sequences, tolerate removal
24899 iteration on an already-removed clobber, and refuse to
24900 substitute original pseudos into clobbers.
24902 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
24904 PR middle-end/102276
24905 * common.opt (-Wtrivial-auto-var-init): New option.
24906 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
24907 (-ftrivial-auto-var-init): Update option;
24908 * gimplify.cc (emit_warn_switch_unreachable): New function.
24909 (warn_switch_unreachable_r): Rename to ...
24910 (warn_switch_unreachable_and_auto_init_r): This.
24911 (maybe_warn_switch_unreachable): Rename to ...
24912 (maybe_warn_switch_unreachable_and_auto_init): This.
24913 (gimplify_switch_expr): Update calls to renamed function.
24915 2022-03-02 Richard Biener <rguenther@suse.de>
24917 PR rtl-optimization/104686
24918 * ira-color.cc (object_conflicts_with_allocno_p): New function
24919 using a bitvector test instead of iterating when possible.
24920 (allocnos_conflict_p): Choose the best allocno to iterate over
24922 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
24925 2022-03-02 Jakub Jelinek <jakub@redhat.com>
24927 * cfg.cc (dump_edge_info): Dump goto_locus if present.
24929 2022-03-02 Jakub Jelinek <jakub@redhat.com>
24931 PR rtl-optimization/104589
24932 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
24933 INSN_LOCATION comparison with goto_locus.
24935 2022-03-02 Jakub Jelinek <jakub@redhat.com>
24937 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
24938 strlen_pass::before_dom_children): Comment spelling fixes.
24940 2022-03-02 Jakub Jelinek <jakub@redhat.com>
24942 * ipa-modref-tree.cc (modref_access_node::contains,
24943 modref_access_node::closer_pair_p, modref_access_node::insert,
24944 modref_access_node::insert_kill): Comment spelling fixes.
24945 * ipa-modref.cc: Likewise.
24946 (modref_summary::finalize, ignore_nondeterminism_p,
24947 class modref_access_analysis,
24948 modref_access_analysis::set_side_effects,
24949 modref_access_analysis::set_nondeterministic,
24950 modref_access_analysis::record_global_memory_load,
24951 modref_access_analysis::propagate, modref_access_analysis::analyze,
24952 struct escape_point, class modref_lattice, modref_lattice::merge,
24953 modref_lattice::merge_deref, class modref_eaf_analysis,
24954 modref_eaf_analysis::merge_call_lhs_flags,
24955 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
24956 modref_eaf_analysis::record_escape_points, remap_kills,
24957 update_escape_summary, remove_useless_summaries,
24958 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
24960 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
24962 * ipa-modref-tree.h (enum modref_special_parms,
24963 struct modref_access_node): Likewise.
24965 2022-03-01 Jakub Jelinek <jakub@redhat.com>
24967 PR tree-optimization/104715
24968 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
24969 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
24970 of a call if gimple_call_return_arg is equal to ptr, not just when it
24973 2022-03-01 Jakub Jelinek <jakub@redhat.com>
24975 * gimple-ssa-warn-access.cc (warn_string_no_nul,
24976 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
24977 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
24978 pass_waccess::check_alloca, pass_waccess::check_strcat,
24979 memmodel_to_uhwi, fntype_argno_type,
24980 pass_waccess::maybe_check_access_sizes,
24981 pass_waccess::check_call_access,
24982 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
24983 Comment spelling fixes.
24985 2022-03-01 Richard Biener <rguenther@suse.de>
24987 PR tree-optimization/104716
24988 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
24989 Check if we can copy the loop.
24991 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
24993 PR middle-end/104721
24994 * cfgexpand.cc (expand_gimple_basic_block): Clear
24995 currently_expanding_gimple_stmt when returning inside the loop.
24997 2022-03-01 Martin Liska <mliska@suse.cz>
25000 * multiple_target.cc (get_attr_len): Move to tree.c.
25001 (expand_target_clones): Remove single value checking.
25002 * tree.cc (get_target_clone_attr_len): New fn.
25003 * tree.h (get_target_clone_attr_len): Likewise.
25005 2022-03-01 Martin Liska <mliska@suse.cz>
25007 PR gcov-profile/104677
25008 * doc/invoke.texi: Document more .gcda file name generation.
25010 2022-03-01 Tom de Vries <tdevries@suse.de>
25013 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
25014 * config/nvptx/nvptx.md
25015 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
25017 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
25018 Use nvptx_register_or_complex_di_df_register_operand.
25020 2022-03-01 Tom de Vries <tdevries@suse.de>
25022 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
25023 * config/nvptx/gen-copyright.sh: New file.
25024 * config/nvptx/gen-h.sh: New file.
25025 * config/nvptx/gen-opt.sh: New file.
25026 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
25027 (TARGET_SM75, TARGET_SM80): Move ...
25028 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
25029 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
25030 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
25031 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
25032 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
25034 2022-03-01 Tom de Vries <tdevries@suse.de>
25036 * config/nvptx/gen-omp-device-properties.sh: New file.
25037 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
25039 2022-03-01 Tom de Vries <tdevries@suse.de>
25041 * config/nvptx/nvptx-sm.def: New file.
25042 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
25043 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
25044 * config/nvptx/nvptx.cc (sm_version_to_string)
25045 (nvptx_omp_device_kind_arch_isa): Same.
25047 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
25049 PR rtl-optimization/104154
25050 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
25051 comparison ifcvt passed us.
25053 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
25056 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
25057 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
25059 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
25061 PR tree-optimization/91384
25062 * config/i386/i386.md (peephole2): Eliminate final testl insn
25063 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
25064 transforming using *negsi_2 for the negation.
25066 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
25067 Eric Botcazou <ebotcazou@adacore.com>
25069 PR middle-end/80270
25070 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
25071 register, copy it to a pseudo before calling simplify_gen_subreg.
25073 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
25075 PR rtl-optimization/104637
25076 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
25077 as possible on one subpass.
25079 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
25081 PR middle-end/104550
25082 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
25085 2022-02-28 Martin Liska <mliska@suse.cz>
25088 * main.cc (main): Use flag_checking instead of CHECKING_P
25089 and run toplev::finalize only if there is not error seen.
25091 2022-02-28 Richard Biener <rguenther@suse.de>
25093 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
25095 2022-02-28 Richard Biener <rguenther@suse.de>
25097 PR tree-optimization/104700
25098 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
25100 (find_or_generate_expression): ... here, simplifying code.
25102 2022-02-28 Tom de Vries <tdevries@suse.de>
25104 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
25105 PTX_VERSION_default.
25106 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
25107 PTX_VERSION_default.
25108 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
25110 2022-02-28 Richard Biener <rguenther@suse.de>
25112 PR rtl-optimization/104686
25113 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
25114 skipping bits that are zero.
25115 (ira_object_conflict_iter_cond): Likewise.
25117 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
25119 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
25120 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
25121 char to avoid error when using ~enum as parameter.
25122 (_mm512_mask_ternarylogic_epi64): Likewise.
25123 (_mm512_maskz_ternarylogic_epi64): Likewise.
25124 (_mm512_ternarylogic_epi32): Likewise.
25125 (_mm512_mask_ternarylogic_epi32): Likewise.
25126 (_mm512_maskz_ternarylogic_epi32): Likewise.
25127 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
25128 Adjust imm param type to unsigned char.
25129 (_mm256_mask_ternarylogic_epi64): Likewise.
25130 (_mm256_maskz_ternarylogic_epi64): Likewise.
25131 (_mm256_ternarylogic_epi32): Likewise.
25132 (_mm256_mask_ternarylogic_epi32): Likewise.
25133 (_mm256_maskz_ternarylogic_epi32): Likewise.
25134 (_mm_ternarylogic_epi64): Likewise.
25135 (_mm_mask_ternarylogic_epi64): Likewise.
25136 (_mm_maskz_ternarylogic_epi64): Likewise.
25137 (_mm_ternarylogic_epi32): Likewise.
25138 (_mm_mask_ternarylogic_epi32): Likewise.
25139 (_mm_maskz_ternarylogic_epi32): Likewise.
25141 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25142 Marc Glisse <marc.glisse@inria.fr>
25144 PR tree-optimization/104675
25145 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
25146 Restrict simplifications to INTEGRAL_TYPE_P.
25148 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25151 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
25153 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
25155 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
25156 comparison is not valid.
25157 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
25158 (movdicc): Likewise.
25159 (movsfcc): Likewise.
25160 (movdfcc): Likewise.
25162 2022-02-25 Richard Biener <rguenther@suse.de>
25164 PR tree-optimization/103037
25165 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
25166 (vn_nary_length_from_stmt): Likewise.
25167 (init_vn_nary_op_from_stmt): Likewise.
25168 (vn_nary_op_compute_hash): Likewise.
25169 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
25170 (vn_nary_length_from_stmt): Likewise.
25171 (init_vn_nary_op_from_stmt): Likewise.
25172 (vn_nary_op_compute_hash): Likewise.
25173 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
25174 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
25175 (re-)compute the hash value and if the expression is not
25176 found allocate it from pre_expr_obstack.
25177 (phi_translate_1): Do not insert the NARY found in the
25178 VN tables but build a PRE expression from the valueized
25179 NARY with the value-id we eventually found.
25180 (find_or_generate_expression): Assert we have an entry
25181 for constant values.
25182 (compute_avail): Insert not valueized expressions into
25183 EXP_GEN using the value-id from the VN tables.
25184 (init_pre): Allocate pre_expr_obstack.
25185 (fini_pre): Free pre_expr_obstack.
25187 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25190 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
25191 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
25192 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
25194 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25196 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
25198 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25200 PR middle-end/104679
25201 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
25203 2022-02-25 Jakub Jelinek <jakub@redhat.com>
25205 PR tree-optimization/104675
25206 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
25209 2022-02-25 Alexandre Oliva <oliva@adacore.com>
25213 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
25215 2022-02-25 Alexandre Oliva <oliva@adacore.com>
25217 PR middle-end/104540
25218 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
25221 2022-02-25 Alexandre Oliva <oliva@adacore.com>
25223 PR tree-optimization/103856
25224 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
25225 eh edge to be requested through an extra parameter.
25226 (pass_harden_compares::execute): Copy PHI args in the EH dest
25227 block for the new EH edge added for the inverted compare.
25229 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
25231 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
25232 of position independence that -mcmodel=medany affords.
25234 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
25237 * configure.ac: --disable-gcov if targetting bpf-*.
25238 * configure: Regenerate.
25240 2022-02-24 Richard Biener <rguenther@suse.de>
25242 PR tree-optimization/104676
25243 * tree-loop-distribution.cc (loop_distribution::execute):
25244 Do a full scev_reset.
25246 2022-02-24 Jakub Jelinek <jakub@redhat.com>
25248 PR tree-optimization/104601
25249 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
25250 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
25253 2022-02-24 Tom de Vries <tdevries@suse.de>
25254 Tobias Burnus <tobias@codesourcery.com>
25256 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
25257 sm_70, sm_75 and sm_80.
25258 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
25260 2022-02-24 Tom de Vries <tdevries@suse.de>
25262 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
25263 "rotrsi3"): New define_insn.
25265 2022-02-24 Tom de Vries <tdevries@suse.de>
25267 * config/nvptx/nvptx.cc (gen_comment): Use
25268 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
25270 2022-02-24 liuhongt <hongtao.liu@intel.com>
25272 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
25273 isa attr of alternative 2 from avx to avx512vl.
25275 2022-02-23 Richard Biener <rguenther@suse.de>
25276 Jakub Jelinek <jakub@redhat.com>
25278 PR tree-optimization/104644
25279 * doc/match-and-simplify.texi: Amend ! documentation.
25280 * genmatch.cc (expr::gen_transform): Code-generate ! support
25282 (parser::parse_expr): Allow ! for GENERIC.
25283 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
25286 2022-02-23 Richard Biener <rguenther@suse.de>
25288 PR tree-optimization/101636
25289 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
25290 vector type of the node.
25291 (vect_slp_analyze_operations): Make sure the CTOR
25292 is vectorized with an expected type.
25293 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
25295 2022-02-23 Jakub Jelinek <jakub@redhat.com>
25298 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
25299 Don't warn about calls to corresponding builtin from extern inline
25300 gnu_inline wrappers.
25302 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
25305 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
25307 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
25311 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
25314 2022-02-23 Cui,Lili <lili.cui@intel.com>
25316 * doc/invoke.texi: Update documents for Intel architectures.
25318 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
25320 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
25323 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
25325 * omp-low.cc (omp_build_component_ref): Move function...
25326 * omp-general.cc (omp_build_component_ref): ... here. Remove
25328 * omp-general.h (omp_build_component_ref): Declare function.
25329 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
25331 (build_receiver_ref, build_sender_ref): Call
25332 'omp_build_component_ref' instead.
25334 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
25336 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
25337 simplify. Adjust all users.
25339 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
25342 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
25343 atomic_update_decl): Add GTY markup.
25345 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25347 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
25349 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25353 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
25355 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
25356 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
25357 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
25358 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
25359 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
25360 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
25361 * config/arm/mve.md: Use VxBI instead of HI.
25363 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25367 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
25369 (STRSBU_P_QUALIFIERS): Likewise.
25370 (LDRGBS_Z_QUALIFIERS): Likewise.
25371 (LDRGBU_Z_QUALIFIERS): Likewise.
25372 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
25373 (LDRGBWBS_Z_QUALIFIERS): Likewise.
25374 (LDRGBWBU_Z_QUALIFIERS): Likewise.
25375 (STRSBWBS_P_QUALIFIERS): Likewise.
25376 (STRSBWBU_P_QUALIFIERS): Likewise.
25377 * config/arm/mve.md: Use VxBI instead of HI.
25379 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25383 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
25384 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
25385 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25386 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25387 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25388 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25389 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
25390 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
25391 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
25392 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
25393 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
25394 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25395 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25396 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
25397 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
25398 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
25399 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25400 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25401 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25402 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25403 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
25404 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
25405 (STRS_P_QUALIFIERS): Use predicate qualifier.
25406 (STRU_P_QUALIFIERS): Likewise.
25407 (STRSU_P_QUALIFIERS): Likewise.
25408 (STRSS_P_QUALIFIERS): Likewise.
25409 (LDRGS_Z_QUALIFIERS): Likewise.
25410 (LDRGU_Z_QUALIFIERS): Likewise.
25411 (LDRS_Z_QUALIFIERS): Likewise.
25412 (LDRU_Z_QUALIFIERS): Likewise.
25413 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
25414 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
25415 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
25416 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
25417 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
25418 * config/arm/mve.md: Use MVE_VPRED instead of HI.
25420 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25424 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
25426 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
25427 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
25428 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
25429 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
25430 predicated qualifiers.
25431 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
25432 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
25434 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25437 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
25438 (arm_expand_vector_compare): Update prototype.
25439 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
25440 (arm_vector_mode_supported_p): Add support for VxBI modes.
25441 (arm_expand_vector_compare): Remove useless generation of vpsel.
25442 (arm_expand_vcond): Fix select operands.
25443 (arm_get_mask_mode): New.
25444 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
25445 (vec_cmpu<mode><MVE_vpred>): New.
25446 (vcond_mask_<mode><MVE_vpred>): New.
25447 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
25448 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
25449 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
25450 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
25451 and disable for MVE.
25452 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
25454 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25458 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
25459 (BINOP_PRED_NONE_NONE_QUALIFIERS)
25460 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
25461 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
25462 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
25463 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
25465 (arm_mode_to_pred_mode): New.
25466 (arm_expand_vector_compare): Use the right VxBI mode instead of
25468 (arm_expand_vcond): Likewise.
25469 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
25470 (mve_bool_vec_to_const): New.
25471 (neon_make_constant): Call mve_bool_vec_to_const when needed.
25472 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
25473 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
25474 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
25475 (vpselq_s, vpselq_f): Use new predicated qualifiers.
25476 * config/arm/constraints.md (DB): New.
25477 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
25478 (MVE_VPRED, MVE_vpred): New attribute iterators.
25479 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
25480 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
25481 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
25482 (@mve_vpselq_<supf>v2di): Define separately.
25483 (mov<mode>): New expander for VxBI modes.
25484 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
25485 MVE_7_HI iterator and add support for DB constraint.
25487 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25488 Richard Sandiford <richard.sandiford@arm.com>
25492 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
25493 VNx2BI): Update definition.
25494 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
25496 (arm_init_builtin): Map predicate vectors arguments to HImode.
25497 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
25498 rtx. Move return value to HImode rtx.
25499 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
25500 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
25501 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
25502 Pred2x8_t,Pred4x4_t): New.
25503 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
25504 * genmodes.cc (mode_data): Add boolean field.
25505 (blank_mode): Initialize it.
25506 (make_complex_modes): Fix handling of boolean modes.
25507 (make_vector_modes): Likewise.
25508 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
25509 (make_vector_bool_mode): Likewise.
25511 (make_bool_mode): New.
25512 (emit_insn_modes_h): Fix generation of boolean modes.
25513 (emit_class_narrowest_mode): Likewise.
25514 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
25515 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
25517 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
25518 Fix handling of constm1_rtx for VECTOR_BOOL.
25519 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
25520 (native_decode_vector_rtx): Likewise.
25521 (test_vector_ops_duplicate): Skip vec_merge test
25522 with vectors of booleans.
25523 * varasm.cc (output_constant_pool_2): Likewise.
25525 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25527 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
25530 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25532 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
25534 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
25536 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
25537 (REG_CLASS_NAMES): Likewise.
25538 (REG_CLASS_CONTENTS): Likewise.
25539 (CLASS_MAX_NREGS): Handle VPR.
25540 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
25542 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
25543 Tom de Vries <tdevries@suse.de>
25545 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
25546 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
25548 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
25550 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
25551 Tom de Vries <tdevries@suse.de>
25553 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
25554 * doc/invoke.texi (-mptx): Update for new values and defaults.
25556 2022-02-22 Tom de Vries <tdevries@suse.de>
25558 * config/nvptx/nvptx.cc (gen_comment): New function.
25559 (workaround_uninit_method_1, workaround_uninit_method_2)
25560 (workaround_uninit_method_3): : Use gen_comment.
25561 * config/nvptx/nvptx.opt (mptx-comment): New option.
25563 2022-02-22 Richard Biener <rguenther@suse.de>
25565 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
25568 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
25569 Richard Biener <rguenther@suse.de>
25571 * fold-const.cc (ctor_single_nonzero_element): New function to
25572 return the single non-zero element of a (vector) constructor.
25573 * fold-const.h (ctor_single_nonzero_element): Prototype here.
25574 * match.pd (reduc (constructor@0)): Simplify reductions of a
25575 constructor containing a single non-zero element.
25576 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
25577 reductions of vector operations of the same operator with
25578 constant vector operands.
25580 2022-02-22 Jakub Jelinek <jakub@redhat.com>
25582 PR tree-optimization/104604
25583 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
25584 Only check if gimple_assign_rhs1 is COMPLEX_CST if
25585 gimple_assign_rhs_code is COMPLEX_CST.
25587 2022-02-22 Jakub Jelinek <jakub@redhat.com>
25590 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
25591 on input operands before calling lowpart_subreg on it. For output
25592 operand, use a vmode pseudo as destination and then move its lowpart
25593 subreg into operands[0] if lowpart_subreg fails on dest.
25594 (ix86_expand_xorsign): Likewise.
25596 2022-02-22 Richard Biener <rguenther@suse.de>
25598 PR tree-optimization/104582
25600 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
25601 Cost GPR to vector register moves for integer vector construction.
25603 2022-02-22 Richard Biener <rguenther@suse.de>
25605 PR tree-optimization/104582
25606 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
25607 (vector_costs::add_stmt_cost): Add SLP node parameter.
25608 (dump_stmt_cost): Likewise.
25609 (add_stmt_cost): Likewise, new overload and adjust.
25610 (add_stmt_costs): Adjust.
25611 (record_stmt_cost): New overload.
25612 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
25613 (vector_costs::add_stmt_cost): Adjust.
25614 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
25616 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
25617 the SLP node for costing.
25618 (vectorizable_slp_permutation): Likewise.
25619 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
25621 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
25623 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
25625 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
25627 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
25629 2022-02-22 Richard Biener <rguenther@suse.de>
25631 PR tree-optimization/104582
25632 * tree-vectorizer.h (add_stmt_cost): New overload.
25633 (record_stmt_cost): Likewise.
25634 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
25635 Use add_stmt_costs.
25636 (vect_get_known_peeling_cost): Use new overloads.
25637 (vect_estimate_min_profitable_iters): Likewise. Consistently
25638 use scalar_stmt for costing versioning checks.
25639 * tree-vect-stmts.cc (record_stmt_cost): New overload.
25641 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
25644 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
25645 Split atomic fetch and loop part.
25646 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
25647 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
25649 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
25650 expander under TARGET_RELAX_CMPXCHG_LOOP.
25651 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
25653 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
25655 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
25656 Change wb_candidate[12] to wb_push_candidate[12].
25657 (aarch64_layout_frame): Likewise, and
25658 change callee_adjust when scs is enabled.
25659 (aarch64_save_callee_saves):
25660 Change wb_candidate[12] to wb_push_candidate[12].
25661 (aarch64_restore_callee_saves):
25662 Change wb_candidate[12] to wb_pop_candidate[12].
25663 (aarch64_get_separate_components):
25664 Change wb_candidate[12] to wb_push_candidate[12].
25665 (aarch64_expand_prologue): Push x30 onto SCS before it's
25667 (aarch64_expand_epilogue): Pop x30 frome SCS, while
25668 preventing it from being popped from the regular stack again.
25669 (aarch64_override_options_internal): Add SCS compile option check.
25670 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
25671 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
25672 wb_pop_candidate[12], and rename wb_candidate[12] to
25673 wb_push_candidate[12].
25674 * config/aarch64/aarch64.md (scs_push): New template.
25675 (scs_pop): Likewise.
25676 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
25677 * doc/tm.texi: Regenerate.
25678 * doc/tm.texi.in: Add hook have_shadow_call_stack.
25679 * flag-types.h (enum sanitize_code):
25680 Add SANITIZE_SHADOW_CALL_STACK.
25681 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
25682 and exclude SANITIZE_SHADOW_CALL_STACK.
25683 * target.def: New hook.
25684 * toplev.cc (process_options): Add SCS compile option check.
25685 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
25687 2022-02-21 Tom de Vries <tdevries@suse.de>
25690 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
25691 (workaround_uninit_method_2, workaround_uninit_method_3)
25692 (workaround_uninit): New function.
25693 (nvptx_reorg): Use workaround_uninit.
25694 * config/nvptx/nvptx.opt (minit-regs): New option.
25696 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
25698 PR rtl-optimization/104498
25699 * alias.cc (compare_base_symbol_refs): Correct distance computation
25700 when swapping x and y.
25702 2022-02-21 Andrew Pinski <apinski@marvell.com>
25705 * tree-ssa.cc (tree_ssa_useless_type_conversion):
25706 Check the inner type before calling useless_type_conversion_p.
25708 2022-02-19 Tom de Vries <tdevries@suse.de>
25710 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
25711 * config/nvptx/nvptx.md
25712 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
25713 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
25714 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
25715 (define_expand "atomic_store<mode>"): Handle rename. Use
25716 nvptx_atomic_store instead of atomic_exchange.
25718 2022-02-19 Tom de Vries <tdevries@suse.de>
25720 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
25721 insns with atomic attribute. Assert that all handled insns are
25723 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
25724 Set atomic attribute to false.
25726 2022-02-19 Tom de Vries <tdevries@suse.de>
25728 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
25730 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
25731 nvptx_warpsync, if necessary.
25733 2022-02-19 Jakub Jelinek <jakub@redhat.com>
25735 PR sanitizer/102656
25736 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
25737 known to be within bounds, treat it like automatic variables.
25738 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
25739 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
25742 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
25744 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
25745 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
25746 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
25747 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
25748 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
25749 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
25750 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
25751 power10_sched_reorder): Likewise.
25752 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
25753 gen_addadd): Likewise
25754 * config/rs6000/fusion.md: Regenerate.
25756 2022-02-18 Jakub Jelinek <jakub@redhat.com>
25760 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
25761 rather than __posix_memalign.
25763 2022-02-18 Richard Biener <rguenther@suse.de>
25766 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
25767 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
25768 of calling ix86_avx_u128_mode_source which would eventually
25769 have returned AVX_U128_ANY in some very special case.
25771 2022-02-18 Richard Biener <rguenther@suse.de>
25773 PR tree-optimization/96881
25774 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
25776 (control_parents_preserved_p): New function.
25777 (eliminate_unnecessary_stmts): Check that we preserved control
25778 parents before retaining a CLOBBER.
25779 (perform_tree_ssa_dce): Pass down aggressive flag
25780 to eliminate_unnecessary_stmts.
25782 2022-02-17 Jason Merrill <jason@redhat.com>
25784 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
25785 on TYPE_MAIN_VARIANT.
25787 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
25790 * config/rs6000/bmi2intrin.h: Uglify local variables.
25791 * config/rs6000/emmintrin.h: Likewise.
25792 * config/rs6000/mm_malloc.h: Likewise.
25793 * config/rs6000/mmintrin.h: Likewise.
25794 * config/rs6000/pmmintrin.h: Likewise.
25795 * config/rs6000/smmintrin.h: Likewise.
25796 * config/rs6000/tmmintrin.h: Likewise.
25797 * config/rs6000/xmmintrin.h: Likewise.
25799 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
25802 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
25803 if the expected comparison's first operand is of mode MODE_CC.
25805 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
25807 PR rtl-optimization/104447
25808 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
25809 hard reg set by lra_no_alloc_regs.
25811 2022-02-17 liuhongt <hongtao.liu@intel.com>
25813 PR tree-optimization/104551
25814 PR tree-optimization/103771
25815 * match.pd (cond_expr_convert_p): Add types_match check when
25816 convert is extension.
25817 * tree-vect-patterns.cc
25818 (gimple_cond_expr_convert_p): Adjust comments.
25819 (vect_recog_cond_expr_convert_pattern): Ditto.
25821 2022-02-17 Jakub Jelinek <jakub@redhat.com>
25824 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
25825 if expr has VOIDmode.
25827 2022-02-17 liuhongt <hongtao.liu@intel.com>
25829 * config/i386/cpuid.h (bit_MPX): Removed.
25830 (bit_BNDREGS): Ditto.
25831 (bit_BNDCSR): Ditto.
25833 2022-02-17 Michael Meissner <meissner@the-meissners.org>
25836 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
25837 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
25838 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
25841 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
25843 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
25844 range_compatible_p instead of direct type comparison.
25846 2022-02-16 Jakub Jelinek <jakub@redhat.com>
25848 PR rtl-optimization/104544
25849 * combine.cc (try_combine): When looking for insn whose links
25850 should be updated from i3 to i2, don't stop on debug insns, instead
25853 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
25856 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
25857 * config/aarch64/aarch64.md: Extend the PR100056 patterns
25858 to handle plus in the same way as ior, if the operands have
25859 no set bits in common.
25861 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
25863 PR tree-optimization/104526
25864 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
25866 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
25867 of dependency chain if there isn't one.
25868 (gori_compute::condexpr_adjust): New.
25869 * gimple-range-gori.h (class gori_compute): New prototype.
25871 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
25874 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
25876 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
25877 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
25879 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
25881 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
25882 (vect_scalar_ops_slice_hash): Likewise.
25883 (vect_scalar_ops_slice::op): New function.
25884 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
25885 (vect_scalar_ops_slice_hash::hash): Likewise.
25886 (vect_scalar_ops_slice_hash::equal): Likewise.
25887 (vect_prologue_cost_for_slp): Check for duplicate vectors.
25888 * config/aarch64/aarch64.cc
25889 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
25890 (aarch64_aligned_constant_offset_p): New function.
25891 (aarch64_stp_sequence_cost): Likewise.
25892 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
25893 (aarch64_vector_costs::finish_cost): Likewise.
25895 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
25897 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
25900 2022-02-15 Richard Biener <rguenther@suse.de>
25902 PR tree-optimization/104543
25903 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
25904 come after the inner loop.
25906 2022-02-15 Jakub Jelinek <jakub@redhat.com>
25909 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
25910 cannot instead of can%'t in diagnostics. Formatting fixes.
25912 2022-02-15 Jakub Jelinek <jakub@redhat.com>
25914 PR middle-end/104522
25915 * fold-const.h (native_interpret_real): Declare.
25916 * fold-const.cc (native_interpret_real): No longer static. Don't
25917 perform MODE_COMPOSITE_P verification here.
25918 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
25920 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
25921 instead of native_interpret_expr.
25922 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
25923 and comparison verification for all FLOAT_MODE_P modes, not just
25926 2022-02-15 Richard Biener <rguenther@suse.de>
25928 PR tree-optimization/104519
25929 * fold-const.cc (multiple_of_p): Remove never true condition.
25930 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
25931 the appropriate types for determining whether the difference
25932 of final and base is a multiple of the step.
25934 2022-02-15 Jakub Jelinek <jakub@redhat.com>
25937 * omp-low.cc (task_cpyfns): New variable.
25938 (delete_omp_context): Don't call finalize_task_copyfn from here.
25939 (create_task_copyfn): Push task_stmt into task_cpyfns.
25940 (execute_lower_omp): Call finalize_task_copyfn here on entries from
25941 task_cpyfns vector and release the vector.
25943 2022-02-14 Martin Sebor <msebor@redhat.com>
25945 PR middle-end/104355
25946 * doc/invoke.texi (-Warray-bounds): Update documentation.
25948 2022-02-14 Michael Meissner <meissner@the-meissners.org>
25951 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
25952 conversion functions used to convert IFmode types.
25954 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
25956 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
25958 2022-02-14 Richard Biener <rguenther@suse.de>
25960 PR tree-optimization/104528
25961 * tree-ssa.h (find_released_ssa_name): Declare.
25962 * tree-ssa.cc (find_released_ssa_name): Export.
25963 * cfgloop.cc (verify_loop_structure): Look for released
25964 SSA names in loops nb_iterations.
25965 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
25968 2022-02-14 Richard Biener <rguenther@suse.de>
25970 PR tree-optimization/104511
25971 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
25972 touching DFP <-> FP conversions.
25974 2022-02-14 Richard Biener <rguenther@suse.de>
25976 PR middle-end/104497
25977 * gimplify.cc (gimplify_compound_lval): Make sure the
25978 base is a non-register if needed and possible.
25980 2022-02-13 liuhongt <hongtao.liu@intel.com>
25983 * match.pd (cond_expr_convert_p): New match.
25984 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
25985 (vect_recog_cond_expr_convert_pattern): New.
25987 2022-02-12 Jakub Jelinek <jakub@redhat.com>
25989 PR sanitizer/104449
25990 * asan.cc: Include tree-eh.h.
25991 (handle_builtin_alloca): Handle the case when __builtin_alloca or
25992 __builtin_alloca_with_align can throw.
25994 2022-02-12 Jakub Jelinek <jakub@redhat.com>
25997 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
25998 and AVX512VL isn't available, move operands[1] to operands[0] first.
26000 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
26003 * config/i386/i386.cc (type_natural_mode):
26004 Skip decimal float vector modes.
26006 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
26007 Vladimir Makarov <vmakarov@redhat.com>
26010 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
26011 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
26013 (legitimate_lo_sum_address_p): Likewise.
26014 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
26015 load from an invalid lo_sum address.
26017 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26019 PR tree-optimization/104499
26020 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
26023 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26025 * tree.cc (build_common_builtin_nodes): Fix up formatting in
26026 __builtin_clear_padding decl creation.
26027 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
26028 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
26029 argument rather than in 3rd argument.
26030 (gimplify_call_expr): Likewise. Fix up comment formatting.
26031 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
26032 2 arguments instead of 3, take for_auto_init from the value
26035 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
26037 PR rtl-optimization/104400
26038 * lra-constraints.cc (process_alt_operands): Don't make union of
26039 this_alternative_exclude_start_hard_regs when reg class in insn
26040 alternative covers other reg classes in the same alternative.
26042 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26044 PR middle-end/104446
26045 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
26048 2022-02-11 Richard Biener <rguenther@suse.de>
26050 PR middle-end/104496
26051 * internal-fn.cc (vectorized_internal_fn_supported_p):
26052 Bail out for integer mode vector types.
26054 2022-02-11 Jakub Jelinek <jakub@redhat.com>
26056 PR rtl-optimization/104459
26057 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
26058 moving DEBUG_INSNs between bbs.
26060 2022-02-11 liuhongt <hongtao.liu@intel.com>
26062 PR tree-optimization/104479
26063 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
26064 for the dest of uncond_op.
26066 2022-02-11 Tom de Vries <tdevries@suse.de>
26069 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
26072 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
26074 PR middle-end/100775
26075 * function.cc (gen_call_used_regs_seq): Call
26076 df_update_exit_block_uses when updating df.
26078 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
26081 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
26082 Change operand 1 constraint to register_operand.
26084 2022-02-10 Richard Biener <rguenther@suse.de>
26086 PR tree-optimization/104373
26087 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
26089 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
26090 walk kind as argument.
26091 (run_rpo_vn): Adjust.
26092 (pass_fre::execute): Likewise.
26093 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
26094 blocks not reachable.
26095 (execute_late_warn_uninitialized): Mark all edges as
26097 (execute_early_warn_uninitialized): Use VN to compute
26099 (pass_data_early_warn_uninitialized): Enable a dump file,
26100 change dump name to warn_uninit.
26102 2022-02-10 Richard Biener <rguenther@suse.de>
26104 PR middle-end/104467
26105 * match.pd (vector extract simplification): Multiply the
26106 number of CTOR elements with the number of element elements.
26108 2022-02-10 Richard Biener <rguenther@suse.de>
26110 PR tree-optimization/104466
26111 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
26112 for the MR_DEPENDENCE checks as intended.
26114 2022-02-10 Tom de Vries <tdevries@suse.de>
26116 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
26118 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
26120 (define_c_enum "unspecv"): Add UNSPECV_ST.
26122 2022-02-10 Tom de Vries <tdevries@suse.de>
26124 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
26125 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
26126 (nvptx_mem_maybe_shared_p): New function.
26127 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
26130 2022-02-10 Tom de Vries <tdevries@suse.de>
26133 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
26134 driver JIT bug by using sub.s16 instead of sub.u16.
26136 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26138 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
26139 floating point constants as operands 1 and/or 2.
26141 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26144 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
26145 (sel_false<mode>): Likewise.
26146 (define_code_iterator eqne): New code iterator for EQ and NE.
26147 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
26148 the negation of a selp instruction.
26149 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
26150 the bitwise not of a selp instruction.
26151 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
26153 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26155 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
26156 in machine description.
26157 (logic): Move code attribute earlier in machine description.
26158 (ilogic): New code attribute, like logic but "ior" for IOR.
26159 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
26160 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
26161 (<ilogic>bi3): New define_insn for BI mode logic operations.
26162 (define_split): Lower logic operations from integer modes to
26163 BI mode predicate operations.
26165 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26167 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
26168 (one_cmplbi2): New define_insn for not.pred.
26169 (mulditi3): New define_expand for signed widening multiply.
26170 (umulditi3): New define_expand for unsigned widening multiply.
26171 (smul<mode>3_highpart): New define_insn for signed highpart mult.
26172 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
26173 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
26174 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
26175 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
26176 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
26177 (*setcc<mode>_from_not_bi): New define_insn.
26178 (*setcc_isinf<mode>): New define_insn for testp.infinite.
26179 (isinf<mode>2): New define_expand.
26181 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26183 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
26184 (setcc<mode>_from_bi): Additionally support QImode.
26185 (extendbi<mode>2): Additionally support QImode.
26186 (zero_extendbi<mode>2): Additionally support QImode.
26187 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
26188 iterators for signed and unsigned, binary and unary operations.
26189 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
26190 expanders to perform QImode operations using SImode instructions.
26191 (cstoreqi4): New define_expand.
26192 (*ext_truncsi2_qi): New define_insn.
26193 (*zext_truncsi2_qi): New define_insn.
26195 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
26197 * config/nvptx/nvptx.md (*cmpf): New define_insn.
26198 (cstorehf4): New define_expand.
26199 (fmahf4): New define_insn.
26200 (neghf2): New define_insn.
26201 (abshf2): New define_insn.
26203 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
26205 * doc/install.texi (Specific): Change the www.bitwizard.nl
26206 reference to use https.
26208 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
26210 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
26211 OMP_CLAUSE_HAS_DEVICE_ADDR
26212 and handle array sections.
26213 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
26214 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
26215 (lower_omp_target): Same.
26216 * tree-core.h (enum omp_clause_code): Same.
26217 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
26218 (convert_local_omp_clauses): Same.
26219 * tree-pretty-print.cc (dump_omp_clause): Same.
26222 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
26224 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
26225 that will result in direct recursive calls.
26227 2022-02-10 Andrew Pinski <apinski@marvell.com>
26230 * config/aarch64/aarch64.cc
26231 (aarch64_sve_expand_vector_init_handle_trailing_constants):
26232 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
26234 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
26237 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
26238 Also include OPTION_MASK_ISA2_AVX2_UNSET.
26240 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
26243 * config/i386/i386-expand.cc (ix86_split_idivmod):
26244 Force operands[2] and operands[3] into a register..
26246 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
26249 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
26250 (*v850_fnmssf4): Renamed from fnmssf4
26252 2022-02-09 Ian Lance Taylor <iant@golang.org>
26254 * godump.cc (go_force_record_alignment): Really name the alignment
26255 field "_" (complete 2021-12-29 change).
26257 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
26259 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
26260 function prototype.
26261 (VREPLACE_UN_UV4SI): Likewise.
26262 (VREPLACE_UN_V2DF): Likewise.
26263 (VREPLACE_UN_V2DI): Likewise.
26264 (VREPLACE_UN_V4SF): Likewise.
26265 (VREPLACE_UN_V4SI): Likewise.
26266 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
26267 function prototypes.
26268 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
26269 (vreplace_un_<mode>): New define_insn.
26271 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26273 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
26275 (single_wx, single_type, single_dtype, dblq): New mode attributes.
26276 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
26277 from VDC to VDCSIF.
26278 (store_pair_lanes<mode>): Likewise.
26279 (*aarch64_combine_internal<mode>): Likewise.
26280 (*aarch64_combine_internal_be<mode>): Likewise.
26281 (*aarch64_combinez<mode>): Likewise.
26282 (*aarch64_combinez_be<mode>): Likewise.
26283 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
26284 8-byte modes for ADDR_QUERY_LDP_STP_N.
26285 (aarch64_print_operand): Likewise for %y.
26287 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26289 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
26290 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
26291 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
26292 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
26293 (vec_pack_trunc_<mode>): Take general_operand elements and use
26294 aarch64_combine rather than move_lo/hi_quad to combine them.
26295 (vec_pack_trunc_df): Likewise.
26297 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26299 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
26301 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
26303 (*aarch64_combinez<mode>): ...this.
26304 (@aarch64_combinez_be<mode>): Rename to...
26305 (*aarch64_combinez_be<mode>): ...this.
26306 (@aarch64_vec_concat<mode>): New expander.
26307 (aarch64_combine<mode>): Use it.
26308 (@aarch64_simd_combine<mode>): Delete.
26309 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
26310 (aarch64_expand_vector_init): Use aarch64_vec_concat.
26312 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26314 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
26316 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
26317 (*aarch64_combine_internal_be<mode>): New patterns.
26319 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26321 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
26322 (move_lo_quad_internal_be_<mode>): Delete.
26323 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
26325 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26327 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
26329 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
26330 aarch64_mergeable_load_pair_p instead of inline check.
26331 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
26332 (aarch64_check_consecutive_mems): Allow the reversed parameter
26334 (aarch64_mergeable_load_pair_p): New function.
26336 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26338 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
26339 element to be an aarch64_simd_nonimmediate_operand.
26341 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
26343 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
26344 aarch64_simd_nonimmediate_operand instead of
26345 aarch64_simd_general_operand.
26346 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
26348 (@aarch64_combinez_be<mode>): Likewise.
26350 2022-02-09 Richard Biener <rguenther@suse.de>
26352 PR middle-end/104464
26353 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
26354 throwing check to after unproblematic replacement.
26356 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
26358 PR tree-optimization/104420
26359 * match.pd (mult @0 real_zerop): Tweak conditions for constant
26360 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
26362 2022-02-09 Jakub Jelinek <jakub@redhat.com>
26365 * dwarf2out.cc (mangle_referenced_decls): New function.
26366 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
26367 early_dwarf. Instead walk the initializer and try to mangle vars or
26368 functions referenced from it.
26370 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
26372 PR tree-optimization/104288
26373 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
26374 (non_null_ref::adjust_range): Move to header.
26375 (ranger_cache::range_of_def): Don't check non-null.
26376 (ranger_cache::entry_range): Don't check non-null.
26377 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
26378 (ranger_cache::update_to_nonnull): New.
26379 (non_null_loadstore): New.
26380 (ranger_cache::block_apply_nonnull): New.
26381 * gimple-range-cache.h (class non_null_ref): Update prototypes.
26382 (non_null_ref::adjust_range): Move to here and inline.
26383 (class ranger_cache): Update prototypes.
26384 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
26385 not search dominators.
26386 (path_range_query::adjust_for_non_null_uses): Ditto.
26387 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
26388 def overrides. Do not check nonnull.
26389 (gimple_ranger::range_on_entry): Check dominators for nonnull.
26390 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
26391 (gimple_ranger::register_side_effects): New.
26392 * gimple-range.h (gimple_ranger::register_side_effects): New.
26393 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
26395 2022-02-09 Richard Biener <rguenther@suse.de>
26397 PR tree-optimization/104445
26398 PR tree-optimization/102832
26399 * optabs-query.h (can_vec_extract): New.
26400 * optabs-query.cc (can_vec_extract): Likewise.
26401 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
26402 we can extract a hi/lo part from the larger vector, rework
26403 check iteration from larger to smaller sizes.
26405 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
26409 * config/i386/gnu-property.cc: Include "i386-protos.h".
26410 (file_end_indicate_exec_stack_and_gnu_property): Generate
26411 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
26412 nodirect_extern_access attribute.
26413 * config/i386/i386-options.cc
26414 (handle_nodirect_extern_access_attribute): New function.
26415 (ix86_attribute_table): Add nodirect_extern_access attribute.
26416 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
26418 (ix86_has_no_direct_extern_access): New.
26419 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
26420 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
26421 call operand. Force non-call load from GOT for
26422 -mno-direct-extern-access or nodirect_extern_access attribute.
26423 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
26424 for -mno-direct-extern-access or nodirect_extern_access attribute.
26425 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
26427 (asm_preferred_eh_data_format): Use PC-relative format for
26428 -mno-direct-extern-access to avoid copy relocation. Check
26429 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
26430 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
26431 true for -mno-direct-extern-access or nodirect_extern_access
26432 attribute. Don't treat protected data as extern and avoid copy
26433 relocation on common symbol with -mno-direct-extern-access or
26434 nodirect_extern_access attribute.
26435 (ix86_reloc_rw_mask): New to avoid copy relocation for
26436 -mno-direct-extern-access.
26437 (TARGET_ASM_RELOC_RW_MASK): New.
26438 * config/i386/i386.opt: Add -mdirect-extern-access.
26439 * doc/extend.texi: Document nodirect_extern_access attribute.
26440 * doc/invoke.texi: Document -m[no-]direct-extern-access.
26442 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
26445 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
26446 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
26447 Call ix86_avx_u128_mode_source to check mode for each component
26450 2022-02-09 liuhongt <hongtao.liu@intel.com>
26453 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
26454 operands[2] from SImode to QImode.
26456 2022-02-09 Richard Biener <rguenther@suse.de>
26458 PR middle-end/104450
26459 * gimple-isel.cc: Pass cfun around.
26460 (+gimple_expand_vec_cond_expr): Do not combine a throwing
26461 comparison with the select.
26463 2022-02-09 Richard Biener <rguenther@suse.de>
26466 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
26467 folding for NULL LHS.
26469 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
26471 PR rtl-optimization/104198
26472 PR rtl-optimization/104153
26473 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
26474 using it directly. Rework comparison handling and always
26475 perform a second pass.
26477 2022-02-08 Jakub Jelinek <jakub@redhat.com>
26480 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
26481 split1 pass has finished already.
26483 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
26485 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
26486 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
26487 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
26488 (vmsumcud): New define_insn.
26490 2022-02-08 Tom de Vries <tdevries@suse.de>
26492 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
26493 * config/nvptx/nvptx.h (TARGET_SM70): Define.
26495 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
26497 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
26499 * config/s390/s390.md: Use paradoxical subreg.
26501 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
26503 * combine.cc (reg_subword_p): Check for paradoxical subreg.
26505 2022-02-08 Tom de Vries <tdevries@suse.de>
26508 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
26509 and PTX_VERSION_4_2.
26510 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
26511 (default_ptx_version_option, ptx_version_to_string)
26512 (sm_version_to_string, handle_ptx_version_option): New function.
26513 (nvptx_option_override): Call handle_ptx_version_option.
26514 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
26515 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
26516 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
26517 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
26519 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
26521 * doc/install.texi (Configuration): Document `--with-isa-spec='
26523 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
26525 (RISC-V Options): Document it.
26527 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
26529 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
26531 2022-02-08 Tom de Vries <tdevries@suse.de>
26533 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
26535 2022-02-08 Tom de Vries <tdevries@suse.de>
26538 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
26539 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
26540 change is validated.
26541 (nvptx_mem_local_p): New function.
26542 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
26543 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
26544 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
26545 non-atomic, non-predicable define_insn, factored out of ...
26546 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
26547 Make predicable again.
26548 (define_expand "atomic_compare_and_swap<mode>"): Use
26549 atomic_compare_and_swap<mode>_1_local.
26551 2022-02-08 liuhongt <hongtao.liu@intel.com>
26553 PR rtl-optimization/104059
26554 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
26555 for a more expensive reg-reg move.
26557 2022-02-07 Tamar Christina <tamar.christina@arm.com>
26559 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
26560 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
26561 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
26562 (usdot_laneq, sudot_laneq): New.
26563 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
26564 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
26566 2022-02-07 Tamar Christina <tamar.christina@arm.com>
26568 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
26569 vdot_laneq_s32, vdotq_laneq_s32): New.
26570 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
26571 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
26572 (<sup>dot_prod<vsi2qi>): Re-order rtl.
26573 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
26574 (neon_<sup>dot_laneq<vsi2qi>): New.
26576 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
26579 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
26580 if always_inline is set. Don't inline when tune differs without
26583 2022-02-07 Richard Biener <rguenther@suse.de>
26585 PR middle-end/104402
26586 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
26587 compares are not valid.
26588 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
26589 check is_gimple_condexpr.
26591 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
26594 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
26595 hunk affecting VSX and ALTIVEC to appropriate place.
26597 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
26600 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
26601 MMA if !TARGET_VSX.
26603 2022-02-06 Jakub Jelinek <jakub@redhat.com>
26607 * fold-const.h (folding_initializer): Adjust comment.
26608 (folding_cxx_constexpr): Declare.
26609 * fold-const.cc (folding_initializer): Adjust comment.
26610 (folding_cxx_constexpr): New variable.
26611 (address_compare): Restrict the decl vs. STRING_CST
26612 or vice versa or STRING_CST vs. STRING_CST or
26613 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
26614 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
26615 assume non-aliased functions have non-zero size and have different
26616 addresses. For folding_cxx_constexpr, punt on comparisons of start
26617 of some object and end of another one, regardless whether it is a decl
26618 or string literal. Also punt for folding_cxx_constexpr on
26619 STRING_CST vs. STRING_CST comparisons if the two literals could be
26622 2022-02-05 Jakub Jelinek <jakub@redhat.com>
26624 PR tree-optimization/104389
26625 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
26628 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
26630 * configure.ac: Fix detection for zifencei support.
26631 * configure: Regenerate.
26633 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
26636 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
26637 (all_defaults): Add isa_spec.
26638 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
26640 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
26642 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
26643 parameters instead of arglist and nargs. Simplify accordingly. Remove
26644 unnecessary test for argument count mismatch.
26645 (resolve_vec_cmpne): Likewise.
26646 (resolve_vec_adde_sube): Likewise.
26647 (resolve_vec_addec_subec): Likewise.
26648 (altivec_resolve_overloaded_builtin): Move overload special handling
26649 after the gathering of arguments into args[] and types[] and the test
26650 for correct number of arguments. Don't perform the test for correct
26651 number of arguments for certain special cases. Call the other special
26652 cases with args and types instead of arglist and nargs.
26654 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
26657 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
26658 3.1): Provide consistent type names. Remove unnecessary semicolons.
26659 Fix bad line breaks.
26661 2022-02-04 Jakub Jelinek <jakub@redhat.com>
26664 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
26665 adjust mangling of __builtin*printf_chk.
26667 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
26669 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
26671 2022-02-04 Richard Biener <rguenther@suse.de>
26672 Bin Cheng <bin.cheng@linux.alibaba.com>
26674 PR tree-optimization/100499
26675 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
26677 * fold-const.cc (multiple_of_p): Likewise. Honor it for
26678 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
26679 switching to false for conversions.
26680 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
26681 claim the outermost expression does not wrap when calling
26682 multiple_of_p. Refactor the check done to check the
26683 original IV, avoiding a bias that might wrap.
26685 2022-02-04 Richard Biener <rguenther@suse.de>
26687 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
26690 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
26693 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
26694 (dwarf2out_early_finish): Likewise.
26696 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
26698 PR tree-optimization/104356
26699 * match.pd (X / bool_range_Y is X): Add guard.
26700 (X / X is one): Likewise.
26701 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
26702 (X / -X is -1): Likewise.
26703 (1 / X -> X == 1): Likewise.
26705 2022-02-04 Richard Biener <rguenther@suse.de>
26707 PR tree-optimization/103641
26708 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
26709 Pass the vector mode to choose_mult_variant.
26711 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
26713 PR rtl-optimization/101885
26714 * combine.cc (try_combine): When splitting a parallel into two
26715 sequential sets, check not only that the first doesn't clobber
26716 the second but also that the second doesn't clobber the first.
26718 2022-02-04 Richard Biener <rguenther@suse.de>
26720 PR middle-end/90348
26721 PR middle-end/104092
26722 * tree-core.h (clobber_kind): New enum.
26723 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
26724 * tree.h (CLOBBER_KIND): Add.
26725 (build_clobber): Add clobber kind argument, defaulted to
26727 * tree.cc (build_clobber): Likewise.
26728 * gimple.h (gimple_clobber_p): New overload with specified kind.
26729 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
26731 * tree-streamer-out.cc (streamer_write_tree_bitfields):
26733 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
26734 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
26736 (gimplify_target_expr): Likewise.
26737 * tree-inline.cc (expand_call_inline): Likewise.
26738 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
26739 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
26740 CLOBBER_EOL clobbers as ending lifetime of storage.
26742 2022-02-04 Martin Sebor <msebor@redhat.com>
26744 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
26747 2022-02-03 Martin Sebor <msebor@redhat.com>
26749 PR middle-end/104260
26750 * passes.def (pass_warn_access): Adjust pass placement.
26752 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
26755 * config/i386/i386.cc (find_drap_reg): For 32bit targets
26756 return DI_REG if function uses __builtin_eh_return.
26758 2022-02-03 Martin Sebor <msebor@redhat.com>
26760 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
26761 (pass_wrestrict::m_ptr_qry): New member.
26762 (wrestrict_walk): Rename...
26763 (pass_wrestrict::check_block): ...to this.
26764 (pass_wrestrict::execute): Set up and tear down pointer_query and
26766 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
26767 (builtin_access::builtin_access): Same.
26768 (builtin_access::m_ptr_qry): New member.
26769 (check_call): Rename...
26770 (pass_wrestrict::check_call): ...to this.
26771 (check_bounds_or_overlap): Change argument.
26772 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
26774 2022-02-03 Martin Sebor <msebor@redhat.com>
26776 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
26778 (array_bounds_checker::get_value_range): Use new member.
26779 (array_bounds_checker::check_mem_ref): Same.
26780 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
26782 (array_bounds_checker::m_ptr_query): New member.
26784 2022-02-03 Martin Sebor <msebor@redhat.com>
26786 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
26787 pointer_query cache.
26788 * pointer-query.cc (pointer_query::pointer_query): Remove cache
26789 argument. Zero-initialize new cache member.
26790 (pointer_query::get_ref): Replace cache pointer with direct access.
26791 (pointer_query::put_ref): Same.
26792 (pointer_query::flush_cache): Same.
26793 (pointer_query::dump): Same.
26794 * pointer-query.h (class pointer_query): Remove cache argument from
26795 ctor. Change cache pointer to cache subobject member.
26796 * tree-ssa-strlen.cc: Remove pointer_query cache.
26798 2022-02-03 Martin Sebor <msebor@redhat.com>
26800 PR tree-optimization/104119
26801 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
26802 (format_none): Same.
26803 (format_percent): Same.
26804 (format_integer): Same.
26805 (format_floating): Same.
26806 (get_string_length): Same.
26807 (format_character): Same.
26808 (format_string): Same.
26809 (format_plain): Same.
26810 (format_directive): Same.
26811 (compute_format_length): Same.
26812 (handle_printf_call): Same.
26813 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
26815 (get_range_strlen_phi): Same.
26816 (get_maxbound): New function.
26817 (strlen_pass::get_len_or_size): Adjust to parameter change.
26818 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
26820 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26823 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
26824 test for !rs6000_fold_gimple.
26825 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
26826 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
26828 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26831 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
26832 endianness for vclzlsbb and vctzlsbb.
26833 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
26834 default pattern and indicate a different pattern will be used for
26836 (VCLZLSBB_V4SI): Likewise.
26837 (VCLZLSBB_V8HI): Likewise.
26838 (VCTZLSBB_V16QI): Likewise.
26839 (VCTZLSBB_V4SI): Likewise.
26840 (VCTZLSBB_V8HI): Likewise.
26842 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26844 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
26845 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
26847 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
26849 (cpu_supports_info): Likewise.
26850 (rs6000_type_string): Likewise.
26851 (altivec_expand_predicate_builtin): Likewise.
26852 (rs6000_htm_spr_icode): Likewise.
26853 (altivec_expand_vec_init_builtin): Likewise.
26854 (get_element_number): Likewise.
26855 (altivec_expand_vec_set_builtin): Likewise.
26856 (altivec_expand_vec_ext_builtin): Likewise.
26857 (rs6000_invalid_builtin): Likewise.
26858 (rs6000_fold_builtin): Likewise.
26859 (fold_build_vec_cmp): Likewise.
26860 (fold_compare_helper): Likewise.
26861 (map_to_integral_tree_type): Likewise.
26862 (fold_mergehl_helper): Likewise.
26863 (fold_mergeeo_helper): Likewise.
26864 (rs6000_builtin_valid_without_lhs): Likewise.
26865 (rs6000_builtin_is_supported): Likewise.
26866 (rs6000_gimple_fold_mma_builtin): Likewise.
26867 (rs6000_gimple_fold_builtin): Likewise.
26868 (rs6000_expand_ldst_mask): Likewise.
26869 (cpu_expand_builtin): Likewise.
26870 (elemrev_icode): Likewise.
26871 (ldv_expand_builtin): Likewise.
26872 (lxvrse_expand_builtin): Likewise.
26873 (lxvrze_expand_builtin): Likewise.
26874 (stv_expand_builtin): Likewise.
26875 (mma_expand_builtin): Likewise.
26876 (htm_spr_num): Likewise.
26877 (htm_expand_builtin): Likewise.
26878 (rs6000_expand_builtin): Likewise.
26879 (rs6000_vector_type): Likewise.
26880 (rs6000_init_builtins): Likewise. Remove initialization of
26881 builtin_mode_to_type entries.
26882 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
26883 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
26884 external declaration.
26885 (rs6000_builtin_md_vectorized_function): Likewise.
26886 (rs6000_builtin_reciprocal): Likewise.
26887 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
26888 (rs6000_builtin_types): Likewise.
26889 (builtin_mode_to_type): Remove.
26890 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
26892 (rs6000_builtin_md_vectorized_function): Likewise.
26893 (rs6000_builtin_reciprocal): Likewise.
26894 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
26895 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
26897 2022-02-03 Richard Biener <rguenther@suse.de>
26900 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
26901 together via DECL_ABSTRACT_ORIGIN.
26903 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
26905 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
26906 message for RES_BITS case.
26908 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
26910 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
26912 2022-02-03 Jakub Jelinek <jakub@redhat.com>
26914 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
26915 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
26917 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
26919 * cfganal.cc (verify_marked_backedges): New.
26920 * cfganal.h (verify_marked_backedges): New.
26921 * gimple-range-path.cc (path_range_query::path_range_query):
26922 Verify freshness of back edges.
26923 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
26924 mark_dfs_back_edges.
26925 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
26926 path_range_query construction after backedges have been
26929 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
26931 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
26934 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
26936 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
26937 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
26940 2022-02-03 Martin Liska <mliska@suse.cz>
26942 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
26943 Change subject and object in the error message.
26944 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
26947 2022-02-03 Martin Liska <mliska@suse.cz>
26949 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
26950 Use the error message for i386 target.
26952 2022-02-03 Jakub Jelinek <jakub@redhat.com>
26954 PR tree-optimization/104334
26955 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
26956 and rh_range type to widest_int and subtract in widest_int. Remove
26957 ov_rh, ov_lh and sign vars, always perform comparisons as signed
26958 and use >, < and == operators for it.
26960 2022-02-03 Martin Sebor <msebor@redhat.com>
26962 * common.opt (-Wuse-after-free): Correct typos.
26964 2022-02-02 David Malcolm <dmalcolm@redhat.com>
26967 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
26968 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
26969 -ftrivial-auto-var-init= doesn't suppress warnings.
26971 2022-02-02 Martin Liska <mliska@suse.cz>
26973 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
26975 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
26978 * config/or1k/linux.h (CPP_SPEC): Define.
26980 2022-02-02 Tamar Christina <tamar.christina@arm.com>
26982 PR tree-optimization/102819
26983 PR tree-optimization/103169
26984 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
26987 2022-02-02 Tamar Christina <tamar.christina@arm.com>
26989 PR tree-optimization/102819
26990 PR tree-optimization/103169
26991 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
26993 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
26995 2022-02-02 Tamar Christina <tamar.christina@arm.com>
26997 PR tree-optimization/102819
26998 PR tree-optimization/103169
26999 * doc/md.texi: Update docs for cfms, cfma.
27000 * tree-data-ref.h (same_data_refs): Accept optional offset.
27001 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
27003 (vect_normalize_conj_loc): Remove.
27004 (is_eq_or_top): Change to take two nodes.
27005 (enum _conj_status, compatible_complex_nodes_p,
27006 vect_validate_multiplication): New.
27007 (class complex_add_pattern, complex_add_pattern::matches,
27008 complex_add_pattern::recognize, class complex_mul_pattern,
27009 complex_mul_pattern::recognize, class complex_fms_pattern,
27010 complex_fms_pattern::recognize, class complex_operations_pattern,
27011 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
27013 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
27014 cache and use new validation code.
27015 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
27016 vect_analyze_slp): Pass along cache.
27017 (compatible_calls_p): Expose.
27018 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
27019 slp_compat_nodes_map_t): New.
27020 (class vect_pattern): Update signatures include new cache.
27022 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27024 * config/cris/cris.cc (cris_preferred_reload_class): Reject
27025 "eliminated" registers and small-enough constants unless
27026 reloaded into a class that is a subset of GENERAL_REGS.
27027 * config/cris/cris.md (attribute "cpu_variant"): New.
27028 (attribute "enabled"): Conditionalize on a matching attribute
27029 cpu_variant, if specified.
27030 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
27031 memory, add cpu-variant-enabled variants for "r" alternatives on
27032 the far side of the "x" alternatives, preferring the "x" ones
27033 only for variants where MOF is present (in addition to SRP).
27035 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27037 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
27038 extra cost for ALL_REGS.
27040 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27042 * config/cris/constraints.md (define_register_constraint "b"): Now
27044 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
27045 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
27046 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
27047 and SPEC_GENNONACR_REGS.
27048 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
27049 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
27051 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27053 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
27054 Conditionalize on (sub-)register operands or operand 1 being 0.
27056 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
27058 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
27059 (MUL_BUG_ASM_DEFAULT): New macro.
27060 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
27061 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
27064 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
27066 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
27069 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
27071 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
27073 2022-02-01 Andrew Pinski <apinski@marvell.com>
27075 * doc/install.texi:
27077 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
27079 * config/s390/s390.cc (s390_code_end): Do not switch back to
27082 2022-02-01 Jakub Jelinek <jakub@redhat.com>
27085 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
27086 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
27087 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
27088 GTY((user)) for struct bifdata and struct ovlddata. Instead add
27089 GTY((skip(""))) to members with pointer and enum types that don't need
27090 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
27091 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
27092 (write_extern_fntype, write_fntype): Remove.
27093 (write_fntype_init): Emit the fntype vars as automatic vars instead
27094 of file scope ones.
27095 (write_header_file): Don't iterate with write_extern_fntype.
27096 (write_init_file): Don't iterate with write_fntype. Don't emit
27097 gt_ggc_mx and gt_pch_nx definitions.
27099 2022-02-01 Jason Merrill <jason@redhat.com>
27101 * tree.h (struct tree_vec_map_cache_hasher): Move from...
27102 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
27104 2022-02-01 Tom de Vries <tdevries@suse.de>
27106 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
27107 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27108 UNSPECV_UNIFORM_WARP_CHECK.
27109 (define_insn "nvptx_uniform_warp_check"): New define_insn.
27111 2022-02-01 Tom de Vries <tdevries@suse.de>
27113 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
27114 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27116 (define_insn "nvptx_warpsync"): New define_insn.
27118 2022-02-01 Tom de Vries <tdevries@suse.de>
27120 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
27122 2022-02-01 Tom de Vries <tdevries@suse.de>
27124 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
27125 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
27126 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
27127 insn for TARGET_PTX_6_0.
27129 2022-02-01 Tom de Vries <tdevries@suse.de>
27132 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
27135 2022-02-01 Tom de Vries <tdevries@suse.de>
27137 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
27138 (define_insn "atomic_exchange<mode>")
27139 (define_insn "atomic_fetch_add<mode>")
27140 (define_insn "atomic_fetch_addsf")
27141 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
27142 if memory operands is frame-relative.
27144 2022-02-01 Tom de Vries <tdevries@suse.de>
27146 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
27147 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
27149 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
27150 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
27151 NVPTX_BUILTIN_MEMBAR_CTA.
27152 (nvptx_lockfull_update): Add level parameter. Emit barriers.
27153 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
27154 nvptx_lockfull_update.
27155 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
27157 (define_expand "nvptx_membar_gl"): New expand.
27158 (define_insn "*nvptx_membar_gl"): New insn.
27160 2022-02-01 Martin Liska <mliska@suse.cz>
27162 * doc/install.texi: Remove option for GCC < 4.8.
27164 2022-02-01 Jakub Jelinek <jakub@redhat.com>
27166 PR middle-end/104307
27167 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
27168 stmts to uses vector, just set vec_cond_expr_only to false for
27169 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
27170 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
27171 like non-VEC_COND_EXPRs.
27173 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
27175 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
27176 (VEC_BLENDV): Likewise.
27177 (VEC_BPERM): Likewise.
27178 (VEC_CFUGE): Likewise.
27179 (VEC_CIPHER_BE): Likewise.
27180 (VEC_CIPHERLAST_BE): Likewise.
27181 (VEC_CLRL): Likewise.
27182 (VEC_CLRR): Likewise.
27183 (VEC_CMPNEZ): Likewise.
27184 (VEC_CNTLZ): Likewise.
27185 (VEC_CNTLZM): Likewise.
27186 (VEC_CNTTZM): Likewise.
27187 (VEC_CNTLZ_LSBB): Likewise.
27188 (VEC_CNTM): Likewise.
27189 (VEC_CNTTZ): Likewise.
27190 (VEC_CNTTZ_LSBB): Likewise.
27191 (VEC_CONVERT_4F32_8F16): Likewise.
27192 (VEC_DIV): Likewise.
27193 (VEC_DIVE): Likewise.
27194 (VEC_EQV): Likewise.
27195 (VEC_EXPANDM): Likewise.
27196 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
27197 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
27198 (VEC_EXTRACTH): Likewise.
27199 (VEC_EXTRACTL): Likewise.
27200 (VEC_EXTRACTM): Likewise.
27201 (VEC_EXTRACT4B): Likewise.
27202 (VEC_EXTULX): Likewise.
27203 (VEC_EXTURX): Likewise.
27204 (VEC_FIRSTMATCHINDEX): Likewise.
27205 (VEC_FIRSTMACHOREOSINDEX): Likewise.
27206 (VEC_FIRSTMISMATCHINDEX): Likewise.
27207 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
27208 (VEC_GB): Likewise.
27209 (VEC_GENBM): Likewise.
27210 (VEC_GENHM): Likewise.
27211 (VEC_GENWM): Likewise.
27212 (VEC_GENDM): Likewise.
27213 (VEC_GENQM): Likewise.
27214 (VEC_GENPCVM): Likewise.
27215 (VEC_GNB): Likewise.
27216 (VEC_INSERTH): Likewise.
27217 (VEC_INSERTL): Likewise.
27218 (VEC_INSERT4B): Likewise.
27219 (VEC_LXVL): Likewise.
27220 (VEC_MERGEE): Likewise.
27221 (VEC_MERGEO): Likewise.
27222 (VEC_MOD): Likewise.
27223 (VEC_MSUB): Likewise.
27224 (VEC_MULH): Likewise.
27225 (VEC_NAND): Likewise.
27226 (VEC_NCIPHER_BE): Likewise.
27227 (VEC_NCIPHERLAST_BE): Likewise.
27228 (VEC_NEARBYINT): Likewise.
27229 (VEC_NMADD): Likewise.
27230 (VEC_ORC): Likewise.
27231 (VEC_PDEP): Likewise.
27232 (VEC_PERMX): Likewise.
27233 (VEC_PEXT): Likewise.
27234 (VEC_POPCNT): Likewise.
27235 (VEC_PARITY_LSBB): Likewise.
27236 (VEC_REPLACE_ELT): Likewise.
27237 (VEC_REPLACE_UN): Likewise.
27238 (VEC_REVB): Likewise.
27239 (VEC_RINT): Likewise.
27240 (VEC_RLMI): Likewise.
27241 (VEC_RLNM): Likewise.
27242 (VEC_SBOX_BE): Likewise.
27243 (VEC_SIGNEXTI): Likewise.
27244 (VEC_SIGNEXTLL): Likewise.
27245 (VEC_SIGNEXTQ): Likewise.
27246 (VEC_SLDB): Likewise.
27247 (VEC_SLV): Likewise.
27248 (VEC_SPLATI): Likewise.
27249 (VEC_SPLATID): Likewise.
27250 (VEC_SPLATI_INS): Likewise.
27251 (VEC_SQRT): Likewise.
27252 (VEC_SRDB): Likewise.
27253 (VEC_SRV): Likewise.
27254 (VEC_STRIL): Likewise.
27255 (VEC_STRIL_P): Likewise.
27256 (VEC_STRIR): Likewise.
27257 (VEC_STRIR_P): Likewise.
27258 (VEC_STXVL): Likewise.
27259 (VEC_TERNARYLOGIC): Likewise.
27260 (VEC_TEST_LSBB_ALL_ONES): Likewise.
27261 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
27262 (VEC_VEE): Likewise.
27263 (VEC_VES): Likewise.
27264 (VEC_VIE): Likewise.
27265 (VEC_VPRTYB): Likewise.
27266 (VEC_VSCEEQ): Likewise.
27267 (VEC_VSCEGT): Likewise.
27268 (VEC_VSCELT): Likewise.
27269 (VEC_VSCEUO): Likewise.
27270 (VEC_VSEE): Likewise.
27271 (VEC_VSES): Likewise.
27272 (VEC_VSIE): Likewise.
27273 (VEC_VSTDC): Likewise.
27274 (VEC_VSTDCN): Likewise.
27275 (VEC_VTDC): Likewise.
27276 (VEC_XL): Likewise.
27277 (VEC_XL_BE): Likewise.
27278 (VEC_XL_LEN_R): Likewise.
27279 (VEC_XL_SEXT): Likewise.
27280 (VEC_XL_ZEXT): Likewise.
27281 (VEC_XST): Likewise.
27282 (VEC_XST_BE): Likewise.
27283 (VEC_XST_LEN_R): Likewise.
27284 (VEC_XST_TRUNC): Likewise.
27285 (VEC_XXPERMDI): Likewise.
27286 (VEC_XXSLDWI): Likewise.
27287 (VEC_TSTSFI_EQ_DD): Likewise.
27288 (VEC_TSTSFI_EQ_TD): Likewise.
27289 (VEC_TSTSFI_GT_DD): Likewise.
27290 (VEC_TSTSFI_GT_TD): Likewise.
27291 (VEC_TSTSFI_LT_DD): Likewise.
27292 (VEC_TSTSFI_LT_TD): Likewise.
27293 (VEC_TSTSFI_OV_DD): Likewise.
27294 (VEC_TSTSFI_OV_TD): Likewise.
27295 (VEC_VADDCUQ): Likewise.
27296 (VEC_VADDECUQ): Likewise.
27297 (VEC_VADDEUQM): Likewise.
27298 (VEC_VADDUDM): Likewise.
27299 (VEC_VADDUQM): Likewise.
27300 (VEC_VBPERMQ): Likewise.
27301 (VEC_VCLZB): Likewise.
27302 (VEC_VCLZD): Likewise.
27303 (VEC_VCLZH): Likewise.
27304 (VEC_VCLZW): Likewise.
27305 (VEC_VCTZB): Likewise.
27306 (VEC_VCTZD): Likewise.
27307 (VEC_VCTZH): Likewise.
27308 (VEC_VCTZW): Likewise.
27309 (VEC_VEEDP): Likewise.
27310 (VEC_VEESP): Likewise.
27311 (VEC_VESDP): Likewise.
27312 (VEC_VESSP): Likewise.
27313 (VEC_VIEDP): Likewise.
27314 (VEC_VIESP): Likewise.
27315 (VEC_VPKSDSS): Likewise.
27316 (VEC_VPKSDUS): Likewise.
27317 (VEC_VPKUDUM): Likewise.
27318 (VEC_VPKUDUS): Likewise.
27319 (VEC_VPOPCNT): Likewise.
27320 (VEC_VPOPCNTB): Likewise.
27321 (VEC_VPOPCNTD): Likewise.
27322 (VEC_VPOPCNTH): Likewise.
27323 (VEC_VPOPCNTW): Likewise.
27324 (VEC_VPRTYBD): Likewise.
27325 (VEC_VPRTYBQ): Likewise.
27326 (VEC_VPRTYBW): Likewise.
27327 (VEC_VRLD): Likewise.
27328 (VEC_VSLD): Likewise.
27329 (VEC_VSRAD): Likewise.
27330 (VEC_VSRD): Likewise.
27331 (VEC_VSTDCDP): Likewise.
27332 (VEC_VSTDCNDP): Likewise.
27333 (VEC_VSTDCNQP): Likewise.
27334 (VEC_VSTDCNSP): Likewise.
27335 (VEC_VSTDCQP): Likewise.
27336 (VEC_VSTDCSP): Likewise.
27337 (VEC_VSUBECUQ): Likewise.
27338 (VEC_VSUBEUQM): Likewise.
27339 (VEC_VSUBUDM): Likewise.
27340 (VEC_VSUBUQM): Likewise.
27341 (VEC_VTDCDP): Likewise.
27342 (VEC_VTDCSP): Likewise.
27343 (VEC_VUPKHSW): Likewise.
27344 (VEC_VUPKLSW): Likewise.
27346 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
27348 PR rtl-optimization/101260
27349 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
27352 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
27354 PR middle-end/95115
27355 * fold-const.cc (const_binop): Do not fold NaN result from
27358 2022-02-01 Tom de Vries <tdevries@suse.de>
27360 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
27361 -ftree-loop-distribute-patterns.
27362 (loop_distribution::execute): Don't call transform_reduction_loop for
27363 -fno-tree-loop-distribute-patterns.
27365 2022-01-31 Andrew Pinski <apinski@marvell.com>
27367 * fold-const.h (operand_compare::operand_equal_p):
27368 Fix comment about OEP_* flags.
27370 2022-01-31 Jakub Jelinek <jakub@redhat.com>
27373 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
27374 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
27375 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
27376 if not already defined.
27378 2022-01-31 Martin Sebor <msebor@redhat.com>
27380 PR middle-end/104232
27381 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
27382 Handle PHIs. Add a synonymous overload.
27383 (pass_waccess::check_pointer_uses): Call pointers_related_p.
27385 2022-01-31 Richard Biener <rguenther@suse.de>
27387 PR tree-optimization/100499
27388 * fold-const.cc (multiple_of_p): Pass the correct type of
27389 the expression to the recursive invocation of multiple_of_p
27390 for conversions and use CASE_CONVERT.
27392 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
27395 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
27397 2022-01-31 Richard Biener <rguenther@suse.de>
27399 PR tree-optimization/100499
27400 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
27401 on poly-ints instead of multiple_of_p.
27402 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
27403 (non_rewritable_mem_ref_base): Likewise.
27404 (non_rewritable_lvalue_p): Likewise.
27405 (execute_update_addresses_taken): Likewise.
27407 2022-01-29 Jakub Jelinek <jakub@redhat.com>
27408 Andrew Pinski <apinski@marvell.com>
27410 PR tree-optimization/104279
27411 PR tree-optimization/104280
27412 PR tree-optimization/104281
27413 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
27414 boolean_type_node and convert to type. Formatting fixes.
27416 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
27418 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
27420 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
27422 PR tree-optimization/103514
27423 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
27424 (a & b) == (a ^ b) -> !(a | b): New optimization.
27426 2022-01-28 Marek Polacek <polacek@redhat.com>
27428 * doc/invoke.texi: Update -Wbidi-chars documentation.
27430 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
27432 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
27434 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
27436 PR tree-optimization/95424
27437 * match.pd: Simplify 1 / X where X is an integer.
27439 2022-01-28 Jakub Jelinek <jakub@redhat.com>
27441 PR tree-optimization/104263
27442 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
27443 cfun->can_throw_non_call_exceptions && cfun->eh test whether
27444 last non-debug stmt in the bb is store_valid_for_store_merging_p
27445 rather than last stmt.
27447 2022-01-28 Martin Liska <mliska@suse.cz>
27449 * diagnostic.cc (diagnostic_action_after_output): Remove extra
27452 2022-01-28 Martin Liska <mliska@suse.cz>
27454 * config/rs6000/host-darwin.cc (segv_crash_handler):
27455 Do not use leading capital letter.
27456 (segv_handler): Likewise.
27457 * ipa-sra.cc (verify_splitting_accesses): Likewise.
27458 * varasm.cc (get_section): Likewise.
27460 2022-01-28 Richard Biener <rguenther@suse.de>
27462 PR tree-optimization/104267
27463 * tree-vect-stmts.cc (vectorizable_call): Properly use the
27464 per-argument determined vector type for externals and
27467 2022-01-28 Richard Biener <rguenther@suse.de>
27469 PR tree-optimization/104263
27470 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
27471 Purge edges also when !cfun->has_nonlocal_label
27472 and !cfun->calls_setjmp.
27474 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
27476 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
27479 2022-01-28 Jakub Jelinek <jakub@redhat.com>
27482 * cfgrtl.cc (loc_equal): New function.
27483 (unique_locus_on_edge_between_p): Use it.
27485 2022-01-28 Richard Biener <rguenther@suse.de>
27487 * cfganal.h (mark_dfs_back_edges): Provide API with struct
27489 * cfganal.cc (mark_dfs_back_edges): Take a struct function
27490 to work on, add a wrapper passing cfun.
27491 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
27492 uses with fun which is already passed.
27493 (draw_cfg_edges): Likewise.
27494 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
27497 2022-01-27 Patrick Palka <ppalka@redhat.com>
27500 * tree.cc (build_call_vec): Add const to second parameter.
27501 * tree.h (build_call_vec): Likewise.
27503 2022-01-27 Martin Liska <mliska@suse.cz>
27506 * diagnostic.cc (diagnostic_initialize):
27507 Initialize report_bug flag.
27508 (diagnostic_action_after_output):
27509 Explain that -freport-bug option can be used for pre-processed
27510 file creation. Make the message shorter.
27511 (error_recursion): Rename Internal to internal.
27512 * diagnostic.h (struct diagnostic_context): New field.
27513 * opts.cc (common_handle_option): Init the field here.
27515 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
27518 * config/rs6000/rs6000.cc
27519 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
27520 assertion with early return.
27522 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
27524 PR middle-end/103642
27525 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
27526 for non-pointer or non-reference-to-pointer cases.
27528 2022-01-27 Jakub Jelinek <jakub@redhat.com>
27530 PR tree-optimization/104196
27531 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
27532 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
27533 return NULL and emit needed stmts before and after stmt.
27534 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
27535 pick as operand_entry that will hold the merged test the one feeding
27536 earliest condition, ensure that by swapping range->idx with some
27537 other range's idx if needed. If seq is non-NULL, don't actually swap
27538 it but instead rewrite stmts with undefined overflow in between
27540 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
27541 corresponding condition even if they have non-NULL ops[]->op.
27544 2022-01-26 Jakub Jelinek <jakub@redhat.com>
27547 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
27549 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
27550 before for loop instead of for init clause.
27551 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
27553 2022-01-26 Jakub Jelinek <jakub@redhat.com>
27556 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
27557 _X86INTRIN_H_INCLUDED and adjust #error wording.
27558 * config/rs6000/bmi2intrin.h: Likewise.
27560 2022-01-26 Jakub Jelinek <jakub@redhat.com>
27563 * dwarf2out.cc (long_double_as_float128): New function.
27564 (modified_type_die): For powerpc64le IEEE 754 quad long double
27565 and complex long double emit those as DW_TAG_typedef to
27566 _Float128 or complex _Float128 base type.
27568 2022-01-26 Marek Polacek <polacek@redhat.com>
27571 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
27572 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
27574 2022-01-26 Martin Liska <mliska@suse.cz>
27576 * ipa-modref-tree.cc (modref_access_node::update):
27577 Remove "--param param=foo" with "--param foo".
27578 (modref_access_node::insert): Likewise.
27579 (modref_access_node::insert_kill): Likewise.
27580 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
27581 (struct modref_base_node): Likewise.
27582 (struct modref_tree): Likewise.
27584 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
27587 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
27590 2022-01-25 Martin Sebor <msebor@redhat.com>
27592 PR tree-optimization/104203
27593 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
27595 * pointer-query.cc (access_ref::merge_ref): Change return type.
27596 Convert failure to a conservative success.
27597 (access_ref::get_ref): Adjust to the change above. Short-circuit
27598 PHI evaluation after first failure turned into conservative success.
27599 * pointer-query.h (access_ref::merge_ref): Change return type.
27600 * timevar.def (TV_WARN_ACCESS): New timer variable.
27602 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
27604 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
27606 2022-01-25 Richard Biener <rguenther@suse.de>
27608 PR tree-optimization/104214
27609 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
27610 stronger guarantees for relational pointer compares when
27611 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
27612 BASE0 + STEP0 - STEP1 cmp BASE1.
27614 2022-01-25 Jakub Jelinek <jakub@redhat.com>
27617 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
27619 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
27620 ieee128_mangling_gcc_8_1): Remove.
27621 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
27622 (rs6000_mangle_type): Return "u9__ieee128" instead of
27623 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
27624 (rs6000_globalize_decl_name): Remove.
27625 * config/rs6000/rs6000-call.cc (init_cumulative_args,
27626 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
27628 2022-01-24 Martin Sebor <msebor@redhat.com>
27630 * pointer-query.cc (pointer_query::dump): Remove duplicate
27633 2022-01-24 Marek Polacek <polacek@redhat.com>
27635 PR preprocessor/104030
27636 * doc/invoke.texi: Update documentation for -Wbidi-chars.
27638 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
27641 * builtins.cc (expand_builtin_fegetround): New function.
27642 (expand_builtin_feclear_feraise_except): New function.
27643 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
27644 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
27645 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
27646 (feclearexceptsi): New Pattern.
27647 (feraiseexceptsi): New Pattern.
27648 * doc/extend.texi: Add a new introductory paragraph about the
27650 * doc/md.texi: (fegetround@var{m}): Document new optab.
27651 (feclearexcept@var{m}): Document new optab.
27652 (feraiseexcept@var{m}): Document new optab.
27653 * optabs.def (fegetround_optab): New optab.
27654 (feclearexcept_optab): New optab.
27655 (feraiseexcept_optab): New optab.
27657 2022-01-24 Richard Biener <rguenther@suse.de>
27658 Jiufu Guo <guojiufu@linux.ibm.com>
27660 PR tree-optimization/100740
27661 PR tree-optimization/101508
27662 PR tree-optimization/101972
27663 PR tree-optimization/102131
27664 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
27665 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
27666 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
27668 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27670 PR sanitizer/104158
27671 * opt-functions.awk (var_set): Handle EnumBitSet property.
27672 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
27674 * opts.h (enum cl_enum_var_value): New type.
27675 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
27676 Handle CLEV_BITSET.
27677 (cmdline_handle_error): Handle CLEV_BITSET.
27678 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
27679 * doc/options.texi (EnumBitSet): Document.
27680 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
27682 (trace-pc, trace-cmp): Drop Set properties.
27684 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27686 PR sanitizer/104158
27687 * common.opt (flag_sanitize_coverage): Remove Variable entry.
27688 (fsanitize-coverage=): Remove RejectNegative property, add
27689 Var(flag_sanitize_coverage) and EnumSet properties.
27690 (trace-pc): Add Set(1) property.
27691 (trace-cmp): Add Set(2) property.
27692 * opts.cc (common_handle_option): Don't handle
27693 OPT_fsanitize_coverage_.
27695 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27697 PR sanitizer/104158
27698 * opt-functions.awk (var_set): Handle EnumSet property.
27699 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
27701 * opt-read.awk: Handle Set property.
27702 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
27703 (struct cl_decoded_option): Mention enum in value description.
27705 (set_option): Add mask argument defaulted to 0.
27706 * opts.cc (test_enum_sets): New function.
27707 (opts_cc_tests): Call it.
27708 * opts-common.cc (enum_arg_to_value): Change return argument
27709 from bool to int, on success return index into the cl_enum_arg
27710 array, on failure -1. Add len argument, if non-0, use strncmp
27712 (opt_enum_arg_to_value): Adjust caller.
27713 (decode_cmdline_option): Handle EnumSet represented as
27714 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
27715 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
27716 (handle_option): Pass decoded->mask to set_options last argument.
27717 (generate_option): Clear decoded->mask.
27718 (generate_option_input_file): Likewise.
27719 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
27720 (set_option): Add mask argument, use it for CLVC_ENUM.
27721 (control_warning_option): Adjust enum_arg_to_value caller.
27722 * doc/options.texi: Document Set and EnumSet properties.
27724 2022-01-24 Jakub Jelinek <jakub@redhat.com>
27726 PR bootstrap/104170
27727 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27728 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27729 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27730 using OPTION_*_P macros.
27731 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27732 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27733 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27734 using OPTION_*_P macros.
27735 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27736 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27737 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27738 using OPTION_*_P macros.
27739 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
27740 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
27741 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
27742 using OPTION_*_P macros.
27743 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
27744 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
27745 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
27746 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
27747 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
27748 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
27749 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
27750 otherwise assume if (true).
27752 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
27754 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
27755 Skip zicsr and zifencei if I-ext is 2.0.
27757 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
27759 * config.gcc: Modify default isa_spec version.
27761 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
27763 PR tree-optimization/102087
27764 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
27765 Correct PLUS result type.
27767 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
27770 * config/i386/predicates.md (bcst_mem_operand): Also check mode
27771 of memory broadcast.
27773 2022-01-23 Andrew Pinski <apinski@marvell.com>
27776 * config/aarch64/aarch64-builtins.cc
27777 (aarch64_general_gimple_fold_builtin): Handle
27778 __builtin_aarch64_sqrt* and simplify into SQRT internal
27781 2022-01-22 Jakub Jelinek <jakub@redhat.com>
27784 * opts-global.cc (handle_common_deferred_options): Quote
27785 --enable-plugin in diagnostics to avoid -Werror=format-diag.
27787 2022-01-21 Michael Meissner <meissner@the-meissners.org>
27790 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
27791 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
27792 * config/rs6000/rs6000.md (prefixed attribute): Delete section
27793 that sets the prefixed attribute for xxspltiw, xxspltidp, and
27794 xxsplti32dx instructions.
27795 (movsf_hardfloat): Explicitly set the prefixed attribute
27796 when xxspltiw and xxspltidp instructions are generated.
27797 (mov<mode>_hardfloat32): Likewise.
27798 (mov<mode>_hardfloat64): Likewise.
27799 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
27800 prefixed attribute for xxspltiw and xxspltidp instructions.
27801 (vsx_mov<mode>_32bit): Likewise.
27803 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
27805 PR bootstrap/104170
27806 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
27807 Return true only on glibc.
27808 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
27809 Revert commit c163647ffbc.
27810 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
27812 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
27814 * common/config/s390/s390-common.cc (s390_supports_split_stack):
27815 Only support split-stack on glibc targets.
27816 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
27817 * config/i386/gnu.h (defined): Ditto.
27819 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
27821 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
27822 vector float and vector double.
27824 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
27826 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
27827 Fix mention of ifunc in string.
27829 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
27831 PR middle-end/104140
27832 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
27833 operands of the widening multiplication are either both signed or
27834 both unsigned, and abort the conversion if mismatched.
27835 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
27836 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
27838 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
27839 integer types with the same precision and signedness.
27840 (WIDEN_MULT_EXPR): Document that operands must have integer types
27841 with the same precision, but possibly differing signedness.
27842 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
27843 riscv_current_subset_list returning a NULL pointer (empty list).
27845 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
27848 * ira.h (struct target_ira): Add member
27849 x_ira_exclude_class_mode_regs.
27850 (ira_exclude_class_mode_regs): New macro.
27851 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
27853 * lra-int.h: ... to here.
27854 (lra_create_new_reg_with_unique_value): Add arg
27855 exclude_start_hard_regs.
27856 (class lra_reg): Add member exclude_start_hard_regs.
27857 * lra-assigns.cc (find_hard_regno_for_1): Setup
27858 impossible_start_hard_regs from exclude_start_hard_regs.
27859 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
27860 it lra_create_new_reg[_with_unique_value].
27861 (match_reload): Ditto.
27862 (check_and_process_move): Pass NULL
27863 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
27864 (goal_alt_exclude_start_hard_regs): New static variable.
27865 (process_addr_reg, simplify_operand_subreg): Pass NULL
27866 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
27867 and get_reload_reg.
27868 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
27869 Use this_alternative_exclude_start_hard_regs additionally to find
27870 winning operand alternative.
27871 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
27872 exclude_start_hard_regs to lra_create_new_reg.
27873 (process_address_1, emit_inc): Ditto.
27874 (curr_insn_transform): Pass exclude_start_hard_regs value to
27875 lra_create_new_reg, get_reload_reg, match_reload.
27876 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
27877 to lra_create_new_reg.
27878 (process_invariant_for_inheritance): Ditto.
27879 * lra-remat.cc (update_scratch_ops): Ditto.
27880 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
27881 exclude_start_hard_regs. Setup the corresponding member of
27883 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
27884 to lra_create_new_reg_with_unique_value.
27885 (initialize_lra_reg_info_element): Initialize member
27886 exclude_start_hard_regs.
27887 (get_scratch_reg): Pass NULL to lra_create_new_reg.
27888 * ira.cc (setup_prohibited_class_mode_regs): Rename to
27889 setup_prohibited_and_exclude_class_mode_regs and calculate
27890 ira_exclude_class_mode_regs.
27892 2022-01-21 Martin Liska <mliska@suse.cz>
27894 * configure.ac: Detect ld_is_mold and use it for
27895 comdat_group=yes and gcc_cv_ld_hidden=yes.
27896 * configure: Regenerate.
27898 2022-01-21 Richard Biener <rguenther@suse.de>
27900 PR tree-optimization/100089
27901 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
27902 of if-converted loops with unvectorized COND_EXPRs for
27903 all but the unlimited cost models.
27905 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
27907 * config/arm/arm-opts.h (enum stack_protector_guard): New.
27908 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
27910 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
27911 (arm_option_override_internal): Handle and put in error checks.
27912 for stack protector guard options.
27913 (arm_option_reconfigure_globals): Likewise.
27914 (arm_stack_protect_tls_canary_mem): New.
27915 (arm_stack_protect_guard): New.
27916 * config/arm/arm.md (stack_protect_set): New.
27917 (stack_protect_set_tls): Likewise.
27918 (stack_protect_test): Likewise.
27919 (stack_protect_test_tls): Likewise.
27920 (reload_tp_hard): Likewise.
27921 * config/arm/arm.opt (-mstack-protector-guard): New
27922 (-mstack-protector-guard-offset): New.
27923 * doc/invoke.texi: Document new options.
27925 2022-01-21 Richard Biener <rguenther@suse.de>
27927 PR tree-optimization/104156
27928 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
27929 Collect and reset debug stmts with out-of-loop uses when
27931 (find_loop_guard): Adjust.
27932 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
27933 (used_outside_loop_p): Push debug uses to a vector of
27934 debug stmts to reset.
27935 (hoist_guard): Adjust -fopt-info category.
27937 2022-01-21 Richard Biener <rguenther@suse.de>
27939 PR tree-optimization/104152
27940 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
27941 can_duplicate_and_interleave_p check.
27943 2022-01-21 Jakub Jelinek <jakub@redhat.com>
27945 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
27946 Avoid passing var to warning_at when the format string doesn't
27949 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
27951 PR tree-optimization/103721
27952 * gimple-range-path.cc
27953 (path_range_query::relations_may_be_invalidated): New.
27954 (path_range_query::compute_ranges_in_block): Reset relations if
27955 they may be invalidated.
27956 (path_range_query::maybe_register_phi_relation): Exit if relations
27957 may be invalidated on incoming edge.
27958 (path_range_query::compute_phi_relations): Pass incoming PHI edge
27959 to maybe_register_phi_relation.
27960 * gimple-range-path.h (relations_may_be_invalidated): New.
27961 (maybe_register_phi_relation): Pass edge instead of tree.
27962 * tree-ssa-threadbackward.cc (back_threader::back_threader):
27964 * value-relation.cc (path_oracle::path_oracle): Call
27965 mark_dfs_back_edges.
27966 (path_oracle::register_relation): Add SSA names to m_registered
27968 (path_oracle::reset_path): Clear m_registered bitmap.
27969 * value-relation.h (path_oracle::set_root_oracle): New.
27971 2022-01-21 Jakub Jelinek <jakub@redhat.com>
27973 PR rtl-optimization/102478
27974 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
27975 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
27978 2022-01-20 Richard Biener <rguenther@suse.de>
27980 PR middle-end/100786
27981 * gimple-fold.cc (get_symbol_constant_value): Only return
27982 values of compatible type to the symbol.
27984 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
27986 * value-relation.cc (relation_oracle::valid_equivs): Query and add
27987 if valid members of a set.
27988 (equiv_oracle::register_equiv): Call valid_equivs rather than
27989 bitmap direct operations.
27990 (path_oracle::register_equiv): Ditto.
27991 * value-relation.h (relation_oracle::valid_equivs): New prototype.
27993 2022-01-20 Richard Biener <rguenther@suse.de>
27996 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
27997 LHS before folding __builtin_ia32_shufpd and friends.
27999 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28001 * config/arm/crypto.md (aes_op_protect): Allow moves from core
28002 registers and from memory.
28003 (aes_op_protect_misalign_load): New pattern.
28004 (aes_op_protect_neon_vld1v16qi): New pattern.
28006 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28008 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
28010 (aarch32_crypto_aese_fused_protected): Likewise.
28011 (aarch32_crypto_aesd_fused_protected): Likewise.
28013 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28015 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
28016 to define_expand. Add mitigation for the Cortex-A AES erratum
28018 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
28019 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
28020 (aes_op_protect): New pattern.
28021 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
28023 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28025 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
28026 (ALL_QUIRKS): Add it.
28027 (cortex-a57, cortex-a72): Enable it.
28028 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
28029 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
28031 (mfix-cortex-a72-aes-1655431): New option alias.
28032 * config/arm/arm.cc (arm_option_override): Handle default settings
28033 for AES erratum switch.
28034 * doc/invoke.texi (Arm Options): Document new options.
28036 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28038 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
28039 <crypto_mode> rather than hard-coding the mode.
28040 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
28041 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28042 (*aarch32_crypto_aese_fused): Likewise.
28043 (*aarch32_crypto_aesd_fused): Likewise.
28044 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28045 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28046 (crypto_sha1h_lb): Likewise.
28047 (crypto_vmullp64): Likewise.
28048 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28049 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28051 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
28053 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
28054 iterator to pattern name to disambiguate.
28055 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28056 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28057 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28058 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28059 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28061 2022-01-20 Martin Liska <mliska@suse.cz>
28063 PR bootstrap/104135
28064 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
28065 * rtl.cc: Partially disable -Wformat-diag for RTL checking
28068 2022-01-20 Jakub Jelinek <jakub@redhat.com>
28071 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
28072 block_num > 0, index entry even if !have_multiple_function_sections.
28074 2022-01-20 liuhongt <hongtao.liu@intel.com>
28077 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
28078 integral mode mask pack by multi steps which takes
28079 vec_pack_sbool_trunc_optab as start when elements number is
28080 less than BITS_PER_UNITS.
28082 2022-01-20 Richard Biener <rguenther@suse.de>
28084 PR tree-optimization/104114
28085 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
28086 single element vector decomposition.
28088 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28090 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
28091 (noce_convert_multiple_sets): Call function a second time if we can
28092 improve the first try.
28094 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28096 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
28097 reversed comparison.
28098 (try_emit_cmove_seq): New function to facilitate creating a cmov
28100 (noce_convert_multiple_sets): Create two sequences and use the less
28103 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28105 * rtl.h (struct rtx_comparison): New struct that holds an rtx
28107 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
28109 (rs6000_emit_swsqrt): Likewise.
28110 * expmed.cc (expand_sdiv_pow2): Likewise.
28111 (emit_store_flag): Likewise.
28112 * expr.cc (expand_cond_expr_using_cmove): Likewise.
28113 (expand_expr_real_2): Likewise.
28114 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
28116 * optabs.cc (emit_conditional_move_1): New function.
28117 (expand_doubleword_shift_condmove): Use struct.
28118 (emit_conditional_move): Use struct and allow to call directly
28119 without going through preparation steps.
28120 * optabs.h (emit_conditional_move): Use struct.
28122 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28124 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
28125 (noce_process_if_block): Use potential costs.
28127 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28129 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
28130 (bb_ok_for_noce_convert_multiple_sets): Likewise.
28132 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
28134 * ifcvt.cc (need_cmov_or_rewire): New function.
28135 (noce_convert_multiple_sets): Call it.
28137 2022-01-19 David Malcolm <dmalcolm@redhat.com>
28139 * attribs.cc (attribute_c_tests): Rename to...
28140 (attribs_cc_tests): ...this.
28141 * bitmap.cc (bitmap_c_tests): Rename to...
28142 (bitmap_cc_tests): ...this.
28143 * cgraph.cc (cgraph_c_finalize): Rename to...
28144 (cgraph_cc_finalize): ...this.
28145 (cgraph_c_tests): Rename to...
28146 (cgraph_cc_tests): ...this.
28147 * cgraph.h (cgraph_c_finalize): Rename to...
28148 (cgraph_cc_finalize): ...this.
28149 (cgraphunit_c_finalize): Rename to...
28150 (cgraphunit_cc_finalize): ...this.
28151 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
28152 (cgraphunit_cc_finalize): ...this.
28153 * convert.cc (convert_c_tests): Rename to...
28154 (convert_cc_tests): ...this.
28155 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
28156 (dbgcnt_cc_tests): ...this.
28157 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
28158 (diagnostic_show_locus_cc_tests): ...this.
28159 * diagnostic.cc (diagnostic_c_tests): Rename to...
28160 (diagnostic_cc_tests): ...this.
28161 * dumpfile.cc (dumpfile_c_tests): Rename to...
28162 (dumpfile_cc_tests): ...this.
28163 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
28164 (dwarf2out_cc_finalize): ...this.
28165 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
28166 (dwarf2out_cc_finalize): ...this.
28167 * edit-context.cc (edit_context_c_tests): Rename to...
28168 (edit_context_cc_tests): ...this.
28169 * et-forest.cc (et_forest_c_tests): Rename to...
28170 (et_forest_cc_tests): ...this.
28171 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
28172 (fibonacci_heap_cc_tests): ...this.
28173 * fold-const.cc (fold_const_c_tests): Rename to...
28174 (fold_const_cc_tests): ...this.
28175 * function-tests.cc (function_tests_c_tests): Rename to...
28176 (function_tests_cc_tests): ...this.
28177 * gcse.cc (gcse_c_finalize): Rename to...
28178 (gcse_cc_finalize): ...this.
28179 * gcse.h (gcse_c_finalize): Rename to...
28180 (gcse_cc_finalize): ...this.
28181 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
28182 (ggc_tests_cc_tests): ...this.
28183 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
28184 (store_merging_cc_tests): ...this.
28185 * gimple.cc (gimple_c_tests): Rename to...
28186 (gimple_cc_tests): ...this.
28187 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
28188 (hash_map_tests_cc_tests): ...this.
28189 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
28190 (hash_set_tests_cc_tests): ...this.
28191 * input.cc (input_c_tests): Rename to...
28192 (input_cc_tests): ...this.
28193 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
28194 (ipa_cp_cc_finalize): ...this.
28195 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
28196 (ipa_fnsummary_cc_finalize): ...this.
28197 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
28198 (ipa_fnsummary_cc_finalize): ...this.
28199 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
28200 (ipa_modref_tree_cc_tests): ...this.
28201 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
28202 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
28203 (ipa_modref_cc_finalize): ...this.
28204 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
28205 (ipa_modref_cc_finalize): ...this.
28206 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
28207 (ipa_cp_cc_finalize): ...this.
28208 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
28209 (ipa_reference_cc_finalize): ...this.
28210 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
28211 (ipa_reference_cc_finalize): ...this.
28212 * ira-costs.cc (ira_costs_c_finalize): Rename to...
28213 (ira_costs_cc_finalize): ...this.
28214 * ira.h (ira_costs_c_finalize): Rename to...
28215 (ira_costs_cc_finalize): ...this.
28216 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
28217 (opt_suggestions_cc_tests): ...this.
28218 * opts.cc (opts_c_tests): Rename to...
28219 (opts_cc_tests): ...this.
28220 * predict.cc (predict_c_tests): Rename to...
28221 (predict_cc_tests): ...this.
28222 * pretty-print.cc (pretty_print_c_tests): Rename to...
28223 (pretty_print_cc_tests): ...this.
28224 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
28225 (read_rtl_function_cc_tests): ...this.
28226 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
28227 (rtl_tests_cc_tests): ...this.
28228 * sbitmap.cc (sbitmap_c_tests): Rename to...
28229 (sbitmap_cc_tests): ...this.
28230 * selftest-run-tests.cc (selftest::run_tests): Update calls for
28231 _c_ to _cc_ function renamings; fix names of attribs and
28232 opt-suggestions tests.
28233 * selftest.cc (selftest_c_tests): Rename to...
28234 (selftest_cc_tests): ...this.
28235 * selftest.h (attribute_c_tests): Rename to...
28236 (attribs_cc_tests): ...this.
28237 (bitmap_c_tests): Rename to...
28238 (bitmap_cc_tests): ...this.
28239 (cgraph_c_tests): Rename to...
28240 (cgraph_cc_tests): ...this.
28241 (convert_c_tests): Rename to...
28242 (convert_cc_tests): ...this.
28243 (diagnostic_c_tests): Rename to...
28244 (diagnostic_cc_tests): ...this.
28245 (diagnostic_show_locus_c_tests): Rename to...
28246 (diagnostic_show_locus_cc_tests): ...this.
28247 (dumpfile_c_tests): Rename to...
28248 (dumpfile_cc_tests): ...this.
28249 (edit_context_c_tests): Rename to...
28250 (edit_context_cc_tests): ...this.
28251 (et_forest_c_tests): Rename to...
28252 (et_forest_cc_tests): ...this.
28253 (fibonacci_heap_c_tests): Rename to...
28254 (fibonacci_heap_cc_tests): ...this.
28255 (fold_const_c_tests): Rename to...
28256 (fold_const_cc_tests): ...this.
28257 (function_tests_c_tests): Rename to...
28258 (function_tests_cc_tests): ...this.
28259 (ggc_tests_c_tests): Rename to...
28260 (ggc_tests_cc_tests): ...this.
28261 (gimple_c_tests): Rename to...
28262 (gimple_cc_tests): ...this.
28263 (hash_map_tests_c_tests): Rename to...
28264 (hash_map_tests_cc_tests): ...this.
28265 (hash_set_tests_c_tests): Rename to...
28266 (hash_set_tests_cc_tests): ...this.
28267 (input_c_tests): Rename to...
28268 (input_cc_tests): ...this.
28269 (opts_c_tests): Rename to...
28270 (opts_cc_tests): ...this.
28271 (predict_c_tests): Rename to...
28272 (predict_cc_tests): ...this.
28273 (pretty_print_c_tests): Rename to...
28274 (pretty_print_cc_tests): ...this.
28275 (read_rtl_function_c_tests): Rename to...
28276 (read_rtl_function_cc_tests): ...this.
28277 (rtl_tests_c_tests): Rename to...
28278 (rtl_tests_cc_tests): ...this.
28279 (sbitmap_c_tests): Rename to...
28280 (sbitmap_cc_tests): ...this.
28281 (selftest_c_tests): Rename to...
28282 (selftest_cc_tests): ...this.
28283 (simplify_rtx_c_tests): Rename to...
28284 (simplify_rtx_cc_tests): ...this.
28285 (spellcheck_c_tests): Rename to...
28286 (spellcheck_cc_tests): ...this.
28287 (spellcheck_tree_c_tests): Rename to...
28288 (spellcheck_tree_cc_tests): ...this.
28289 (sreal_c_tests): Rename to...
28290 (sreal_cc_tests): ...this.
28291 (store_merging_c_tests): Rename to...
28292 (store_merging_cc_tests): ...this.
28293 (tree_c_tests): Rename to...
28294 (tree_cc_tests): ...this.
28295 (tree_cfg_c_tests): Rename to...
28296 (tree_cfg_cc_tests): ...this.
28297 (typed_splay_tree_c_tests): Rename to...
28298 (typed_splay_tree_cc_tests): ...this.
28299 (vec_c_tests): Rename to...
28300 (vec_cc_tests): ...this.
28301 (vec_perm_indices_c_tests): Rename to...
28302 (vec_perm_indices_cc_tests): ..this.
28303 (opt_proposer_c_tests): Rename to...
28304 (opt_suggestions_cc_tests): ...this.
28305 (dbgcnt_c_tests): Rename to...
28306 (dbgcnt_cc_tests): ...this.
28307 (ipa_modref_tree_c_tests): Rename to...
28308 (ipa_modref_tree_cc_tests): ...this.
28309 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
28310 (simplify_rtx_cc_tests): ...this.
28311 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
28312 (spellcheck_tree_cc_tests): ...this.
28313 * spellcheck.cc (spellcheck_c_tests): Rename to...
28314 (spellcheck_cc_tests): ...this.
28315 * sreal.cc (sreal_c_tests): Rename to...
28316 (sreal_cc_tests): ...this.
28317 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
28318 function renamings.
28319 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
28320 (tree_cfg_cc_tests): ...this.
28321 * tree.cc (tree_c_tests): Rename to...
28322 (tree_cc_tests): ...this.
28323 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
28324 (typed_splay_tree_cc_tests): ...this.
28325 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
28326 (vec_perm_indices_cc_tests): ...this.
28327 * vec.cc (vec_c_tests): Rename to...
28328 (vec_cc_tests): ...this.
28330 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
28332 PR tree-optimization/103997
28333 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
28336 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28338 PR middle-end/102860
28339 * match.pd (x %[fl] y -> x % y): New simplification for
28340 unsigned integral types.
28341 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
28342 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
28344 2022-01-19 Richard Biener <rguenther@suse.de>
28346 PR tree-optimization/104112
28347 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
28348 for required intermediate vector types.
28350 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28352 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
28354 2022-01-19 Martin Liska <mliska@suse.cz>
28356 * configure.ac: Remove -Wno-error=format-diag.
28357 * configure: Regenerate.
28359 2022-01-19 Martin Liska <mliska@suse.cz>
28361 * config/riscv/riscv.cc (riscv_handle_type_attribute):
28362 Update one -Wformat-diag string in warning message.
28364 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28366 PR middle-end/104103
28367 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
28370 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28373 * fold-const.cc (address_compare): Consider different STRING_CSTs
28374 with the same lengths that memcmp the same as equal, not different.
28376 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28378 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
28381 2022-01-19 Martin Liska <mliska@suse.cz>
28382 Thomas Schwinge <thomas@codesourcery.com>
28384 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
28387 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
28390 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
28393 2022-01-19 Jakub Jelinek <jakub@redhat.com>
28396 * config/i386/sse.md
28397 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
28398 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
28399 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
28400 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
28401 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
28402 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
28403 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
28404 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
28405 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
28407 2022-01-19 Martin Sebor <msebor@redhat.com>
28409 PR middle-end/104069
28410 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
28411 an unknown result as documented.
28413 2022-01-18 Andrew Pinski <apinski@marvell.com>
28415 * ipa-split.cc (visit_bb): Fix comment before the
28416 warning/error attribute checking code.
28418 2022-01-18 David Faust <david.faust@oracle.com>
28420 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
28421 for base strtab offset yet as it may change.
28422 (output_asm_btfext_core_reloc): Do so here instead.
28423 (output_btfext_core_sections): Likewise.
28425 2022-01-18 David Faust <david.faust@oracle.com>
28427 * config/bpf/coreout.cc (output_btfext_header): Account for
28428 4-byte record size in core_relo_len.
28429 (output_btfext_core_sections): Only write record size once.
28430 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
28433 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
28435 * common/config/riscv/riscv-common.cc
28436 (riscv_subset_list::parse_multiletter_ext): Move pointer
28437 arithmetic ahead of `free'.
28439 2022-01-18 Jason Merrill <jason@redhat.com>
28442 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
28445 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
28447 PR middle-end/103163
28448 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
28449 (init_emit_once): ...not here.
28451 2022-01-18 Martin Liska <mliska@suse.cz>
28453 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
28454 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
28455 * config/arc/arc.md: Likewise.
28456 * config/avr/avr.cc (avr_section_type_flags): Likewise.
28457 * config/bfin/bfin.cc (bfin_option_override): Likewise.
28458 (bfin_handle_longcall_attribute): Likewise.
28459 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
28460 * config/frv/frv.cc (frv_expand_builtin): Likewise.
28461 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
28462 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
28463 (iq2000_print_operand_address): Likewise.
28464 (iq2000_print_operand): Likewise.
28465 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
28466 (m32c_pragma_address): Likewise.
28467 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
28468 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
28469 (mips_set_compression_mode): Likewise.
28470 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
28471 (mmix_print_operand): Likewise.
28472 (mmix_output_shiftvalue_op_from_str): Likewise.
28473 (mmix_output_shifted_value): Likewise.
28474 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
28475 * config/msp430/msp430.cc (msp430_option_override): Likewise.
28476 (msp430_attr): Likewise.
28477 (msp430_expand_delay_cycles): Likewise.
28478 (msp430_expand_builtin): Likewise.
28479 * config/rs6000/aix73.h: Likewise.
28480 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
28481 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
28482 (valid_psw_flag): Likewise.
28483 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
28484 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
28485 (xstormy16_expand_builtin_va_start): Likewise.
28486 (xstormy16_handle_below100_attribute): Likewise.
28488 2022-01-18 Martin Liska <mliska@suse.cz>
28490 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
28492 (vms_pragma_standard): Likewise.
28493 (vms_pragma_extern_prefix): Likewise.
28495 2022-01-18 Martin Liska <mliska@suse.cz>
28497 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
28498 (print_operand_address): Likewise.
28499 (xtensa_multibss_section_type_flags): Likewise.
28501 2022-01-18 Martin Liska <mliska@suse.cz>
28503 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
28504 wording of an error message.
28506 2022-01-18 Martin Liska <mliska@suse.cz>
28508 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
28510 (ghs_pragma_section): Likewise.
28511 (ghs_pragma_interrupt): Likewise.
28512 (ghs_pragma_starttda): Likewise.
28513 (ghs_pragma_startsda): Likewise.
28514 (ghs_pragma_startzda): Likewise.
28515 (ghs_pragma_endtda): Likewise.
28516 (ghs_pragma_endsda): Likewise.
28517 (ghs_pragma_endzda): Likewise.
28519 2022-01-18 Martin Liska <mliska@suse.cz>
28521 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
28523 * config/nds32/nds32-intrinsic.md: Likewise.
28524 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
28525 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
28526 (nds32_insert_attributes): Likewise.
28528 2022-01-18 Martin Liska <mliska@suse.cz>
28530 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
28532 * config/nvptx/nvptx.md: Remove trailing dot.
28534 2022-01-18 Martin Liska <mliska@suse.cz>
28536 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
28537 Wrap keywords with quotes and remove trailing dots.
28538 (riscv_subset_list::parsing_subset_version): Likewise.
28539 (riscv_subset_list::parse_std_ext): Likewise.
28540 (riscv_subset_list::parse_multiletter_ext): Likewise.
28541 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
28543 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
28545 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
28546 argument suggested_unroll_factor.
28547 (vect_analyze_loop_costing): Likewise.
28548 (_loop_vec_info::_loop_vec_info): Initialize new member
28549 suggested_unroll_factor.
28550 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
28551 main loop use partial vectors.
28552 (vect_analyze_loop_2): Pass and use new argument
28553 suggested_unroll_factor.
28554 (vect_analyze_loop_1): Change to intialize local
28555 suggested_unroll_factor and use it.
28556 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
28557 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
28558 suggested_unroll_factor.
28559 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
28560 (vector_costs::suggested_unroll_factor): New getter function.
28561 (finish_cost): Set return argument suggested_unroll_factor.
28563 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
28565 PR tree-optimization/104038
28566 * doc/invoke.texi (relation-block-limit): New.
28567 * params.opt (relation-block-limit): New.
28568 * value-relation.cc (dom_oracle::register_relation): Check for NULL
28569 record before invoking transitive registery.
28570 (dom_oracle::set_one_relation): Check limit before creating record.
28571 (dom_oracle::register_transitives): Stop when no record created.
28572 * value-relation.h (relation_chain_head::m_num_relations): New.
28574 2022-01-18 Richard Biener <rguenther@suse.de>
28577 * ipa-inline.cc (inline_small_functions): Do not enqueue call
28578 edges originating in functions compiled with -Og.
28580 2022-01-18 Richard Biener <rguenther@suse.de>
28583 * passes.def (pass_all_optimizations_g): Remove pass_modref
28584 and pass_local_pure_const.
28586 2022-01-18 Martin Liska <mliska@suse.cz>
28588 * config/s390/s390.cc: Fix -Wformat-diag warnings.
28590 2022-01-18 Martin Liska <mliska@suse.cz>
28592 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
28594 (s390_resolve_overloaded_builtin): Remove trailing dot.
28595 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
28596 (s390_expand_builtin): Remove trailing dot.
28597 (s390_emit_prologue): Likewise, use semicolon.
28598 (s390_option_override_internal): Update keyword.
28599 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
28601 2022-01-18 Martin Liska <mliska@suse.cz>
28603 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
28604 keywords and use %qs instead of %<%s%>.
28606 2022-01-18 Richard Biener <rguenther@suse.de>
28608 PR tree-optimization/103987
28609 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
28610 query with a pointer check.
28612 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
28615 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
28616 When using MEM_EXPR, require the base to be a decl.
28618 2022-01-18 Richard Biener <rguenther@suse.de>
28620 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
28622 * function.h (struct function): Likewise.
28624 2022-01-18 Arnaud Charlet <charlet@adacore.com>
28626 * doc/install.texi: Update prerequisites for GNAT
28628 2022-01-18 Andrew Pinski <apinski@marvell.com>
28630 PR tree-optimization/101941
28631 * ipa-split.cc (visit_bb): Disallow function calls where
28632 the function has either error or warning attribute.
28634 2022-01-18 Richard Biener <rguenther@suse.de>
28636 PR tree-optimization/104064
28637 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
28638 DR_INIT fits in a signed HWI, represent the difference from the
28639 first DR in unsigned.
28641 2022-01-17 Martin Liska <mliska@suse.cz>
28643 * Makefile.in: Rename .c names to .cc.
28644 * config.gcc: Likewise.
28645 * configure: Regenerate. Likewise.
28646 * configure.ac: Likewise.
28647 * gengtype.cc (set_gc_used): Likewise.
28648 (source_dot_c_frul): Likewise.
28649 (source_dot_cc_frul): Likewise.
28650 (struct file_rule_st): Likewise.
28651 (close_output_files): Likewise.
28652 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
28654 2022-01-17 Martin Liska <mliska@suse.cz>
28656 * Makefile.in: Rename .c names to .cc.
28657 * alias.h: Likewise.
28658 * asan.cc: Likewise.
28659 * auto-profile.h: Likewise.
28660 * basic-block.h (struct basic_block_d): Likewise.
28661 * btfout.cc: Likewise.
28662 * builtins.cc (expand_builtin_longjmp): Likewise.
28663 (validate_arg): Likewise.
28664 (access_ref::offset_bounded): Likewise.
28665 * caller-save.cc (reg_restore_code): Likewise.
28666 (setup_save_areas): Likewise.
28667 * calls.cc (initialize_argument_information): Likewise.
28668 (expand_call): Likewise.
28669 (emit_library_call_value_1): Likewise.
28670 * cfg-flags.def (RTL): Likewise.
28671 (SIBCALL): Likewise.
28672 (CAN_FALLTHRU): Likewise.
28673 * cfganal.cc (post_order_compute): Likewise.
28674 * cfgcleanup.cc (try_simplify_condjump): Likewise.
28675 (merge_blocks_move_predecessor_nojumps): Likewise.
28676 (merge_blocks_move_successor_nojumps): Likewise.
28677 (merge_blocks_move): Likewise.
28678 (old_insns_match_p): Likewise.
28679 (try_crossjump_bb): Likewise.
28680 * cfgexpand.cc (expand_gimple_stmt): Likewise.
28681 * cfghooks.cc (split_block_before_cond_jump): Likewise.
28682 (profile_record_check_consistency): Likewise.
28683 * cfghooks.h: Likewise.
28684 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
28685 (rtl_can_merge_blocks): Likewise.
28686 (try_redirect_by_replacing_jump): Likewise.
28687 (make_pass_outof_cfg_layout_mode): Likewise.
28688 (cfg_layout_can_merge_blocks_p): Likewise.
28689 * cgraph.cc (release_function_body): Likewise.
28690 (cgraph_node::get_fun): Likewise.
28691 * cgraph.h (struct cgraph_node): Likewise.
28692 (asmname_hasher::equal): Likewise.
28693 (cgraph_inline_failed_type): Likewise.
28694 (thunk_adjust): Likewise.
28695 (dump_callgraph_transformation): Likewise.
28696 (record_references_in_initializer): Likewise.
28697 (ipa_discover_variable_flags): Likewise.
28698 * cgraphclones.cc (GTY): Likewise.
28699 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
28700 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
28701 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
28702 * collect2.cc (maybe_run_lto_and_relink): Likewise.
28703 * combine-stack-adj.cc: Likewise.
28704 * combine.cc (setup_incoming_promotions): Likewise.
28705 (combine_simplify_rtx): Likewise.
28706 (count_rtxs): Likewise.
28707 * common.opt: Likewise.
28708 * common/config/aarch64/aarch64-common.cc: Likewise.
28709 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
28710 * common/config/avr/avr-common.cc: Likewise.
28711 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
28712 * conditions.h: Likewise.
28713 * config.gcc: Likewise.
28714 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
28715 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
28716 (aarch64_get_extension_string_for_isa_flags): Likewise.
28717 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
28718 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
28719 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
28720 (aarch64_option_valid_attribute_p): Likewise.
28721 (aarch64_short_vector_p): Likewise.
28722 (aarch64_float_const_representable_p): Likewise.
28723 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
28724 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
28726 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
28727 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
28728 * config/aarch64/t-aarch64: Likewise.
28729 * config/aarch64/x-aarch64: Likewise.
28730 * config/aarch64/x-darwin: Likewise.
28731 * config/alpha/alpha-protos.h: Likewise.
28732 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
28733 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
28734 (enum reg_class): Likewise.
28735 * config/alpha/alpha.md: Likewise.
28736 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
28737 * config/alpha/x-alpha: Likewise.
28738 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
28739 * config/arc/arc.cc (ARC_OPT): Likewise.
28740 (arc_ccfsm_advance): Likewise.
28741 (arc_arg_partial_bytes): Likewise.
28742 (conditionalize_nonjump): Likewise.
28743 * config/arc/arc.md: Likewise.
28744 * config/arc/builtins.def: Likewise.
28745 * config/arc/t-arc: Likewise.
28746 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
28747 (arm_pragma_target_parse): Likewise.
28748 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
28749 (arm_cpu_cpp_builtins): Likewise.
28750 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
28751 (shift_op): Likewise.
28752 (thumb2_final_prescan_insn): Likewise.
28753 (arm_final_prescan_insn): Likewise.
28754 (arm_asm_output_labelref): Likewise.
28755 (arm_small_register_classes_for_mode_p): Likewise.
28756 * config/arm/arm.h: Likewise.
28757 * config/arm/arm.md: Likewise.
28758 * config/arm/driver-arm.cc: Likewise.
28759 * config/arm/symbian.h: Likewise.
28760 * config/arm/t-arm: Likewise.
28761 * config/arm/thumb1.md: Likewise.
28762 * config/arm/x-arm: Likewise.
28763 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
28764 * config/avr/avr-fixed.md: Likewise.
28765 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
28766 * config/avr/avr-mcus.def: Likewise.
28767 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
28768 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
28769 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
28770 * config/avr/avr.cc (avr_option_override): Likewise.
28771 (avr_build_builtin_va_list): Likewise.
28772 (avr_mode_dependent_address_p): Likewise.
28773 (avr_function_arg_advance): Likewise.
28774 (avr_asm_output_aligned_decl_common): Likewise.
28775 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
28776 (SUPPORTS_INIT_PRIORITY): Likewise.
28777 * config/avr/avr.md: Likewise.
28778 * config/avr/builtins.def: Likewise.
28779 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
28780 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
28782 * config/avr/t-avr: Likewise.
28783 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
28784 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
28785 * config/bpf/bpf.h (enum reg_class): Likewise.
28786 * config/bpf/t-bpf: Likewise.
28787 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
28788 * config/cr16/cr16-protos.h: Likewise.
28789 * config/cris/cris.cc (cris_address_cost): Likewise.
28790 (cris_side_effect_mode_ok): Likewise.
28791 (cris_init_machine_status): Likewise.
28792 (cris_emit_movem_store): Likewise.
28793 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
28794 (enum reg_class): Likewise.
28795 (struct cum_args): Likewise.
28796 * config/cris/cris.opt: Likewise.
28797 * config/cris/sync.md: Likewise.
28798 * config/csky/csky.cc (csky_expand_prologue): Likewise.
28799 * config/darwin-c.cc: Likewise.
28800 * config/darwin-f.cc: Likewise.
28801 * config/darwin-sections.def (zobj_const_section): Likewise.
28802 * config/darwin.cc (output_objc_section_asm_op): Likewise.
28803 (fprintf): Likewise.
28804 * config/darwin.h (GTY): Likewise.
28805 * config/elfos.h: Likewise.
28806 * config/epiphany/epiphany-sched.md: Likewise.
28807 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
28808 * config/epiphany/epiphany.h (GTY): Likewise.
28809 (NO_FUNCTION_CSE): Likewise.
28810 * config/epiphany/mode-switch-use.cc: Likewise.
28811 * config/epiphany/predicates.md: Likewise.
28812 * config/epiphany/t-epiphany: Likewise.
28813 * config/fr30/fr30-protos.h: Likewise.
28814 * config/frv/frv-protos.h: Likewise.
28815 * config/frv/frv.cc (TLS_BIAS): Likewise.
28816 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
28817 * config/ft32/ft32-protos.h: Likewise.
28818 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
28819 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
28820 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
28821 * config/gcn/t-gcn-hsa: Likewise.
28822 * config/gcn/t-omp-device: Likewise.
28823 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
28824 (same_cmp_following_p): Likewise.
28825 * config/h8300/h8300.cc (F): Likewise.
28826 * config/h8300/h8300.h (struct cum_arg): Likewise.
28827 (BRANCH_COST): Likewise.
28828 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
28829 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
28830 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
28831 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
28832 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
28833 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
28834 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
28835 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
28836 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
28837 (ix86_register_pragmas): Likewise.
28838 (ix86_d_has_stdcall_convention): Likewise.
28839 (i386_pe_seh_init_sections): Likewise.
28840 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
28841 (ix86_function_value_regno_p): Likewise.
28842 (ix86_compute_frame_layout): Likewise.
28843 (legitimize_pe_coff_symbol): Likewise.
28844 (output_pic_addr_const): Likewise.
28845 * config/i386/i386.h (defined): Likewise.
28846 (host_detect_local_cpu): Likewise.
28847 (CONSTANT_ADDRESS_P): Likewise.
28848 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
28849 (struct machine_frame_state): Likewise.
28850 * config/i386/i386.md: Likewise.
28851 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
28852 * config/i386/mmx.md: Likewise.
28853 * config/i386/sse.md: Likewise.
28854 * config/i386/t-cygming: Likewise.
28855 * config/i386/t-djgpp: Likewise.
28856 * config/i386/t-gnu-property: Likewise.
28857 * config/i386/t-i386: Likewise.
28858 * config/i386/t-intelmic: Likewise.
28859 * config/i386/t-omp-device: Likewise.
28860 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
28861 (i386_pe_adjust_class_at_definition): Likewise.
28862 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
28863 (i386_pe_mangle_decl_assembler_name): Likewise.
28864 (i386_pe_encode_section_info): Likewise.
28865 * config/i386/x-cygwin: Likewise.
28866 * config/i386/x-darwin: Likewise.
28867 * config/i386/x-i386: Likewise.
28868 * config/i386/x-mingw32: Likewise.
28869 * config/i386/x86-tune-sched-core.cc: Likewise.
28870 * config/i386/x86-tune.def: Likewise.
28871 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
28872 * config/ia64/freebsd.h: Likewise.
28873 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
28874 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
28875 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
28876 (ia64_secondary_reload_class): Likewise.
28877 (bundling): Likewise.
28878 * config/ia64/ia64.h: Likewise.
28879 * config/ia64/ia64.md: Likewise.
28880 * config/ia64/predicates.md: Likewise.
28881 * config/ia64/sysv4.h: Likewise.
28882 * config/ia64/t-ia64: Likewise.
28883 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
28884 * config/iq2000/iq2000.md: Likewise.
28885 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
28887 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
28888 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
28889 * config/m32c/t-m32c: Likewise.
28890 * config/m32r/m32r-protos.h: Likewise.
28891 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
28892 * config/m32r/m32r.h: Likewise.
28893 * config/m32r/m32r.md: Likewise.
28894 * config/m68k/m68k-isas.def: Likewise.
28895 * config/m68k/m68k-microarchs.def: Likewise.
28896 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
28897 (m68k_epilogue_uses): Likewise.
28898 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
28899 (m68k_sched_adjust_cost): Likewise.
28900 (m68k_sched_md_init): Likewise.
28901 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
28902 (enum m68k_function_kind): Likewise.
28903 * config/m68k/m68k.md: Likewise.
28904 * config/m68k/m68kemb.h: Likewise.
28905 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
28906 * config/mcore/mcore-protos.h: Likewise.
28907 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
28908 (mcore_expand_prolog): Likewise.
28909 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
28910 * config/mcore/mcore.md: Likewise.
28911 * config/microblaze/microblaze-protos.h: Likewise.
28912 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
28913 (microblaze_function_prologue): Likewise.
28914 (microblaze_function_epilogue): Likewise.
28915 (microblaze_select_section): Likewise.
28916 (microblaze_asm_output_mi_thunk): Likewise.
28917 (microblaze_eh_return): Likewise.
28918 * config/microblaze/microblaze.h: Likewise.
28919 * config/microblaze/microblaze.md: Likewise.
28920 * config/microblaze/t-microblaze: Likewise.
28921 * config/mips/driver-native.cc: Likewise.
28922 * config/mips/loongson2ef.md: Likewise.
28923 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
28924 * config/mips/mips.cc (mips_rtx_costs): Likewise.
28925 (mips_output_filename): Likewise.
28926 (mips_output_function_prologue): Likewise.
28927 (mips_output_function_epilogue): Likewise.
28928 (mips_output_mi_thunk): Likewise.
28929 * config/mips/mips.h: Likewise.
28930 * config/mips/mips.md: Likewise.
28931 * config/mips/t-mips: Likewise.
28932 * config/mips/x-native: Likewise.
28933 * config/mmix/mmix-protos.h: Likewise.
28934 * config/mmix/mmix.cc (mmix_option_override): Likewise.
28935 (mmix_dbx_register_number): Likewise.
28936 (mmix_expand_prologue): Likewise.
28937 * config/mmix/mmix.h: Likewise.
28938 * config/mmix/mmix.md: Likewise.
28939 * config/mmix/predicates.md: Likewise.
28940 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
28941 (mn10300_legitimate_pic_operand_p): Likewise.
28942 * config/mn10300/mn10300.h (enum reg_class): Likewise.
28943 (NO_FUNCTION_CSE): Likewise.
28944 * config/moxie/moxie-protos.h: Likewise.
28945 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
28946 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
28947 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
28948 (msp430_incoming_return_addr_rtx): Likewise.
28949 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
28950 * config/msp430/t-msp430: Likewise.
28951 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
28952 (nds32_rtx_costs_size_prefer): Likewise.
28953 (nds32_init_rtx_costs): Likewise.
28954 * config/nds32/nds32-doubleword.md: Likewise.
28955 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
28956 (nds32_builtin_decl): Likewise.
28957 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
28958 (enum nds32_isr_nested_type): Likewise.
28959 (enum reg_class): Likewise.
28960 * config/nds32/predicates.md: Likewise.
28961 * config/nds32/t-nds32: Likewise.
28962 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
28963 * config/nvptx/nvptx-protos.h: Likewise.
28964 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
28965 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
28966 * config/nvptx/t-nvptx: Likewise.
28967 * config/nvptx/t-omp-device: Likewise.
28968 * config/pa/elf.h: Likewise.
28969 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
28970 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
28971 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
28972 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
28973 (pa_legitimize_reload_address): Likewise.
28974 (pa_can_use_return_insn): Likewise.
28975 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
28976 (som_output_text_section_asm_op): Likewise.
28977 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
28978 * config/pa/pa.md: Likewise.
28979 * config/pa/som.h: Likewise.
28980 * config/pa/t-pa: Likewise.
28981 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
28982 * config/pdp11/pdp11.h: Likewise.
28983 * config/pdp11/pdp11.md: Likewise.
28984 * config/pdp11/t-pdp11: Likewise.
28985 * config/pru/pru.md: Likewise.
28986 * config/pru/t-pru: Likewise.
28987 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
28988 (riscv_gpr_save_operation_p): Likewise.
28989 (riscv_d_register_target_info): Likewise.
28990 (riscv_init_builtins): Likewise.
28991 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
28992 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
28993 * config/riscv/t-riscv: Likewise.
28994 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
28995 * config/rl78/t-rl78: Likewise.
28996 * config/rs6000/aix.h: Likewise.
28997 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
28998 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
28999 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
29000 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
29001 * config/rs6000/driver-rs6000.cc: Likewise.
29002 * config/rs6000/freebsd.h: Likewise.
29003 * config/rs6000/freebsd64.h: Likewise.
29004 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
29005 * config/rs6000/rbtree.cc: Likewise.
29006 * config/rs6000/rbtree.h: Likewise.
29007 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
29008 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
29009 (rs6000_expand_builtin): Likewise.
29010 (rs6000_init_builtins): Likewise.
29011 * config/rs6000/rs6000-cpus.def: Likewise.
29012 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
29013 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
29014 (quad_address_offset_p): Likewise.
29015 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
29016 (rs6000_emit_epilogue): Likewise.
29017 * config/rs6000/rs6000-overload.def: Likewise.
29018 * config/rs6000/rs6000-p8swap.cc: Likewise.
29019 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
29020 (rs6000_const_f32_to_i32): Likewise.
29021 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
29022 (rs6000_debug_legitimize_address): Likewise.
29023 (rs6000_mode_dependent_address): Likewise.
29024 (rs6000_adjust_priority): Likewise.
29025 (rs6000_c_mode_for_suffix): Likewise.
29026 * config/rs6000/rs6000.h (defined): Likewise.
29027 (LONG_DOUBLE_TYPE_SIZE): Likewise.
29028 * config/rs6000/rs6000.md: Likewise.
29029 * config/rs6000/sysv4.h: Likewise.
29030 * config/rs6000/t-linux: Likewise.
29031 * config/rs6000/t-linux64: Likewise.
29032 * config/rs6000/t-rs6000: Likewise.
29033 * config/rs6000/x-darwin: Likewise.
29034 * config/rs6000/x-darwin64: Likewise.
29035 * config/rs6000/x-rs6000: Likewise.
29036 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
29037 * config/rx/rx.cc (rx_expand_builtin): Likewise.
29038 * config/s390/constraints.md: Likewise.
29039 * config/s390/driver-native.cc: Likewise.
29040 * config/s390/htmxlintrin.h: Likewise.
29041 * config/s390/s390-builtins.def (B_DEF): Likewise.
29042 (OB_DEF_VAR): Likewise.
29043 * config/s390/s390-builtins.h: Likewise.
29044 * config/s390/s390-c.cc: Likewise.
29045 * config/s390/s390-opts.h: Likewise.
29046 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
29047 (s390_register_target_pragmas): Likewise.
29048 * config/s390/s390.cc (s390_init_builtins): Likewise.
29049 (s390_expand_plus_operand): Likewise.
29050 (s390_expand_atomic): Likewise.
29051 (s390_valid_target_attribute_inner_p): Likewise.
29052 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
29053 * config/s390/s390.md: Likewise.
29054 * config/s390/t-s390: Likewise.
29055 * config/s390/vx-builtins.md: Likewise.
29056 * config/s390/x-native: Likewise.
29057 * config/sh/divtab-sh4-300.cc (main): Likewise.
29058 * config/sh/divtab-sh4.cc (main): Likewise.
29059 * config/sh/divtab.cc (main): Likewise.
29060 * config/sh/elf.h: Likewise.
29061 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
29062 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
29063 (sh_struct_value_rtx): Likewise.
29064 (sh_remove_reg_dead_or_unused_notes): Likewise.
29065 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
29066 * config/sh/t-sh: Likewise.
29067 * config/sol2-protos.h (solaris_override_options): Likewise.
29068 * config/sol2.h: Likewise.
29069 * config/sparc/driver-sparc.cc: Likewise.
29070 * config/sparc/freebsd.h: Likewise.
29071 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
29072 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
29073 (sparc_asan_shadow_offset): Likewise.
29074 * config/sparc/sparc.h: Likewise.
29075 * config/sparc/sparc.md: Likewise.
29076 * config/sparc/t-sparc: Likewise.
29077 * config/sparc/x-sparc: Likewise.
29078 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
29079 * config/t-darwin: Likewise.
29080 * config/t-dragonfly: Likewise.
29081 * config/t-freebsd: Likewise.
29082 * config/t-glibc: Likewise.
29083 * config/t-linux: Likewise.
29084 * config/t-netbsd: Likewise.
29085 * config/t-openbsd: Likewise.
29086 * config/t-pnt16-warn: Likewise.
29087 * config/t-sol2: Likewise.
29088 * config/t-vxworks: Likewise.
29089 * config/t-winnt: Likewise.
29090 * config/tilegx/t-tilegx: Likewise.
29091 * config/tilegx/tilegx-c.cc: Likewise.
29092 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
29093 * config/tilegx/tilegx.md: Likewise.
29094 * config/tilepro/t-tilepro: Likewise.
29095 * config/tilepro/tilepro-c.cc: Likewise.
29096 * config/v850/t-v850: Likewise.
29097 * config/v850/v850-protos.h: Likewise.
29098 * config/v850/v850.cc (F): Likewise.
29099 * config/v850/v850.h (enum reg_class): Likewise.
29100 (SLOW_BYTE_ACCESS): Likewise.
29101 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
29102 * config/vax/vax.h (enum reg_class): Likewise.
29103 * config/vax/vax.md: Likewise.
29104 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
29105 * config/visium/visium.h: Likewise.
29106 * config/vms/t-vms: Likewise.
29107 * config/vms/vms-crtlmap.map: Likewise.
29108 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
29109 * config/vx-common.h: Likewise.
29110 * config/x-darwin: Likewise.
29111 * config/x-hpux: Likewise.
29112 * config/x-linux: Likewise.
29113 * config/x-netbsd: Likewise.
29114 * config/x-openbsd: Likewise.
29115 * config/x-solaris: Likewise.
29116 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
29117 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
29118 * config/xtensa/xtensa.h: Likewise.
29119 * configure.ac: Likewise.
29120 * context.cc: Likewise.
29121 * convert.h: Likewise.
29122 * coretypes.h: Likewise.
29123 * coverage.cc: Likewise.
29124 * coverage.h: Likewise.
29125 * cppdefault.h (struct default_include): Likewise.
29126 * cprop.cc (local_cprop_pass): Likewise.
29127 (one_cprop_pass): Likewise.
29128 * cse.cc (hash_rtx_cb): Likewise.
29129 (fold_rtx): Likewise.
29130 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
29131 * data-streamer.h (bp_unpack_var_len_int): Likewise.
29132 (streamer_write_widest_int): Likewise.
29133 * dbgcnt.def: Likewise.
29134 * dbxout.cc (dbxout_early_global_decl): Likewise.
29135 (dbxout_common_check): Likewise.
29136 * dbxout.h: Likewise.
29137 * debug.h (struct gcc_debug_hooks): Likewise.
29138 (dump_go_spec_init): Likewise.
29139 * df-core.cc: Likewise.
29140 * df-scan.cc (df_insn_info_delete): Likewise.
29141 (df_insn_delete): Likewise.
29142 * df.h (debug_df_chain): Likewise.
29143 (can_move_insns_across): Likewise.
29144 * dfp.cc (decimal_from_binary): Likewise.
29145 * diagnostic-color.cc: Likewise.
29146 * diagnostic-event-id.h: Likewise.
29147 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
29148 * diagnostic.cc (bt_callback): Likewise.
29149 (num_digits): Likewise.
29150 * doc/avr-mmcu.texi: Likewise.
29151 * doc/cfg.texi: Likewise.
29152 * doc/contrib.texi: Likewise.
29153 * doc/cppinternals.texi: Likewise.
29154 * doc/extend.texi: Likewise.
29155 * doc/generic.texi: Likewise.
29156 * doc/gimple.texi: Likewise.
29157 * doc/gty.texi: Likewise.
29158 * doc/invoke.texi: Likewise.
29159 * doc/loop.texi: Likewise.
29160 * doc/lto.texi: Likewise.
29161 * doc/match-and-simplify.texi: Likewise.
29162 * doc/md.texi: Likewise.
29163 * doc/optinfo.texi: Likewise.
29164 * doc/options.texi: Likewise.
29165 * doc/passes.texi: Likewise.
29166 * doc/plugins.texi: Likewise.
29167 * doc/rtl.texi: Likewise.
29168 * doc/sourcebuild.texi: Likewise.
29169 * doc/tm.texi: Likewise.
29170 * doc/tm.texi.in: Likewise.
29171 * doc/tree-ssa.texi: Likewise.
29172 * dojump.cc (do_jump): Likewise.
29173 * dojump.h: Likewise.
29174 * dumpfile.cc (test_impl_location): Likewise.
29175 (test_capture_of_dump_calls): Likewise.
29176 * dumpfile.h (enum dump_kind): Likewise.
29177 (class dump_location_t): Likewise.
29178 (dump_enabled_p): Likewise.
29179 (enable_rtl_dump_file): Likewise.
29180 (dump_combine_total_stats): Likewise.
29181 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
29182 * dwarf2ctf.h (ctf_debug_finish): Likewise.
29183 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
29184 (struct loc_descr_context): Likewise.
29185 (rtl_for_decl_location): Likewise.
29186 (gen_subprogram_die): Likewise.
29187 (gen_label_die): Likewise.
29188 (is_trivial_indirect_ref): Likewise.
29189 (dwarf2out_late_global_decl): Likewise.
29190 (dwarf_file_hasher::hash): Likewise.
29191 (dwarf2out_end_source_file): Likewise.
29192 (dwarf2out_define): Likewise.
29193 (dwarf2out_early_finish): Likewise.
29194 * dwarf2out.h (struct dw_fde_node): Likewise.
29195 (struct dw_discr_list_node): Likewise.
29196 (output_loc_sequence_raw): Likewise.
29197 * emit-rtl.cc (gen_raw_REG): Likewise.
29198 (maybe_set_max_label_num): Likewise.
29199 * emit-rtl.h (struct rtl_data): Likewise.
29200 * errors.cc (internal_error): Likewise.
29201 (trim_filename): Likewise.
29202 * et-forest.cc: Likewise.
29203 * except.cc (init_eh_for_function): Likewise.
29204 * explow.cc (promote_ssa_mode): Likewise.
29205 (get_dynamic_stack_size): Likewise.
29206 * explow.h: Likewise.
29207 * expmed.h: Likewise.
29208 * expr.cc (safe_from_p): Likewise.
29209 (expand_expr_real_2): Likewise.
29210 (expand_expr_real_1): Likewise.
29211 * file-prefix-map.cc (remap_filename): Likewise.
29212 * final.cc (app_enable): Likewise.
29213 (make_pass_compute_alignments): Likewise.
29214 (final_scan_insn_1): Likewise.
29215 (final_scan_insn): Likewise.
29216 * fixed-value.h (fixed_from_string): Likewise.
29217 * flag-types.h (NO_DEBUG): Likewise.
29218 (DWARF2_DEBUG): Likewise.
29219 (VMS_DEBUG): Likewise.
29220 (BTF_DEBUG): Likewise.
29221 (enum ctf_debug_info_levels): Likewise.
29222 * fold-const.cc (const_binop): Likewise.
29223 (fold_binary_loc): Likewise.
29224 (fold_checksum_tree): Likewise.
29225 * fp-test.cc: Likewise.
29226 * function.cc (expand_function_end): Likewise.
29227 * function.h (struct function): Likewise.
29228 * fwprop.cc (should_replace_address): Likewise.
29229 * gcc-main.cc: Likewise.
29230 * gcc-rich-location.h (class gcc_rich_location): Likewise.
29231 * gcc-symtab.h: Likewise.
29232 * gcc.cc (MIN_FATAL_STATUS): Likewise.
29233 (driver_handle_option): Likewise.
29234 (quote_spec_arg): Likewise.
29235 (driver::finalize): Likewise.
29236 * gcc.h (set_input): Likewise.
29237 * gcov-dump.cc: Likewise.
29238 * gcov.cc (solve_flow_graph): Likewise.
29239 * gcse-common.cc: Likewise.
29240 * gcse.cc (make_pass_rtl_hoist): Likewise.
29241 * genattr-common.cc: Likewise.
29242 * genattrtab.cc (min_fn): Likewise.
29243 (write_const_num_delay_slots): Likewise.
29244 * genautomata.cc: Likewise.
29245 * genconditions.cc (write_one_condition): Likewise.
29246 * genconstants.cc: Likewise.
29247 * genemit.cc (gen_exp): Likewise.
29248 * generic-match-head.cc: Likewise.
29249 * genextract.cc: Likewise.
29250 * gengenrtl.cc (always_void_p): Likewise.
29251 * gengtype-parse.cc (gtymarker_opt): Likewise.
29252 * gengtype-state.cc (state_writer::state_writer): Likewise.
29253 (write_state_trailer): Likewise.
29254 (equals_type_number): Likewise.
29255 (read_state): Likewise.
29256 * gengtype.cc (open_base_files): Likewise.
29257 (struct file_rule_st): Likewise.
29258 (header_dot_h_frul): Likewise.
29259 * gengtype.h: Likewise.
29260 * genmatch.cc (main): Likewise.
29261 * genmddeps.cc: Likewise.
29262 * genmodes.cc (emit_mode_inner): Likewise.
29263 (emit_mode_unit_size): Likewise.
29264 * genpeep.cc (gen_peephole): Likewise.
29265 * genpreds.cc (write_tm_preds_h): Likewise.
29266 * genrecog.cc (validate_pattern): Likewise.
29267 (write_header): Likewise.
29269 * gensupport.cc (change_subst_attribute): Likewise.
29270 (traverse_c_tests): Likewise.
29271 (add_predicate): Likewise.
29272 (init_predicate_table): Likewise.
29273 * gensupport.h (struct optab_pattern): Likewise.
29274 (get_num_insn_codes): Likewise.
29275 (maybe_eval_c_test): Likewise.
29276 (struct pred_data): Likewise.
29277 * ggc-internal.h: Likewise.
29278 * gimple-fold.cc (maybe_fold_reference): Likewise.
29279 (get_range_strlen_tree): Likewise.
29280 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
29281 * gimple-low.cc: Likewise.
29282 * gimple-match-head.cc (directly_supported_p): Likewise.
29283 * gimple-pretty-print.h: Likewise.
29284 * gimple-ssa-sprintf.cc (format_percent): Likewise.
29285 (adjust_range_for_overflow): Likewise.
29286 * gimple-streamer.h: Likewise.
29287 * gimple.h (struct GTY): Likewise.
29288 (is_gimple_resx): Likewise.
29289 * gimplify.cc (gimplify_expr): Likewise.
29290 (gimplify_init_constructor): Likewise.
29291 (omp_construct_selector_matches): Likewise.
29292 (gimplify_omp_target_update): Likewise.
29293 (gimplify_omp_ordered): Likewise.
29294 (gimplify_va_arg_expr): Likewise.
29295 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
29296 * haifa-sched.cc (increase_insn_priority): Likewise.
29297 (try_ready): Likewise.
29298 (sched_create_recovery_edges): Likewise.
29299 * ifcvt.cc (find_if_case_1): Likewise.
29300 (find_if_case_2): Likewise.
29301 * inchash.h: Likewise.
29302 * incpath.cc (add_env_var_paths): Likewise.
29303 * input.cc (dump_location_info): Likewise.
29304 (assert_loceq): Likewise.
29305 (test_lexer_string_locations_concatenation_1): Likewise.
29306 (test_lexer_string_locations_concatenation_2): Likewise.
29307 (test_lexer_string_locations_concatenation_3): Likewise.
29308 * input.h (BUILTINS_LOCATION): Likewise.
29309 (class string_concat_db): Likewise.
29310 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
29311 (expand_LOOP_VECTORIZED): Likewise.
29312 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
29313 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
29314 (ipa_fn_summary_t::duplicate): Likewise.
29315 (make_pass_ipa_fn_summary): Likewise.
29316 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
29317 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
29318 (free_lang_data_in_decl): Likewise.
29319 * ipa-inline.cc (compute_inlined_call_time): Likewise.
29320 (inline_always_inline_functions): Likewise.
29321 * ipa-inline.h (free_growth_caches): Likewise.
29322 (inline_account_function_p): Likewise.
29323 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
29324 (modref_eaf_analysis::analyze_ssa_name): Likewise.
29325 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
29326 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
29327 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
29328 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
29329 (unadjusted_ptr_and_unit_offset): Likewise.
29330 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
29331 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
29332 * ipa-split.cc (consider_split): Likewise.
29333 * ipa-sra.cc (isra_read_node_info): Likewise.
29334 * ipa-utils.h (struct ipa_dfs_info): Likewise.
29335 (recursive_call_p): Likewise.
29336 (ipa_make_function_pure): Likewise.
29337 * ira-build.cc (ira_create_allocno): Likewise.
29338 (ira_flattening): Likewise.
29339 * ira-color.cc (do_coloring): Likewise.
29340 (update_curr_costs): Likewise.
29341 * ira-conflicts.cc (process_regs_for_copy): Likewise.
29342 * ira-int.h (struct ira_emit_data): Likewise.
29343 (ira_prohibited_mode_move_regs): Likewise.
29344 (ira_get_dup_out_num): Likewise.
29345 (ira_destroy): Likewise.
29346 (ira_tune_allocno_costs): Likewise.
29347 (ira_implicitly_set_insn_hard_regs): Likewise.
29348 (ira_build_conflicts): Likewise.
29349 (ira_color): Likewise.
29350 * ira-lives.cc (process_bb_node_lives): Likewise.
29351 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
29352 (setup_uniform_class_p): Likewise.
29353 (def_dominates_uses): Likewise.
29354 * ira.h (ira_nullify_asm_goto): Likewise.
29355 * langhooks.cc (lhd_post_options): Likewise.
29356 * langhooks.h (class substring_loc): Likewise.
29357 (struct lang_hooks_for_tree_inlining): Likewise.
29358 (struct lang_hooks_for_types): Likewise.
29359 (struct lang_hooks): Likewise.
29360 * libfuncs.h (synchronize_libfunc): Likewise.
29361 * loop-doloop.cc (doloop_condition_get): Likewise.
29362 * loop-init.cc (fix_loop_structure): Likewise.
29363 * loop-invariant.cc: Likewise.
29364 * lower-subreg.h: Likewise.
29365 * lra-constraints.cc (curr_insn_transform): Likewise.
29366 * lra-int.h (struct lra_insn_reg): Likewise.
29367 (lra_undo_inheritance): Likewise.
29368 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
29369 (lra_split_hard_reg_for): Likewise.
29370 (lra_coalesce): Likewise.
29371 (lra_final_code_change): Likewise.
29372 * lra-spills.cc (lra_final_code_change): Likewise.
29373 * lra.cc (lra_process_new_insns): Likewise.
29374 * lto-compress.h (struct lto_compression_stream): Likewise.
29375 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
29376 (write_symbol): Likewise.
29377 * lto-streamer.h (enum LTO_tags): Likewise.
29378 (lto_value_range_error): Likewise.
29379 (lto_append_block): Likewise.
29380 (lto_streamer_hooks_init): Likewise.
29381 (stream_read_tree_ref): Likewise.
29382 (lto_prepare_function_for_streaming): Likewise.
29383 (select_what_to_stream): Likewise.
29384 (omp_lto_input_declare_variant_alt): Likewise.
29385 (cl_optimization_stream_in): Likewise.
29386 * lto-wrapper.cc (append_compiler_options): Likewise.
29387 * machmode.def: Likewise.
29388 * machmode.h (struct int_n_data_t): Likewise.
29389 * main.cc (main): Likewise.
29390 * match.pd: Likewise.
29391 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
29392 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
29393 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
29394 (make_pass_expand_omp_ssa): Likewise.
29395 * omp-low.cc (struct omp_context): Likewise.
29396 (struct omp_taskcopy_context): Likewise.
29397 (lower_omp): Likewise.
29398 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
29399 (mask_name): Likewise.
29400 (omp_sese_dump_pars): Likewise.
29401 (worker_single_simple): Likewise.
29402 * omp-offload.cc (omp_finish_file): Likewise.
29403 (execute_oacc_loop_designation): Likewise.
29404 * optabs-query.cc (lshift_cheap_p): Likewise.
29405 * optc-gen.awk: Likewise.
29406 * optc-save-gen.awk: Likewise.
29407 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
29408 * opts-common.cc: Likewise.
29409 * output.h (app_enable): Likewise.
29410 (output_operand_lossage): Likewise.
29411 (insn_current_reference_address): Likewise.
29412 (get_insn_template): Likewise.
29413 (output_quoted_string): Likewise.
29414 * pass_manager.h (struct register_pass_info): Likewise.
29415 * plugin.cc: Likewise.
29416 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
29417 * plugin.h (invoke_plugin_callbacks): Likewise.
29418 * pointer-query.cc (handle_mem_ref): Likewise.
29419 * postreload-gcse.cc (alloc_mem): Likewise.
29420 * predict.h (enum prediction): Likewise.
29421 (add_reg_br_prob_note): Likewise.
29422 * prefix.h: Likewise.
29423 * profile.h (get_working_sets): Likewise.
29424 * read-md.cc: Likewise.
29425 * read-md.h (struct mapping): Likewise.
29426 (class md_reader): Likewise.
29427 (class noop_reader): Likewise.
29428 * read-rtl-function.cc (function_reader::create_function): Likewise.
29429 (function_reader::extra_parsing_for_operand_code_0): Likewise.
29430 * read-rtl.cc (initialize_iterators): Likewise.
29431 * real.cc: Likewise.
29432 * real.h (struct real_value): Likewise.
29433 (format_helper::format_helper): Likewise.
29434 (real_hash): Likewise.
29435 (real_can_shorten_arithmetic): Likewise.
29436 * recog.cc (struct target_recog): Likewise.
29437 (offsettable_nonstrict_memref_p): Likewise.
29438 (constrain_operands): Likewise.
29439 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
29440 (which_op_alt): Likewise.
29441 (struct insn_gen_fn): Likewise.
29442 * reg-notes.def (REG_NOTE): Likewise.
29443 * reg-stack.cc: Likewise.
29444 * regs.h (reg_is_parm_p): Likewise.
29445 * regset.h: Likewise.
29446 * reload.cc (push_reload): Likewise.
29447 (find_reloads): Likewise.
29448 (find_reloads_address_1): Likewise.
29449 (find_replacement): Likewise.
29450 (refers_to_regno_for_reload_p): Likewise.
29451 (refers_to_mem_for_reload_p): Likewise.
29452 * reload.h (push_reload): Likewise.
29453 (deallocate_reload_reg): Likewise.
29454 * reload1.cc (emit_input_reload_insns): Likewise.
29455 * reorg.cc (relax_delay_slots): Likewise.
29456 * rtl.def (UNKNOWN): Likewise.
29457 (SEQUENCE): Likewise.
29458 (BARRIER): Likewise.
29459 (ASM_OPERANDS): Likewise.
29460 (EQ_ATTR_ALT): Likewise.
29461 * rtl.h (struct GTY): Likewise.
29462 (LABEL_NAME): Likewise.
29463 (LABEL_ALT_ENTRY_P): Likewise.
29464 (SUBREG_BYTE): Likewise.
29465 (get_stack_check_protect): Likewise.
29466 (dump_rtx_statistics): Likewise.
29467 (unwrap_const_vec_duplicate): Likewise.
29468 (subreg_promoted_mode): Likewise.
29469 (gen_lowpart_common): Likewise.
29470 (operand_subword): Likewise.
29471 (immed_wide_int_const): Likewise.
29472 (decide_function_section): Likewise.
29473 (active_insn_p): Likewise.
29474 (delete_related_insns): Likewise.
29475 (try_split): Likewise.
29476 (val_signbit_known_clear_p): Likewise.
29477 (simplifiable_subregs): Likewise.
29478 (set_insn_deleted): Likewise.
29479 (subreg_get_info): Likewise.
29480 (remove_free_EXPR_LIST_node): Likewise.
29481 (finish_subregs_of_mode): Likewise.
29482 (get_mem_attrs): Likewise.
29483 (lookup_constant_def): Likewise.
29484 (rtx_to_tree_code): Likewise.
29485 (hash_rtx): Likewise.
29486 (condjump_in_parallel_p): Likewise.
29487 (validate_subreg): Likewise.
29488 (make_compound_operation): Likewise.
29489 (schedule_ebbs): Likewise.
29490 (print_inline_rtx): Likewise.
29491 (fixup_args_size_notes): Likewise.
29492 (expand_dec): Likewise.
29493 (prepare_copy_insn): Likewise.
29494 (mark_elimination): Likewise.
29495 (valid_mode_changes_for_regno): Likewise.
29496 (make_debug_expr_from_rtl): Likewise.
29497 (delete_vta_debug_insns): Likewise.
29498 (simplify_using_condition): Likewise.
29499 (set_insn_locations): Likewise.
29500 (fatal_insn_not_found): Likewise.
29501 (word_register_operation_p): Likewise.
29502 * rtlanal.cc (get_call_fndecl): Likewise.
29503 (side_effects_p): Likewise.
29504 (subreg_nregs): Likewise.
29505 (rtx_cost): Likewise.
29506 (canonicalize_condition): Likewise.
29507 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
29508 * run-rtl-passes.cc (run_rtl_passes): Likewise.
29509 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
29510 * sched-deps.cc (add_dependence_1): Likewise.
29511 * sched-ebb.cc (begin_move_insn): Likewise.
29512 (add_deps_for_risky_insns): Likewise.
29513 (advance_target_bb): Likewise.
29514 * sched-int.h (reemit_notes): Likewise.
29515 (struct _haifa_insn_data): Likewise.
29517 (DEP_CANCELLED): Likewise.
29518 (debug_ds): Likewise.
29519 (number_in_ready): Likewise.
29520 (schedule_ebbs_finish): Likewise.
29521 (find_modifiable_mems): Likewise.
29522 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
29523 * sel-sched-dump.cc (dump_lv_set): Likewise.
29524 * sel-sched-dump.h: Likewise.
29525 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
29526 (setup_id_reg_sets): Likewise.
29527 (has_dependence_p): Likewise.
29528 (sel_num_cfg_preds_gt_1): Likewise.
29529 (bb_ends_ebb_p): Likewise.
29530 * sel-sched-ir.h (struct _list_node): Likewise.
29531 (struct idata_def): Likewise.
29532 (bb_next_bb): Likewise.
29533 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
29534 (choose_best_pseudo_reg): Likewise.
29535 (verify_target_availability): Likewise.
29536 (can_speculate_dep_p): Likewise.
29537 (sel_rank_for_schedule): Likewise.
29538 * selftest-run-tests.cc (selftest::run_tests): Likewise.
29539 * selftest.h (class auto_fix_quotes): Likewise.
29540 * shrink-wrap.cc (handle_simple_exit): Likewise.
29541 * shrink-wrap.h: Likewise.
29542 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
29543 (simplify_context::simplify_gen_vec_select): Likewise.
29544 * spellcheck-tree.h: Likewise.
29545 * spellcheck.h: Likewise.
29546 * statistics.h (struct function): Likewise.
29547 * stmt.cc (conditional_probability): Likewise.
29548 * stmt.h: Likewise.
29549 * stor-layout.h: Likewise.
29550 * streamer-hooks.h: Likewise.
29551 * stringpool.h: Likewise.
29552 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
29553 * target.def (HOOK_VECTOR_END): Likewise.
29555 * target.h (union cumulative_args_t): Likewise.
29556 (by_pieces_ninsns): Likewise.
29557 (class predefined_function_abi): Likewise.
29558 * targhooks.cc (default_translate_mode_attribute): Likewise.
29559 * timevar.def: Likewise.
29560 * timevar.h (class timer): Likewise.
29561 * toplev.h (enable_rtl_dump_file): Likewise.
29562 * trans-mem.cc (collect_bb2reg): Likewise.
29563 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
29564 * tree-cfg.cc (remove_bb): Likewise.
29565 (verify_gimple_debug): Likewise.
29566 (remove_edge_and_dominated_blocks): Likewise.
29567 (push_fndecl): Likewise.
29568 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
29569 * tree-complex.cc (expand_complex_multiplication): Likewise.
29570 (expand_complex_div_straight): Likewise.
29571 * tree-core.h (enum tree_index): Likewise.
29572 (enum operand_equal_flag): Likewise.
29573 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
29574 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
29575 * tree-inline.cc (initialize_inlined_parameters): Likewise.
29576 * tree-inline.h (force_value_to_type): Likewise.
29577 * tree-nested.cc (get_chain_decl): Likewise.
29578 (walk_all_functions): Likewise.
29579 * tree-object-size.h: Likewise.
29580 * tree-outof-ssa.cc: Likewise.
29581 * tree-parloops.cc (create_parallel_loop): Likewise.
29582 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
29583 (dump_generic_node): Likewise.
29584 * tree-profile.cc (tree_profiling): Likewise.
29585 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
29586 * tree-ssa-address.cc: Likewise.
29587 * tree-ssa-alias.cc: Likewise.
29588 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
29589 (dump_alias_stats): Likewise.
29590 * tree-ssa-ccp.cc: Likewise.
29591 * tree-ssa-coalesce.h: Likewise.
29592 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
29593 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
29594 * tree-ssa-loop-unswitch.cc: Likewise.
29595 * tree-ssa-math-opts.cc: Likewise.
29596 * tree-ssa-operands.cc (class operands_scanner): Likewise.
29597 * tree-ssa-pre.cc: Likewise.
29598 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
29599 (debug_range_entry): Likewise.
29600 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
29601 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
29602 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
29603 (equal_mem_array_ref_p): Likewise.
29604 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
29605 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
29606 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
29607 * tree-ssa-ter.h: Likewise.
29608 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
29609 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
29610 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
29611 (write_ts_block_tree_pointers): Likewise.
29612 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
29613 (streamer_read_tree_bitfields): Likewise.
29614 (streamer_write_integer_cst): Likewise.
29615 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
29616 (vect_synth_mult_by_constant): Likewise.
29617 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
29618 * tree-vectorizer.cc: Likewise.
29619 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
29620 (vect_update_inits_of_drs): Likewise.
29621 (vect_get_mask_type_for_stmt): Likewise.
29622 (vect_rgroup_iv_might_wrap_p): Likewise.
29623 (cse_and_gimplify_to_preheader): Likewise.
29624 (vect_free_slp_tree): Likewise.
29625 (vect_pattern_recog): Likewise.
29626 (vect_stmt_dominates_stmt_p): Likewise.
29627 * tree.cc (initialize_tree_contains_struct): Likewise.
29628 (need_assembler_name_p): Likewise.
29629 (type_with_interoperable_signedness): Likewise.
29630 * tree.def (SWITCH_EXPR): Likewise.
29631 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
29632 (poly_int_tree_p): Likewise.
29633 (inlined_function_outer_scope_p): Likewise.
29634 (tree_code_for_canonical_type_merging): Likewise.
29635 * value-prof.cc: Likewise.
29636 * value-prof.h (get_nth_most_common_value): Likewise.
29637 (find_func_by_profile_id): Likewise.
29638 * value-range.cc (vrp_operand_equal_p): Likewise.
29639 * value-range.h: Likewise.
29640 * var-tracking.cc: Likewise.
29641 * varasm.cc (default_function_section): Likewise.
29642 (function_section_1): Likewise.
29643 (assemble_variable): Likewise.
29644 (handle_vtv_comdat_section): Likewise.
29645 * vec.h (struct vec_prefix): Likewise.
29646 * vmsdbgout.cc (full_name): Likewise.
29647 * vtable-verify.cc: Likewise.
29648 * vtable-verify.h (struct vtv_graph_node): Likewise.
29649 * xcoffout.cc: Likewise.
29650 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
29652 2022-01-17 Martin Liska <mliska@suse.cz>
29654 * adjust-alignment.c: Moved to...
29655 * adjust-alignment.cc: ...here.
29656 * alias.c: Moved to...
29657 * alias.cc: ...here.
29658 * alloc-pool.c: Moved to...
29659 * alloc-pool.cc: ...here.
29660 * asan.c: Moved to...
29661 * asan.cc: ...here.
29662 * attribs.c: Moved to...
29663 * attribs.cc: ...here.
29664 * auto-inc-dec.c: Moved to...
29665 * auto-inc-dec.cc: ...here.
29666 * auto-profile.c: Moved to...
29667 * auto-profile.cc: ...here.
29668 * bb-reorder.c: Moved to...
29669 * bb-reorder.cc: ...here.
29670 * bitmap.c: Moved to...
29671 * bitmap.cc: ...here.
29672 * btfout.c: Moved to...
29673 * btfout.cc: ...here.
29674 * builtins.c: Moved to...
29675 * builtins.cc: ...here.
29676 * caller-save.c: Moved to...
29677 * caller-save.cc: ...here.
29678 * calls.c: Moved to...
29679 * calls.cc: ...here.
29680 * ccmp.c: Moved to...
29681 * ccmp.cc: ...here.
29682 * cfg.c: Moved to...
29684 * cfganal.c: Moved to...
29685 * cfganal.cc: ...here.
29686 * cfgbuild.c: Moved to...
29687 * cfgbuild.cc: ...here.
29688 * cfgcleanup.c: Moved to...
29689 * cfgcleanup.cc: ...here.
29690 * cfgexpand.c: Moved to...
29691 * cfgexpand.cc: ...here.
29692 * cfghooks.c: Moved to...
29693 * cfghooks.cc: ...here.
29694 * cfgloop.c: Moved to...
29695 * cfgloop.cc: ...here.
29696 * cfgloopanal.c: Moved to...
29697 * cfgloopanal.cc: ...here.
29698 * cfgloopmanip.c: Moved to...
29699 * cfgloopmanip.cc: ...here.
29700 * cfgrtl.c: Moved to...
29701 * cfgrtl.cc: ...here.
29702 * cgraph.c: Moved to...
29703 * cgraph.cc: ...here.
29704 * cgraphbuild.c: Moved to...
29705 * cgraphbuild.cc: ...here.
29706 * cgraphclones.c: Moved to...
29707 * cgraphclones.cc: ...here.
29708 * cgraphunit.c: Moved to...
29709 * cgraphunit.cc: ...here.
29710 * collect-utils.c: Moved to...
29711 * collect-utils.cc: ...here.
29712 * collect2-aix.c: Moved to...
29713 * collect2-aix.cc: ...here.
29714 * collect2.c: Moved to...
29715 * collect2.cc: ...here.
29716 * combine-stack-adj.c: Moved to...
29717 * combine-stack-adj.cc: ...here.
29718 * combine.c: Moved to...
29719 * combine.cc: ...here.
29720 * common/common-targhooks.c: Moved to...
29721 * common/common-targhooks.cc: ...here.
29722 * common/config/aarch64/aarch64-common.c: Moved to...
29723 * common/config/aarch64/aarch64-common.cc: ...here.
29724 * common/config/alpha/alpha-common.c: Moved to...
29725 * common/config/alpha/alpha-common.cc: ...here.
29726 * common/config/arc/arc-common.c: Moved to...
29727 * common/config/arc/arc-common.cc: ...here.
29728 * common/config/arm/arm-common.c: Moved to...
29729 * common/config/arm/arm-common.cc: ...here.
29730 * common/config/avr/avr-common.c: Moved to...
29731 * common/config/avr/avr-common.cc: ...here.
29732 * common/config/bfin/bfin-common.c: Moved to...
29733 * common/config/bfin/bfin-common.cc: ...here.
29734 * common/config/bpf/bpf-common.c: Moved to...
29735 * common/config/bpf/bpf-common.cc: ...here.
29736 * common/config/c6x/c6x-common.c: Moved to...
29737 * common/config/c6x/c6x-common.cc: ...here.
29738 * common/config/cr16/cr16-common.c: Moved to...
29739 * common/config/cr16/cr16-common.cc: ...here.
29740 * common/config/cris/cris-common.c: Moved to...
29741 * common/config/cris/cris-common.cc: ...here.
29742 * common/config/csky/csky-common.c: Moved to...
29743 * common/config/csky/csky-common.cc: ...here.
29744 * common/config/default-common.c: Moved to...
29745 * common/config/default-common.cc: ...here.
29746 * common/config/epiphany/epiphany-common.c: Moved to...
29747 * common/config/epiphany/epiphany-common.cc: ...here.
29748 * common/config/fr30/fr30-common.c: Moved to...
29749 * common/config/fr30/fr30-common.cc: ...here.
29750 * common/config/frv/frv-common.c: Moved to...
29751 * common/config/frv/frv-common.cc: ...here.
29752 * common/config/gcn/gcn-common.c: Moved to...
29753 * common/config/gcn/gcn-common.cc: ...here.
29754 * common/config/h8300/h8300-common.c: Moved to...
29755 * common/config/h8300/h8300-common.cc: ...here.
29756 * common/config/i386/i386-common.c: Moved to...
29757 * common/config/i386/i386-common.cc: ...here.
29758 * common/config/ia64/ia64-common.c: Moved to...
29759 * common/config/ia64/ia64-common.cc: ...here.
29760 * common/config/iq2000/iq2000-common.c: Moved to...
29761 * common/config/iq2000/iq2000-common.cc: ...here.
29762 * common/config/lm32/lm32-common.c: Moved to...
29763 * common/config/lm32/lm32-common.cc: ...here.
29764 * common/config/m32r/m32r-common.c: Moved to...
29765 * common/config/m32r/m32r-common.cc: ...here.
29766 * common/config/m68k/m68k-common.c: Moved to...
29767 * common/config/m68k/m68k-common.cc: ...here.
29768 * common/config/mcore/mcore-common.c: Moved to...
29769 * common/config/mcore/mcore-common.cc: ...here.
29770 * common/config/microblaze/microblaze-common.c: Moved to...
29771 * common/config/microblaze/microblaze-common.cc: ...here.
29772 * common/config/mips/mips-common.c: Moved to...
29773 * common/config/mips/mips-common.cc: ...here.
29774 * common/config/mmix/mmix-common.c: Moved to...
29775 * common/config/mmix/mmix-common.cc: ...here.
29776 * common/config/mn10300/mn10300-common.c: Moved to...
29777 * common/config/mn10300/mn10300-common.cc: ...here.
29778 * common/config/msp430/msp430-common.c: Moved to...
29779 * common/config/msp430/msp430-common.cc: ...here.
29780 * common/config/nds32/nds32-common.c: Moved to...
29781 * common/config/nds32/nds32-common.cc: ...here.
29782 * common/config/nios2/nios2-common.c: Moved to...
29783 * common/config/nios2/nios2-common.cc: ...here.
29784 * common/config/nvptx/nvptx-common.c: Moved to...
29785 * common/config/nvptx/nvptx-common.cc: ...here.
29786 * common/config/or1k/or1k-common.c: Moved to...
29787 * common/config/or1k/or1k-common.cc: ...here.
29788 * common/config/pa/pa-common.c: Moved to...
29789 * common/config/pa/pa-common.cc: ...here.
29790 * common/config/pdp11/pdp11-common.c: Moved to...
29791 * common/config/pdp11/pdp11-common.cc: ...here.
29792 * common/config/pru/pru-common.c: Moved to...
29793 * common/config/pru/pru-common.cc: ...here.
29794 * common/config/riscv/riscv-common.c: Moved to...
29795 * common/config/riscv/riscv-common.cc: ...here.
29796 * common/config/rs6000/rs6000-common.c: Moved to...
29797 * common/config/rs6000/rs6000-common.cc: ...here.
29798 * common/config/rx/rx-common.c: Moved to...
29799 * common/config/rx/rx-common.cc: ...here.
29800 * common/config/s390/s390-common.c: Moved to...
29801 * common/config/s390/s390-common.cc: ...here.
29802 * common/config/sh/sh-common.c: Moved to...
29803 * common/config/sh/sh-common.cc: ...here.
29804 * common/config/sparc/sparc-common.c: Moved to...
29805 * common/config/sparc/sparc-common.cc: ...here.
29806 * common/config/tilegx/tilegx-common.c: Moved to...
29807 * common/config/tilegx/tilegx-common.cc: ...here.
29808 * common/config/tilepro/tilepro-common.c: Moved to...
29809 * common/config/tilepro/tilepro-common.cc: ...here.
29810 * common/config/v850/v850-common.c: Moved to...
29811 * common/config/v850/v850-common.cc: ...here.
29812 * common/config/vax/vax-common.c: Moved to...
29813 * common/config/vax/vax-common.cc: ...here.
29814 * common/config/visium/visium-common.c: Moved to...
29815 * common/config/visium/visium-common.cc: ...here.
29816 * common/config/xstormy16/xstormy16-common.c: Moved to...
29817 * common/config/xstormy16/xstormy16-common.cc: ...here.
29818 * common/config/xtensa/xtensa-common.c: Moved to...
29819 * common/config/xtensa/xtensa-common.cc: ...here.
29820 * compare-elim.c: Moved to...
29821 * compare-elim.cc: ...here.
29822 * config/aarch64/aarch64-bti-insert.c: Moved to...
29823 * config/aarch64/aarch64-bti-insert.cc: ...here.
29824 * config/aarch64/aarch64-builtins.c: Moved to...
29825 * config/aarch64/aarch64-builtins.cc: ...here.
29826 * config/aarch64/aarch64-c.c: Moved to...
29827 * config/aarch64/aarch64-c.cc: ...here.
29828 * config/aarch64/aarch64-d.c: Moved to...
29829 * config/aarch64/aarch64-d.cc: ...here.
29830 * config/aarch64/aarch64.c: Moved to...
29831 * config/aarch64/aarch64.cc: ...here.
29832 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
29833 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
29834 * config/aarch64/driver-aarch64.c: Moved to...
29835 * config/aarch64/driver-aarch64.cc: ...here.
29836 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
29837 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
29838 * config/aarch64/host-aarch64-darwin.c: Moved to...
29839 * config/aarch64/host-aarch64-darwin.cc: ...here.
29840 * config/alpha/alpha.c: Moved to...
29841 * config/alpha/alpha.cc: ...here.
29842 * config/alpha/driver-alpha.c: Moved to...
29843 * config/alpha/driver-alpha.cc: ...here.
29844 * config/arc/arc-c.c: Moved to...
29845 * config/arc/arc-c.cc: ...here.
29846 * config/arc/arc.c: Moved to...
29847 * config/arc/arc.cc: ...here.
29848 * config/arc/driver-arc.c: Moved to...
29849 * config/arc/driver-arc.cc: ...here.
29850 * config/arm/aarch-common.c: Moved to...
29851 * config/arm/aarch-common.cc: ...here.
29852 * config/arm/arm-builtins.c: Moved to...
29853 * config/arm/arm-builtins.cc: ...here.
29854 * config/arm/arm-c.c: Moved to...
29855 * config/arm/arm-c.cc: ...here.
29856 * config/arm/arm-d.c: Moved to...
29857 * config/arm/arm-d.cc: ...here.
29858 * config/arm/arm.c: Moved to...
29859 * config/arm/arm.cc: ...here.
29860 * config/arm/driver-arm.c: Moved to...
29861 * config/arm/driver-arm.cc: ...here.
29862 * config/avr/avr-c.c: Moved to...
29863 * config/avr/avr-c.cc: ...here.
29864 * config/avr/avr-devices.c: Moved to...
29865 * config/avr/avr-devices.cc: ...here.
29866 * config/avr/avr-log.c: Moved to...
29867 * config/avr/avr-log.cc: ...here.
29868 * config/avr/avr.c: Moved to...
29869 * config/avr/avr.cc: ...here.
29870 * config/avr/driver-avr.c: Moved to...
29871 * config/avr/driver-avr.cc: ...here.
29872 * config/avr/gen-avr-mmcu-specs.c: Moved to...
29873 * config/avr/gen-avr-mmcu-specs.cc: ...here.
29874 * config/avr/gen-avr-mmcu-texi.c: Moved to...
29875 * config/avr/gen-avr-mmcu-texi.cc: ...here.
29876 * config/bfin/bfin.c: Moved to...
29877 * config/bfin/bfin.cc: ...here.
29878 * config/bpf/bpf.c: Moved to...
29879 * config/bpf/bpf.cc: ...here.
29880 * config/bpf/coreout.c: Moved to...
29881 * config/bpf/coreout.cc: ...here.
29882 * config/c6x/c6x.c: Moved to...
29883 * config/c6x/c6x.cc: ...here.
29884 * config/cr16/cr16.c: Moved to...
29885 * config/cr16/cr16.cc: ...here.
29886 * config/cris/cris.c: Moved to...
29887 * config/cris/cris.cc: ...here.
29888 * config/csky/csky.c: Moved to...
29889 * config/csky/csky.cc: ...here.
29890 * config/darwin-c.c: Moved to...
29891 * config/darwin-c.cc: ...here.
29892 * config/darwin-d.c: Moved to...
29893 * config/darwin-d.cc: ...here.
29894 * config/darwin-driver.c: Moved to...
29895 * config/darwin-driver.cc: ...here.
29896 * config/darwin-f.c: Moved to...
29897 * config/darwin-f.cc: ...here.
29898 * config/darwin.c: Moved to...
29899 * config/darwin.cc: ...here.
29900 * config/default-c.c: Moved to...
29901 * config/default-c.cc: ...here.
29902 * config/default-d.c: Moved to...
29903 * config/default-d.cc: ...here.
29904 * config/dragonfly-d.c: Moved to...
29905 * config/dragonfly-d.cc: ...here.
29906 * config/epiphany/epiphany.c: Moved to...
29907 * config/epiphany/epiphany.cc: ...here.
29908 * config/epiphany/mode-switch-use.c: Moved to...
29909 * config/epiphany/mode-switch-use.cc: ...here.
29910 * config/epiphany/resolve-sw-modes.c: Moved to...
29911 * config/epiphany/resolve-sw-modes.cc: ...here.
29912 * config/fr30/fr30.c: Moved to...
29913 * config/fr30/fr30.cc: ...here.
29914 * config/freebsd-d.c: Moved to...
29915 * config/freebsd-d.cc: ...here.
29916 * config/frv/frv.c: Moved to...
29917 * config/frv/frv.cc: ...here.
29918 * config/ft32/ft32.c: Moved to...
29919 * config/ft32/ft32.cc: ...here.
29920 * config/gcn/driver-gcn.c: Moved to...
29921 * config/gcn/driver-gcn.cc: ...here.
29922 * config/gcn/gcn-run.c: Moved to...
29923 * config/gcn/gcn-run.cc: ...here.
29924 * config/gcn/gcn-tree.c: Moved to...
29925 * config/gcn/gcn-tree.cc: ...here.
29926 * config/gcn/gcn.c: Moved to...
29927 * config/gcn/gcn.cc: ...here.
29928 * config/gcn/mkoffload.c: Moved to...
29929 * config/gcn/mkoffload.cc: ...here.
29930 * config/glibc-c.c: Moved to...
29931 * config/glibc-c.cc: ...here.
29932 * config/glibc-d.c: Moved to...
29933 * config/glibc-d.cc: ...here.
29934 * config/h8300/h8300.c: Moved to...
29935 * config/h8300/h8300.cc: ...here.
29936 * config/host-darwin.c: Moved to...
29937 * config/host-darwin.cc: ...here.
29938 * config/host-hpux.c: Moved to...
29939 * config/host-hpux.cc: ...here.
29940 * config/host-linux.c: Moved to...
29941 * config/host-linux.cc: ...here.
29942 * config/host-netbsd.c: Moved to...
29943 * config/host-netbsd.cc: ...here.
29944 * config/host-openbsd.c: Moved to...
29945 * config/host-openbsd.cc: ...here.
29946 * config/host-solaris.c: Moved to...
29947 * config/host-solaris.cc: ...here.
29948 * config/i386/djgpp.c: Moved to...
29949 * config/i386/djgpp.cc: ...here.
29950 * config/i386/driver-i386.c: Moved to...
29951 * config/i386/driver-i386.cc: ...here.
29952 * config/i386/driver-mingw32.c: Moved to...
29953 * config/i386/driver-mingw32.cc: ...here.
29954 * config/i386/gnu-property.c: Moved to...
29955 * config/i386/gnu-property.cc: ...here.
29956 * config/i386/host-cygwin.c: Moved to...
29957 * config/i386/host-cygwin.cc: ...here.
29958 * config/i386/host-i386-darwin.c: Moved to...
29959 * config/i386/host-i386-darwin.cc: ...here.
29960 * config/i386/host-mingw32.c: Moved to...
29961 * config/i386/host-mingw32.cc: ...here.
29962 * config/i386/i386-builtins.c: Moved to...
29963 * config/i386/i386-builtins.cc: ...here.
29964 * config/i386/i386-c.c: Moved to...
29965 * config/i386/i386-c.cc: ...here.
29966 * config/i386/i386-d.c: Moved to...
29967 * config/i386/i386-d.cc: ...here.
29968 * config/i386/i386-expand.c: Moved to...
29969 * config/i386/i386-expand.cc: ...here.
29970 * config/i386/i386-features.c: Moved to...
29971 * config/i386/i386-features.cc: ...here.
29972 * config/i386/i386-options.c: Moved to...
29973 * config/i386/i386-options.cc: ...here.
29974 * config/i386/i386.c: Moved to...
29975 * config/i386/i386.cc: ...here.
29976 * config/i386/intelmic-mkoffload.c: Moved to...
29977 * config/i386/intelmic-mkoffload.cc: ...here.
29978 * config/i386/msformat-c.c: Moved to...
29979 * config/i386/msformat-c.cc: ...here.
29980 * config/i386/winnt-cxx.c: Moved to...
29981 * config/i386/winnt-cxx.cc: ...here.
29982 * config/i386/winnt-d.c: Moved to...
29983 * config/i386/winnt-d.cc: ...here.
29984 * config/i386/winnt-stubs.c: Moved to...
29985 * config/i386/winnt-stubs.cc: ...here.
29986 * config/i386/winnt.c: Moved to...
29987 * config/i386/winnt.cc: ...here.
29988 * config/i386/x86-tune-sched-atom.c: Moved to...
29989 * config/i386/x86-tune-sched-atom.cc: ...here.
29990 * config/i386/x86-tune-sched-bd.c: Moved to...
29991 * config/i386/x86-tune-sched-bd.cc: ...here.
29992 * config/i386/x86-tune-sched-core.c: Moved to...
29993 * config/i386/x86-tune-sched-core.cc: ...here.
29994 * config/i386/x86-tune-sched.c: Moved to...
29995 * config/i386/x86-tune-sched.cc: ...here.
29996 * config/ia64/ia64-c.c: Moved to...
29997 * config/ia64/ia64-c.cc: ...here.
29998 * config/ia64/ia64.c: Moved to...
29999 * config/ia64/ia64.cc: ...here.
30000 * config/iq2000/iq2000.c: Moved to...
30001 * config/iq2000/iq2000.cc: ...here.
30002 * config/linux.c: Moved to...
30003 * config/linux.cc: ...here.
30004 * config/lm32/lm32.c: Moved to...
30005 * config/lm32/lm32.cc: ...here.
30006 * config/m32c/m32c-pragma.c: Moved to...
30007 * config/m32c/m32c-pragma.cc: ...here.
30008 * config/m32c/m32c.c: Moved to...
30009 * config/m32c/m32c.cc: ...here.
30010 * config/m32r/m32r.c: Moved to...
30011 * config/m32r/m32r.cc: ...here.
30012 * config/m68k/m68k.c: Moved to...
30013 * config/m68k/m68k.cc: ...here.
30014 * config/mcore/mcore.c: Moved to...
30015 * config/mcore/mcore.cc: ...here.
30016 * config/microblaze/microblaze-c.c: Moved to...
30017 * config/microblaze/microblaze-c.cc: ...here.
30018 * config/microblaze/microblaze.c: Moved to...
30019 * config/microblaze/microblaze.cc: ...here.
30020 * config/mips/driver-native.c: Moved to...
30021 * config/mips/driver-native.cc: ...here.
30022 * config/mips/frame-header-opt.c: Moved to...
30023 * config/mips/frame-header-opt.cc: ...here.
30024 * config/mips/mips-d.c: Moved to...
30025 * config/mips/mips-d.cc: ...here.
30026 * config/mips/mips.c: Moved to...
30027 * config/mips/mips.cc: ...here.
30028 * config/mmix/mmix.c: Moved to...
30029 * config/mmix/mmix.cc: ...here.
30030 * config/mn10300/mn10300.c: Moved to...
30031 * config/mn10300/mn10300.cc: ...here.
30032 * config/moxie/moxie.c: Moved to...
30033 * config/moxie/moxie.cc: ...here.
30034 * config/msp430/driver-msp430.c: Moved to...
30035 * config/msp430/driver-msp430.cc: ...here.
30036 * config/msp430/msp430-c.c: Moved to...
30037 * config/msp430/msp430-c.cc: ...here.
30038 * config/msp430/msp430-devices.c: Moved to...
30039 * config/msp430/msp430-devices.cc: ...here.
30040 * config/msp430/msp430.c: Moved to...
30041 * config/msp430/msp430.cc: ...here.
30042 * config/nds32/nds32-cost.c: Moved to...
30043 * config/nds32/nds32-cost.cc: ...here.
30044 * config/nds32/nds32-fp-as-gp.c: Moved to...
30045 * config/nds32/nds32-fp-as-gp.cc: ...here.
30046 * config/nds32/nds32-intrinsic.c: Moved to...
30047 * config/nds32/nds32-intrinsic.cc: ...here.
30048 * config/nds32/nds32-isr.c: Moved to...
30049 * config/nds32/nds32-isr.cc: ...here.
30050 * config/nds32/nds32-md-auxiliary.c: Moved to...
30051 * config/nds32/nds32-md-auxiliary.cc: ...here.
30052 * config/nds32/nds32-memory-manipulation.c: Moved to...
30053 * config/nds32/nds32-memory-manipulation.cc: ...here.
30054 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
30055 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
30056 * config/nds32/nds32-predicates.c: Moved to...
30057 * config/nds32/nds32-predicates.cc: ...here.
30058 * config/nds32/nds32-relax-opt.c: Moved to...
30059 * config/nds32/nds32-relax-opt.cc: ...here.
30060 * config/nds32/nds32-utils.c: Moved to...
30061 * config/nds32/nds32-utils.cc: ...here.
30062 * config/nds32/nds32.c: Moved to...
30063 * config/nds32/nds32.cc: ...here.
30064 * config/netbsd-d.c: Moved to...
30065 * config/netbsd-d.cc: ...here.
30066 * config/netbsd.c: Moved to...
30067 * config/netbsd.cc: ...here.
30068 * config/nios2/nios2.c: Moved to...
30069 * config/nios2/nios2.cc: ...here.
30070 * config/nvptx/mkoffload.c: Moved to...
30071 * config/nvptx/mkoffload.cc: ...here.
30072 * config/nvptx/nvptx-c.c: Moved to...
30073 * config/nvptx/nvptx-c.cc: ...here.
30074 * config/nvptx/nvptx.c: Moved to...
30075 * config/nvptx/nvptx.cc: ...here.
30076 * config/openbsd-d.c: Moved to...
30077 * config/openbsd-d.cc: ...here.
30078 * config/or1k/or1k.c: Moved to...
30079 * config/or1k/or1k.cc: ...here.
30080 * config/pa/pa-d.c: Moved to...
30081 * config/pa/pa-d.cc: ...here.
30082 * config/pa/pa.c: Moved to...
30083 * config/pa/pa.cc: ...here.
30084 * config/pdp11/pdp11.c: Moved to...
30085 * config/pdp11/pdp11.cc: ...here.
30086 * config/pru/pru-passes.c: Moved to...
30087 * config/pru/pru-passes.cc: ...here.
30088 * config/pru/pru-pragma.c: Moved to...
30089 * config/pru/pru-pragma.cc: ...here.
30090 * config/pru/pru.c: Moved to...
30091 * config/pru/pru.cc: ...here.
30092 * config/riscv/riscv-builtins.c: Moved to...
30093 * config/riscv/riscv-builtins.cc: ...here.
30094 * config/riscv/riscv-c.c: Moved to...
30095 * config/riscv/riscv-c.cc: ...here.
30096 * config/riscv/riscv-d.c: Moved to...
30097 * config/riscv/riscv-d.cc: ...here.
30098 * config/riscv/riscv-shorten-memrefs.c: Moved to...
30099 * config/riscv/riscv-shorten-memrefs.cc: ...here.
30100 * config/riscv/riscv-sr.c: Moved to...
30101 * config/riscv/riscv-sr.cc: ...here.
30102 * config/riscv/riscv.c: Moved to...
30103 * config/riscv/riscv.cc: ...here.
30104 * config/rl78/rl78-c.c: Moved to...
30105 * config/rl78/rl78-c.cc: ...here.
30106 * config/rl78/rl78.c: Moved to...
30107 * config/rl78/rl78.cc: ...here.
30108 * config/rs6000/driver-rs6000.c: Moved to...
30109 * config/rs6000/driver-rs6000.cc: ...here.
30110 * config/rs6000/host-darwin.c: Moved to...
30111 * config/rs6000/host-darwin.cc: ...here.
30112 * config/rs6000/host-ppc64-darwin.c: Moved to...
30113 * config/rs6000/host-ppc64-darwin.cc: ...here.
30114 * config/rs6000/rbtree.c: Moved to...
30115 * config/rs6000/rbtree.cc: ...here.
30116 * config/rs6000/rs6000-c.c: Moved to...
30117 * config/rs6000/rs6000-c.cc: ...here.
30118 * config/rs6000/rs6000-call.c: Moved to...
30119 * config/rs6000/rs6000-call.cc: ...here.
30120 * config/rs6000/rs6000-d.c: Moved to...
30121 * config/rs6000/rs6000-d.cc: ...here.
30122 * config/rs6000/rs6000-gen-builtins.c: Moved to...
30123 * config/rs6000/rs6000-gen-builtins.cc: ...here.
30124 * config/rs6000/rs6000-linux.c: Moved to...
30125 * config/rs6000/rs6000-linux.cc: ...here.
30126 * config/rs6000/rs6000-logue.c: Moved to...
30127 * config/rs6000/rs6000-logue.cc: ...here.
30128 * config/rs6000/rs6000-p8swap.c: Moved to...
30129 * config/rs6000/rs6000-p8swap.cc: ...here.
30130 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
30131 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
30132 * config/rs6000/rs6000-string.c: Moved to...
30133 * config/rs6000/rs6000-string.cc: ...here.
30134 * config/rs6000/rs6000.c: Moved to...
30135 * config/rs6000/rs6000.cc: ...here.
30136 * config/rx/rx.c: Moved to...
30137 * config/rx/rx.cc: ...here.
30138 * config/s390/driver-native.c: Moved to...
30139 * config/s390/driver-native.cc: ...here.
30140 * config/s390/s390-c.c: Moved to...
30141 * config/s390/s390-c.cc: ...here.
30142 * config/s390/s390-d.c: Moved to...
30143 * config/s390/s390-d.cc: ...here.
30144 * config/s390/s390.c: Moved to...
30145 * config/s390/s390.cc: ...here.
30146 * config/sh/divtab-sh4-300.c: Moved to...
30147 * config/sh/divtab-sh4-300.cc: ...here.
30148 * config/sh/divtab-sh4.c: Moved to...
30149 * config/sh/divtab-sh4.cc: ...here.
30150 * config/sh/divtab.c: Moved to...
30151 * config/sh/divtab.cc: ...here.
30152 * config/sh/sh-c.c: Moved to...
30153 * config/sh/sh-c.cc: ...here.
30154 * config/sh/sh.c: Moved to...
30155 * config/sh/sh.cc: ...here.
30156 * config/sol2-c.c: Moved to...
30157 * config/sol2-c.cc: ...here.
30158 * config/sol2-cxx.c: Moved to...
30159 * config/sol2-cxx.cc: ...here.
30160 * config/sol2-d.c: Moved to...
30161 * config/sol2-d.cc: ...here.
30162 * config/sol2-stubs.c: Moved to...
30163 * config/sol2-stubs.cc: ...here.
30164 * config/sol2.c: Moved to...
30165 * config/sol2.cc: ...here.
30166 * config/sparc/driver-sparc.c: Moved to...
30167 * config/sparc/driver-sparc.cc: ...here.
30168 * config/sparc/sparc-c.c: Moved to...
30169 * config/sparc/sparc-c.cc: ...here.
30170 * config/sparc/sparc-d.c: Moved to...
30171 * config/sparc/sparc-d.cc: ...here.
30172 * config/sparc/sparc.c: Moved to...
30173 * config/sparc/sparc.cc: ...here.
30174 * config/stormy16/stormy16.c: Moved to...
30175 * config/stormy16/stormy16.cc: ...here.
30176 * config/tilegx/mul-tables.c: Moved to...
30177 * config/tilegx/mul-tables.cc: ...here.
30178 * config/tilegx/tilegx-c.c: Moved to...
30179 * config/tilegx/tilegx-c.cc: ...here.
30180 * config/tilegx/tilegx.c: Moved to...
30181 * config/tilegx/tilegx.cc: ...here.
30182 * config/tilepro/mul-tables.c: Moved to...
30183 * config/tilepro/mul-tables.cc: ...here.
30184 * config/tilepro/tilepro-c.c: Moved to...
30185 * config/tilepro/tilepro-c.cc: ...here.
30186 * config/tilepro/tilepro.c: Moved to...
30187 * config/tilepro/tilepro.cc: ...here.
30188 * config/v850/v850-c.c: Moved to...
30189 * config/v850/v850-c.cc: ...here.
30190 * config/v850/v850.c: Moved to...
30191 * config/v850/v850.cc: ...here.
30192 * config/vax/vax.c: Moved to...
30193 * config/vax/vax.cc: ...here.
30194 * config/visium/visium.c: Moved to...
30195 * config/visium/visium.cc: ...here.
30196 * config/vms/vms-c.c: Moved to...
30197 * config/vms/vms-c.cc: ...here.
30198 * config/vms/vms-f.c: Moved to...
30199 * config/vms/vms-f.cc: ...here.
30200 * config/vms/vms.c: Moved to...
30201 * config/vms/vms.cc: ...here.
30202 * config/vxworks-c.c: Moved to...
30203 * config/vxworks-c.cc: ...here.
30204 * config/vxworks.c: Moved to...
30205 * config/vxworks.cc: ...here.
30206 * config/winnt-c.c: Moved to...
30207 * config/winnt-c.cc: ...here.
30208 * config/xtensa/xtensa.c: Moved to...
30209 * config/xtensa/xtensa.cc: ...here.
30210 * context.c: Moved to...
30211 * context.cc: ...here.
30212 * convert.c: Moved to...
30213 * convert.cc: ...here.
30214 * coverage.c: Moved to...
30215 * coverage.cc: ...here.
30216 * cppbuiltin.c: Moved to...
30217 * cppbuiltin.cc: ...here.
30218 * cppdefault.c: Moved to...
30219 * cppdefault.cc: ...here.
30220 * cprop.c: Moved to...
30221 * cprop.cc: ...here.
30222 * cse.c: Moved to...
30224 * cselib.c: Moved to...
30225 * cselib.cc: ...here.
30226 * ctfc.c: Moved to...
30227 * ctfc.cc: ...here.
30228 * ctfout.c: Moved to...
30229 * ctfout.cc: ...here.
30230 * data-streamer-in.c: Moved to...
30231 * data-streamer-in.cc: ...here.
30232 * data-streamer-out.c: Moved to...
30233 * data-streamer-out.cc: ...here.
30234 * data-streamer.c: Moved to...
30235 * data-streamer.cc: ...here.
30236 * dbgcnt.c: Moved to...
30237 * dbgcnt.cc: ...here.
30238 * dbxout.c: Moved to...
30239 * dbxout.cc: ...here.
30240 * dce.c: Moved to...
30242 * ddg.c: Moved to...
30244 * debug.c: Moved to...
30245 * debug.cc: ...here.
30246 * df-core.c: Moved to...
30247 * df-core.cc: ...here.
30248 * df-problems.c: Moved to...
30249 * df-problems.cc: ...here.
30250 * df-scan.c: Moved to...
30251 * df-scan.cc: ...here.
30252 * dfp.c: Moved to...
30254 * diagnostic-color.c: Moved to...
30255 * diagnostic-color.cc: ...here.
30256 * diagnostic-show-locus.c: Moved to...
30257 * diagnostic-show-locus.cc: ...here.
30258 * diagnostic-spec.c: Moved to...
30259 * diagnostic-spec.cc: ...here.
30260 * diagnostic.c: Moved to...
30261 * diagnostic.cc: ...here.
30262 * dojump.c: Moved to...
30263 * dojump.cc: ...here.
30264 * dominance.c: Moved to...
30265 * dominance.cc: ...here.
30266 * domwalk.c: Moved to...
30267 * domwalk.cc: ...here.
30268 * double-int.c: Moved to...
30269 * double-int.cc: ...here.
30270 * dse.c: Moved to...
30272 * dumpfile.c: Moved to...
30273 * dumpfile.cc: ...here.
30274 * dwarf2asm.c: Moved to...
30275 * dwarf2asm.cc: ...here.
30276 * dwarf2cfi.c: Moved to...
30277 * dwarf2cfi.cc: ...here.
30278 * dwarf2ctf.c: Moved to...
30279 * dwarf2ctf.cc: ...here.
30280 * dwarf2out.c: Moved to...
30281 * dwarf2out.cc: ...here.
30282 * early-remat.c: Moved to...
30283 * early-remat.cc: ...here.
30284 * edit-context.c: Moved to...
30285 * edit-context.cc: ...here.
30286 * emit-rtl.c: Moved to...
30287 * emit-rtl.cc: ...here.
30288 * errors.c: Moved to...
30289 * errors.cc: ...here.
30290 * et-forest.c: Moved to...
30291 * et-forest.cc: ...here.
30292 * except.c: Moved to...
30293 * except.cc: ...here.
30294 * explow.c: Moved to...
30295 * explow.cc: ...here.
30296 * expmed.c: Moved to...
30297 * expmed.cc: ...here.
30298 * expr.c: Moved to...
30299 * expr.cc: ...here.
30300 * fibonacci_heap.c: Moved to...
30301 * fibonacci_heap.cc: ...here.
30302 * file-find.c: Moved to...
30303 * file-find.cc: ...here.
30304 * file-prefix-map.c: Moved to...
30305 * file-prefix-map.cc: ...here.
30306 * final.c: Moved to...
30307 * final.cc: ...here.
30308 * fixed-value.c: Moved to...
30309 * fixed-value.cc: ...here.
30310 * fold-const-call.c: Moved to...
30311 * fold-const-call.cc: ...here.
30312 * fold-const.c: Moved to...
30313 * fold-const.cc: ...here.
30314 * fp-test.c: Moved to...
30315 * fp-test.cc: ...here.
30316 * function-tests.c: Moved to...
30317 * function-tests.cc: ...here.
30318 * function.c: Moved to...
30319 * function.cc: ...here.
30320 * fwprop.c: Moved to...
30321 * fwprop.cc: ...here.
30322 * gcc-ar.c: Moved to...
30323 * gcc-ar.cc: ...here.
30324 * gcc-main.c: Moved to...
30325 * gcc-main.cc: ...here.
30326 * gcc-rich-location.c: Moved to...
30327 * gcc-rich-location.cc: ...here.
30328 * gcc.c: Moved to...
30330 * gcov-dump.c: Moved to...
30331 * gcov-dump.cc: ...here.
30332 * gcov-io.c: Moved to...
30333 * gcov-io.cc: ...here.
30334 * gcov-tool.c: Moved to...
30335 * gcov-tool.cc: ...here.
30336 * gcov.c: Moved to...
30337 * gcov.cc: ...here.
30338 * gcse-common.c: Moved to...
30339 * gcse-common.cc: ...here.
30340 * gcse.c: Moved to...
30341 * gcse.cc: ...here.
30342 * genattr-common.c: Moved to...
30343 * genattr-common.cc: ...here.
30344 * genattr.c: Moved to...
30345 * genattr.cc: ...here.
30346 * genattrtab.c: Moved to...
30347 * genattrtab.cc: ...here.
30348 * genautomata.c: Moved to...
30349 * genautomata.cc: ...here.
30350 * gencfn-macros.c: Moved to...
30351 * gencfn-macros.cc: ...here.
30352 * gencheck.c: Moved to...
30353 * gencheck.cc: ...here.
30354 * genchecksum.c: Moved to...
30355 * genchecksum.cc: ...here.
30356 * gencodes.c: Moved to...
30357 * gencodes.cc: ...here.
30358 * genconditions.c: Moved to...
30359 * genconditions.cc: ...here.
30360 * genconfig.c: Moved to...
30361 * genconfig.cc: ...here.
30362 * genconstants.c: Moved to...
30363 * genconstants.cc: ...here.
30364 * genemit.c: Moved to...
30365 * genemit.cc: ...here.
30366 * genenums.c: Moved to...
30367 * genenums.cc: ...here.
30368 * generic-match-head.c: Moved to...
30369 * generic-match-head.cc: ...here.
30370 * genextract.c: Moved to...
30371 * genextract.cc: ...here.
30372 * genflags.c: Moved to...
30373 * genflags.cc: ...here.
30374 * gengenrtl.c: Moved to...
30375 * gengenrtl.cc: ...here.
30376 * gengtype-parse.c: Moved to...
30377 * gengtype-parse.cc: ...here.
30378 * gengtype-state.c: Moved to...
30379 * gengtype-state.cc: ...here.
30380 * gengtype.c: Moved to...
30381 * gengtype.cc: ...here.
30382 * genhooks.c: Moved to...
30383 * genhooks.cc: ...here.
30384 * genmatch.c: Moved to...
30385 * genmatch.cc: ...here.
30386 * genmddeps.c: Moved to...
30387 * genmddeps.cc: ...here.
30388 * genmddump.c: Moved to...
30389 * genmddump.cc: ...here.
30390 * genmodes.c: Moved to...
30391 * genmodes.cc: ...here.
30392 * genopinit.c: Moved to...
30393 * genopinit.cc: ...here.
30394 * genoutput.c: Moved to...
30395 * genoutput.cc: ...here.
30396 * genpeep.c: Moved to...
30397 * genpeep.cc: ...here.
30398 * genpreds.c: Moved to...
30399 * genpreds.cc: ...here.
30400 * genrecog.c: Moved to...
30401 * genrecog.cc: ...here.
30402 * gensupport.c: Moved to...
30403 * gensupport.cc: ...here.
30404 * gentarget-def.c: Moved to...
30405 * gentarget-def.cc: ...here.
30406 * genversion.c: Moved to...
30407 * genversion.cc: ...here.
30408 * ggc-common.c: Moved to...
30409 * ggc-common.cc: ...here.
30410 * ggc-none.c: Moved to...
30411 * ggc-none.cc: ...here.
30412 * ggc-page.c: Moved to...
30413 * ggc-page.cc: ...here.
30414 * ggc-tests.c: Moved to...
30415 * ggc-tests.cc: ...here.
30416 * gimple-builder.c: Moved to...
30417 * gimple-builder.cc: ...here.
30418 * gimple-expr.c: Moved to...
30419 * gimple-expr.cc: ...here.
30420 * gimple-fold.c: Moved to...
30421 * gimple-fold.cc: ...here.
30422 * gimple-iterator.c: Moved to...
30423 * gimple-iterator.cc: ...here.
30424 * gimple-laddress.c: Moved to...
30425 * gimple-laddress.cc: ...here.
30426 * gimple-loop-jam.c: Moved to...
30427 * gimple-loop-jam.cc: ...here.
30428 * gimple-low.c: Moved to...
30429 * gimple-low.cc: ...here.
30430 * gimple-match-head.c: Moved to...
30431 * gimple-match-head.cc: ...here.
30432 * gimple-pretty-print.c: Moved to...
30433 * gimple-pretty-print.cc: ...here.
30434 * gimple-ssa-backprop.c: Moved to...
30435 * gimple-ssa-backprop.cc: ...here.
30436 * gimple-ssa-evrp-analyze.c: Moved to...
30437 * gimple-ssa-evrp-analyze.cc: ...here.
30438 * gimple-ssa-evrp.c: Moved to...
30439 * gimple-ssa-evrp.cc: ...here.
30440 * gimple-ssa-isolate-paths.c: Moved to...
30441 * gimple-ssa-isolate-paths.cc: ...here.
30442 * gimple-ssa-nonnull-compare.c: Moved to...
30443 * gimple-ssa-nonnull-compare.cc: ...here.
30444 * gimple-ssa-split-paths.c: Moved to...
30445 * gimple-ssa-split-paths.cc: ...here.
30446 * gimple-ssa-sprintf.c: Moved to...
30447 * gimple-ssa-sprintf.cc: ...here.
30448 * gimple-ssa-store-merging.c: Moved to...
30449 * gimple-ssa-store-merging.cc: ...here.
30450 * gimple-ssa-strength-reduction.c: Moved to...
30451 * gimple-ssa-strength-reduction.cc: ...here.
30452 * gimple-ssa-warn-alloca.c: Moved to...
30453 * gimple-ssa-warn-alloca.cc: ...here.
30454 * gimple-ssa-warn-restrict.c: Moved to...
30455 * gimple-ssa-warn-restrict.cc: ...here.
30456 * gimple-streamer-in.c: Moved to...
30457 * gimple-streamer-in.cc: ...here.
30458 * gimple-streamer-out.c: Moved to...
30459 * gimple-streamer-out.cc: ...here.
30460 * gimple-walk.c: Moved to...
30461 * gimple-walk.cc: ...here.
30462 * gimple-warn-recursion.c: Moved to...
30463 * gimple-warn-recursion.cc: ...here.
30464 * gimple.c: Moved to...
30465 * gimple.cc: ...here.
30466 * gimplify-me.c: Moved to...
30467 * gimplify-me.cc: ...here.
30468 * gimplify.c: Moved to...
30469 * gimplify.cc: ...here.
30470 * godump.c: Moved to...
30471 * godump.cc: ...here.
30472 * graph.c: Moved to...
30473 * graph.cc: ...here.
30474 * graphds.c: Moved to...
30475 * graphds.cc: ...here.
30476 * graphite-dependences.c: Moved to...
30477 * graphite-dependences.cc: ...here.
30478 * graphite-isl-ast-to-gimple.c: Moved to...
30479 * graphite-isl-ast-to-gimple.cc: ...here.
30480 * graphite-optimize-isl.c: Moved to...
30481 * graphite-optimize-isl.cc: ...here.
30482 * graphite-poly.c: Moved to...
30483 * graphite-poly.cc: ...here.
30484 * graphite-scop-detection.c: Moved to...
30485 * graphite-scop-detection.cc: ...here.
30486 * graphite-sese-to-poly.c: Moved to...
30487 * graphite-sese-to-poly.cc: ...here.
30488 * graphite.c: Moved to...
30489 * graphite.cc: ...here.
30490 * haifa-sched.c: Moved to...
30491 * haifa-sched.cc: ...here.
30492 * hash-map-tests.c: Moved to...
30493 * hash-map-tests.cc: ...here.
30494 * hash-set-tests.c: Moved to...
30495 * hash-set-tests.cc: ...here.
30496 * hash-table.c: Moved to...
30497 * hash-table.cc: ...here.
30498 * hooks.c: Moved to...
30499 * hooks.cc: ...here.
30500 * host-default.c: Moved to...
30501 * host-default.cc: ...here.
30502 * hw-doloop.c: Moved to...
30503 * hw-doloop.cc: ...here.
30504 * hwint.c: Moved to...
30505 * hwint.cc: ...here.
30506 * ifcvt.c: Moved to...
30507 * ifcvt.cc: ...here.
30508 * inchash.c: Moved to...
30509 * inchash.cc: ...here.
30510 * incpath.c: Moved to...
30511 * incpath.cc: ...here.
30512 * init-regs.c: Moved to...
30513 * init-regs.cc: ...here.
30514 * input.c: Moved to...
30515 * input.cc: ...here.
30516 * internal-fn.c: Moved to...
30517 * internal-fn.cc: ...here.
30518 * intl.c: Moved to...
30519 * intl.cc: ...here.
30520 * ipa-comdats.c: Moved to...
30521 * ipa-comdats.cc: ...here.
30522 * ipa-cp.c: Moved to...
30523 * ipa-cp.cc: ...here.
30524 * ipa-devirt.c: Moved to...
30525 * ipa-devirt.cc: ...here.
30526 * ipa-fnsummary.c: Moved to...
30527 * ipa-fnsummary.cc: ...here.
30528 * ipa-icf-gimple.c: Moved to...
30529 * ipa-icf-gimple.cc: ...here.
30530 * ipa-icf.c: Moved to...
30531 * ipa-icf.cc: ...here.
30532 * ipa-inline-analysis.c: Moved to...
30533 * ipa-inline-analysis.cc: ...here.
30534 * ipa-inline-transform.c: Moved to...
30535 * ipa-inline-transform.cc: ...here.
30536 * ipa-inline.c: Moved to...
30537 * ipa-inline.cc: ...here.
30538 * ipa-modref-tree.c: Moved to...
30539 * ipa-modref-tree.cc: ...here.
30540 * ipa-modref.c: Moved to...
30541 * ipa-modref.cc: ...here.
30542 * ipa-param-manipulation.c: Moved to...
30543 * ipa-param-manipulation.cc: ...here.
30544 * ipa-polymorphic-call.c: Moved to...
30545 * ipa-polymorphic-call.cc: ...here.
30546 * ipa-predicate.c: Moved to...
30547 * ipa-predicate.cc: ...here.
30548 * ipa-profile.c: Moved to...
30549 * ipa-profile.cc: ...here.
30550 * ipa-prop.c: Moved to...
30551 * ipa-prop.cc: ...here.
30552 * ipa-pure-const.c: Moved to...
30553 * ipa-pure-const.cc: ...here.
30554 * ipa-ref.c: Moved to...
30555 * ipa-ref.cc: ...here.
30556 * ipa-reference.c: Moved to...
30557 * ipa-reference.cc: ...here.
30558 * ipa-split.c: Moved to...
30559 * ipa-split.cc: ...here.
30560 * ipa-sra.c: Moved to...
30561 * ipa-sra.cc: ...here.
30562 * ipa-utils.c: Moved to...
30563 * ipa-utils.cc: ...here.
30564 * ipa-visibility.c: Moved to...
30565 * ipa-visibility.cc: ...here.
30566 * ipa.c: Moved to...
30568 * ira-build.c: Moved to...
30569 * ira-build.cc: ...here.
30570 * ira-color.c: Moved to...
30571 * ira-color.cc: ...here.
30572 * ira-conflicts.c: Moved to...
30573 * ira-conflicts.cc: ...here.
30574 * ira-costs.c: Moved to...
30575 * ira-costs.cc: ...here.
30576 * ira-emit.c: Moved to...
30577 * ira-emit.cc: ...here.
30578 * ira-lives.c: Moved to...
30579 * ira-lives.cc: ...here.
30580 * ira.c: Moved to...
30582 * jump.c: Moved to...
30583 * jump.cc: ...here.
30584 * langhooks.c: Moved to...
30585 * langhooks.cc: ...here.
30586 * lcm.c: Moved to...
30588 * lists.c: Moved to...
30589 * lists.cc: ...here.
30590 * loop-doloop.c: Moved to...
30591 * loop-doloop.cc: ...here.
30592 * loop-init.c: Moved to...
30593 * loop-init.cc: ...here.
30594 * loop-invariant.c: Moved to...
30595 * loop-invariant.cc: ...here.
30596 * loop-iv.c: Moved to...
30597 * loop-iv.cc: ...here.
30598 * loop-unroll.c: Moved to...
30599 * loop-unroll.cc: ...here.
30600 * lower-subreg.c: Moved to...
30601 * lower-subreg.cc: ...here.
30602 * lra-assigns.c: Moved to...
30603 * lra-assigns.cc: ...here.
30604 * lra-coalesce.c: Moved to...
30605 * lra-coalesce.cc: ...here.
30606 * lra-constraints.c: Moved to...
30607 * lra-constraints.cc: ...here.
30608 * lra-eliminations.c: Moved to...
30609 * lra-eliminations.cc: ...here.
30610 * lra-lives.c: Moved to...
30611 * lra-lives.cc: ...here.
30612 * lra-remat.c: Moved to...
30613 * lra-remat.cc: ...here.
30614 * lra-spills.c: Moved to...
30615 * lra-spills.cc: ...here.
30616 * lra.c: Moved to...
30618 * lto-cgraph.c: Moved to...
30619 * lto-cgraph.cc: ...here.
30620 * lto-compress.c: Moved to...
30621 * lto-compress.cc: ...here.
30622 * lto-opts.c: Moved to...
30623 * lto-opts.cc: ...here.
30624 * lto-section-in.c: Moved to...
30625 * lto-section-in.cc: ...here.
30626 * lto-section-out.c: Moved to...
30627 * lto-section-out.cc: ...here.
30628 * lto-streamer-in.c: Moved to...
30629 * lto-streamer-in.cc: ...here.
30630 * lto-streamer-out.c: Moved to...
30631 * lto-streamer-out.cc: ...here.
30632 * lto-streamer.c: Moved to...
30633 * lto-streamer.cc: ...here.
30634 * lto-wrapper.c: Moved to...
30635 * lto-wrapper.cc: ...here.
30636 * main.c: Moved to...
30637 * main.cc: ...here.
30638 * mcf.c: Moved to...
30640 * mode-switching.c: Moved to...
30641 * mode-switching.cc: ...here.
30642 * modulo-sched.c: Moved to...
30643 * modulo-sched.cc: ...here.
30644 * multiple_target.c: Moved to...
30645 * multiple_target.cc: ...here.
30646 * omp-expand.c: Moved to...
30647 * omp-expand.cc: ...here.
30648 * omp-general.c: Moved to...
30649 * omp-general.cc: ...here.
30650 * omp-low.c: Moved to...
30651 * omp-low.cc: ...here.
30652 * omp-offload.c: Moved to...
30653 * omp-offload.cc: ...here.
30654 * omp-simd-clone.c: Moved to...
30655 * omp-simd-clone.cc: ...here.
30656 * opt-suggestions.c: Moved to...
30657 * opt-suggestions.cc: ...here.
30658 * optabs-libfuncs.c: Moved to...
30659 * optabs-libfuncs.cc: ...here.
30660 * optabs-query.c: Moved to...
30661 * optabs-query.cc: ...here.
30662 * optabs-tree.c: Moved to...
30663 * optabs-tree.cc: ...here.
30664 * optabs.c: Moved to...
30665 * optabs.cc: ...here.
30666 * opts-common.c: Moved to...
30667 * opts-common.cc: ...here.
30668 * opts-global.c: Moved to...
30669 * opts-global.cc: ...here.
30670 * opts.c: Moved to...
30671 * opts.cc: ...here.
30672 * passes.c: Moved to...
30673 * passes.cc: ...here.
30674 * plugin.c: Moved to...
30675 * plugin.cc: ...here.
30676 * postreload-gcse.c: Moved to...
30677 * postreload-gcse.cc: ...here.
30678 * postreload.c: Moved to...
30679 * postreload.cc: ...here.
30680 * predict.c: Moved to...
30681 * predict.cc: ...here.
30682 * prefix.c: Moved to...
30683 * prefix.cc: ...here.
30684 * pretty-print.c: Moved to...
30685 * pretty-print.cc: ...here.
30686 * print-rtl-function.c: Moved to...
30687 * print-rtl-function.cc: ...here.
30688 * print-rtl.c: Moved to...
30689 * print-rtl.cc: ...here.
30690 * print-tree.c: Moved to...
30691 * print-tree.cc: ...here.
30692 * profile-count.c: Moved to...
30693 * profile-count.cc: ...here.
30694 * profile.c: Moved to...
30695 * profile.cc: ...here.
30696 * read-md.c: Moved to...
30697 * read-md.cc: ...here.
30698 * read-rtl-function.c: Moved to...
30699 * read-rtl-function.cc: ...here.
30700 * read-rtl.c: Moved to...
30701 * read-rtl.cc: ...here.
30702 * real.c: Moved to...
30703 * real.cc: ...here.
30704 * realmpfr.c: Moved to...
30705 * realmpfr.cc: ...here.
30706 * recog.c: Moved to...
30707 * recog.cc: ...here.
30708 * ree.c: Moved to...
30710 * reg-stack.c: Moved to...
30711 * reg-stack.cc: ...here.
30712 * regcprop.c: Moved to...
30713 * regcprop.cc: ...here.
30714 * reginfo.c: Moved to...
30715 * reginfo.cc: ...here.
30716 * regrename.c: Moved to...
30717 * regrename.cc: ...here.
30718 * regstat.c: Moved to...
30719 * regstat.cc: ...here.
30720 * reload.c: Moved to...
30721 * reload.cc: ...here.
30722 * reload1.c: Moved to...
30723 * reload1.cc: ...here.
30724 * reorg.c: Moved to...
30725 * reorg.cc: ...here.
30726 * resource.c: Moved to...
30727 * resource.cc: ...here.
30728 * rtl-error.c: Moved to...
30729 * rtl-error.cc: ...here.
30730 * rtl-tests.c: Moved to...
30731 * rtl-tests.cc: ...here.
30732 * rtl.c: Moved to...
30734 * rtlanal.c: Moved to...
30735 * rtlanal.cc: ...here.
30736 * rtlhash.c: Moved to...
30737 * rtlhash.cc: ...here.
30738 * rtlhooks.c: Moved to...
30739 * rtlhooks.cc: ...here.
30740 * rtx-vector-builder.c: Moved to...
30741 * rtx-vector-builder.cc: ...here.
30742 * run-rtl-passes.c: Moved to...
30743 * run-rtl-passes.cc: ...here.
30744 * sancov.c: Moved to...
30745 * sancov.cc: ...here.
30746 * sanopt.c: Moved to...
30747 * sanopt.cc: ...here.
30748 * sbitmap.c: Moved to...
30749 * sbitmap.cc: ...here.
30750 * sched-deps.c: Moved to...
30751 * sched-deps.cc: ...here.
30752 * sched-ebb.c: Moved to...
30753 * sched-ebb.cc: ...here.
30754 * sched-rgn.c: Moved to...
30755 * sched-rgn.cc: ...here.
30756 * sel-sched-dump.c: Moved to...
30757 * sel-sched-dump.cc: ...here.
30758 * sel-sched-ir.c: Moved to...
30759 * sel-sched-ir.cc: ...here.
30760 * sel-sched.c: Moved to...
30761 * sel-sched.cc: ...here.
30762 * selftest-diagnostic.c: Moved to...
30763 * selftest-diagnostic.cc: ...here.
30764 * selftest-rtl.c: Moved to...
30765 * selftest-rtl.cc: ...here.
30766 * selftest-run-tests.c: Moved to...
30767 * selftest-run-tests.cc: ...here.
30768 * selftest.c: Moved to...
30769 * selftest.cc: ...here.
30770 * sese.c: Moved to...
30771 * sese.cc: ...here.
30772 * shrink-wrap.c: Moved to...
30773 * shrink-wrap.cc: ...here.
30774 * simplify-rtx.c: Moved to...
30775 * simplify-rtx.cc: ...here.
30776 * sparseset.c: Moved to...
30777 * sparseset.cc: ...here.
30778 * spellcheck-tree.c: Moved to...
30779 * spellcheck-tree.cc: ...here.
30780 * spellcheck.c: Moved to...
30781 * spellcheck.cc: ...here.
30782 * sreal.c: Moved to...
30783 * sreal.cc: ...here.
30784 * stack-ptr-mod.c: Moved to...
30785 * stack-ptr-mod.cc: ...here.
30786 * statistics.c: Moved to...
30787 * statistics.cc: ...here.
30788 * stmt.c: Moved to...
30789 * stmt.cc: ...here.
30790 * stor-layout.c: Moved to...
30791 * stor-layout.cc: ...here.
30792 * store-motion.c: Moved to...
30793 * store-motion.cc: ...here.
30794 * streamer-hooks.c: Moved to...
30795 * streamer-hooks.cc: ...here.
30796 * stringpool.c: Moved to...
30797 * stringpool.cc: ...here.
30798 * substring-locations.c: Moved to...
30799 * substring-locations.cc: ...here.
30800 * symtab.c: Moved to...
30801 * symtab.cc: ...here.
30802 * target-globals.c: Moved to...
30803 * target-globals.cc: ...here.
30804 * targhooks.c: Moved to...
30805 * targhooks.cc: ...here.
30806 * timevar.c: Moved to...
30807 * timevar.cc: ...here.
30808 * toplev.c: Moved to...
30809 * toplev.cc: ...here.
30810 * tracer.c: Moved to...
30811 * tracer.cc: ...here.
30812 * trans-mem.c: Moved to...
30813 * trans-mem.cc: ...here.
30814 * tree-affine.c: Moved to...
30815 * tree-affine.cc: ...here.
30816 * tree-call-cdce.c: Moved to...
30817 * tree-call-cdce.cc: ...here.
30818 * tree-cfg.c: Moved to...
30819 * tree-cfg.cc: ...here.
30820 * tree-cfgcleanup.c: Moved to...
30821 * tree-cfgcleanup.cc: ...here.
30822 * tree-chrec.c: Moved to...
30823 * tree-chrec.cc: ...here.
30824 * tree-complex.c: Moved to...
30825 * tree-complex.cc: ...here.
30826 * tree-data-ref.c: Moved to...
30827 * tree-data-ref.cc: ...here.
30828 * tree-dfa.c: Moved to...
30829 * tree-dfa.cc: ...here.
30830 * tree-diagnostic.c: Moved to...
30831 * tree-diagnostic.cc: ...here.
30832 * tree-dump.c: Moved to...
30833 * tree-dump.cc: ...here.
30834 * tree-eh.c: Moved to...
30835 * tree-eh.cc: ...here.
30836 * tree-emutls.c: Moved to...
30837 * tree-emutls.cc: ...here.
30838 * tree-if-conv.c: Moved to...
30839 * tree-if-conv.cc: ...here.
30840 * tree-inline.c: Moved to...
30841 * tree-inline.cc: ...here.
30842 * tree-into-ssa.c: Moved to...
30843 * tree-into-ssa.cc: ...here.
30844 * tree-iterator.c: Moved to...
30845 * tree-iterator.cc: ...here.
30846 * tree-loop-distribution.c: Moved to...
30847 * tree-loop-distribution.cc: ...here.
30848 * tree-nested.c: Moved to...
30849 * tree-nested.cc: ...here.
30850 * tree-nrv.c: Moved to...
30851 * tree-nrv.cc: ...here.
30852 * tree-object-size.c: Moved to...
30853 * tree-object-size.cc: ...here.
30854 * tree-outof-ssa.c: Moved to...
30855 * tree-outof-ssa.cc: ...here.
30856 * tree-parloops.c: Moved to...
30857 * tree-parloops.cc: ...here.
30858 * tree-phinodes.c: Moved to...
30859 * tree-phinodes.cc: ...here.
30860 * tree-predcom.c: Moved to...
30861 * tree-predcom.cc: ...here.
30862 * tree-pretty-print.c: Moved to...
30863 * tree-pretty-print.cc: ...here.
30864 * tree-profile.c: Moved to...
30865 * tree-profile.cc: ...here.
30866 * tree-scalar-evolution.c: Moved to...
30867 * tree-scalar-evolution.cc: ...here.
30868 * tree-sra.c: Moved to...
30869 * tree-sra.cc: ...here.
30870 * tree-ssa-address.c: Moved to...
30871 * tree-ssa-address.cc: ...here.
30872 * tree-ssa-alias.c: Moved to...
30873 * tree-ssa-alias.cc: ...here.
30874 * tree-ssa-ccp.c: Moved to...
30875 * tree-ssa-ccp.cc: ...here.
30876 * tree-ssa-coalesce.c: Moved to...
30877 * tree-ssa-coalesce.cc: ...here.
30878 * tree-ssa-copy.c: Moved to...
30879 * tree-ssa-copy.cc: ...here.
30880 * tree-ssa-dce.c: Moved to...
30881 * tree-ssa-dce.cc: ...here.
30882 * tree-ssa-dom.c: Moved to...
30883 * tree-ssa-dom.cc: ...here.
30884 * tree-ssa-dse.c: Moved to...
30885 * tree-ssa-dse.cc: ...here.
30886 * tree-ssa-forwprop.c: Moved to...
30887 * tree-ssa-forwprop.cc: ...here.
30888 * tree-ssa-ifcombine.c: Moved to...
30889 * tree-ssa-ifcombine.cc: ...here.
30890 * tree-ssa-live.c: Moved to...
30891 * tree-ssa-live.cc: ...here.
30892 * tree-ssa-loop-ch.c: Moved to...
30893 * tree-ssa-loop-ch.cc: ...here.
30894 * tree-ssa-loop-im.c: Moved to...
30895 * tree-ssa-loop-im.cc: ...here.
30896 * tree-ssa-loop-ivcanon.c: Moved to...
30897 * tree-ssa-loop-ivcanon.cc: ...here.
30898 * tree-ssa-loop-ivopts.c: Moved to...
30899 * tree-ssa-loop-ivopts.cc: ...here.
30900 * tree-ssa-loop-manip.c: Moved to...
30901 * tree-ssa-loop-manip.cc: ...here.
30902 * tree-ssa-loop-niter.c: Moved to...
30903 * tree-ssa-loop-niter.cc: ...here.
30904 * tree-ssa-loop-prefetch.c: Moved to...
30905 * tree-ssa-loop-prefetch.cc: ...here.
30906 * tree-ssa-loop-split.c: Moved to...
30907 * tree-ssa-loop-split.cc: ...here.
30908 * tree-ssa-loop-unswitch.c: Moved to...
30909 * tree-ssa-loop-unswitch.cc: ...here.
30910 * tree-ssa-loop.c: Moved to...
30911 * tree-ssa-loop.cc: ...here.
30912 * tree-ssa-math-opts.c: Moved to...
30913 * tree-ssa-math-opts.cc: ...here.
30914 * tree-ssa-operands.c: Moved to...
30915 * tree-ssa-operands.cc: ...here.
30916 * tree-ssa-phiopt.c: Moved to...
30917 * tree-ssa-phiopt.cc: ...here.
30918 * tree-ssa-phiprop.c: Moved to...
30919 * tree-ssa-phiprop.cc: ...here.
30920 * tree-ssa-pre.c: Moved to...
30921 * tree-ssa-pre.cc: ...here.
30922 * tree-ssa-propagate.c: Moved to...
30923 * tree-ssa-propagate.cc: ...here.
30924 * tree-ssa-reassoc.c: Moved to...
30925 * tree-ssa-reassoc.cc: ...here.
30926 * tree-ssa-sccvn.c: Moved to...
30927 * tree-ssa-sccvn.cc: ...here.
30928 * tree-ssa-scopedtables.c: Moved to...
30929 * tree-ssa-scopedtables.cc: ...here.
30930 * tree-ssa-sink.c: Moved to...
30931 * tree-ssa-sink.cc: ...here.
30932 * tree-ssa-strlen.c: Moved to...
30933 * tree-ssa-strlen.cc: ...here.
30934 * tree-ssa-structalias.c: Moved to...
30935 * tree-ssa-structalias.cc: ...here.
30936 * tree-ssa-tail-merge.c: Moved to...
30937 * tree-ssa-tail-merge.cc: ...here.
30938 * tree-ssa-ter.c: Moved to...
30939 * tree-ssa-ter.cc: ...here.
30940 * tree-ssa-threadbackward.c: Moved to...
30941 * tree-ssa-threadbackward.cc: ...here.
30942 * tree-ssa-threadedge.c: Moved to...
30943 * tree-ssa-threadedge.cc: ...here.
30944 * tree-ssa-threadupdate.c: Moved to...
30945 * tree-ssa-threadupdate.cc: ...here.
30946 * tree-ssa-uncprop.c: Moved to...
30947 * tree-ssa-uncprop.cc: ...here.
30948 * tree-ssa-uninit.c: Moved to...
30949 * tree-ssa-uninit.cc: ...here.
30950 * tree-ssa.c: Moved to...
30951 * tree-ssa.cc: ...here.
30952 * tree-ssanames.c: Moved to...
30953 * tree-ssanames.cc: ...here.
30954 * tree-stdarg.c: Moved to...
30955 * tree-stdarg.cc: ...here.
30956 * tree-streamer-in.c: Moved to...
30957 * tree-streamer-in.cc: ...here.
30958 * tree-streamer-out.c: Moved to...
30959 * tree-streamer-out.cc: ...here.
30960 * tree-streamer.c: Moved to...
30961 * tree-streamer.cc: ...here.
30962 * tree-switch-conversion.c: Moved to...
30963 * tree-switch-conversion.cc: ...here.
30964 * tree-tailcall.c: Moved to...
30965 * tree-tailcall.cc: ...here.
30966 * tree-vect-data-refs.c: Moved to...
30967 * tree-vect-data-refs.cc: ...here.
30968 * tree-vect-generic.c: Moved to...
30969 * tree-vect-generic.cc: ...here.
30970 * tree-vect-loop-manip.c: Moved to...
30971 * tree-vect-loop-manip.cc: ...here.
30972 * tree-vect-loop.c: Moved to...
30973 * tree-vect-loop.cc: ...here.
30974 * tree-vect-patterns.c: Moved to...
30975 * tree-vect-patterns.cc: ...here.
30976 * tree-vect-slp-patterns.c: Moved to...
30977 * tree-vect-slp-patterns.cc: ...here.
30978 * tree-vect-slp.c: Moved to...
30979 * tree-vect-slp.cc: ...here.
30980 * tree-vect-stmts.c: Moved to...
30981 * tree-vect-stmts.cc: ...here.
30982 * tree-vector-builder.c: Moved to...
30983 * tree-vector-builder.cc: ...here.
30984 * tree-vectorizer.c: Moved to...
30985 * tree-vectorizer.cc: ...here.
30986 * tree-vrp.c: Moved to...
30987 * tree-vrp.cc: ...here.
30988 * tree.c: Moved to...
30989 * tree.cc: ...here.
30990 * tsan.c: Moved to...
30991 * tsan.cc: ...here.
30992 * typed-splay-tree.c: Moved to...
30993 * typed-splay-tree.cc: ...here.
30994 * ubsan.c: Moved to...
30995 * ubsan.cc: ...here.
30996 * valtrack.c: Moved to...
30997 * valtrack.cc: ...here.
30998 * value-prof.c: Moved to...
30999 * value-prof.cc: ...here.
31000 * var-tracking.c: Moved to...
31001 * var-tracking.cc: ...here.
31002 * varasm.c: Moved to...
31003 * varasm.cc: ...here.
31004 * varpool.c: Moved to...
31005 * varpool.cc: ...here.
31006 * vec-perm-indices.c: Moved to...
31007 * vec-perm-indices.cc: ...here.
31008 * vec.c: Moved to...
31010 * vmsdbgout.c: Moved to...
31011 * vmsdbgout.cc: ...here.
31012 * vr-values.c: Moved to...
31013 * vr-values.cc: ...here.
31014 * vtable-verify.c: Moved to...
31015 * vtable-verify.cc: ...here.
31016 * web.c: Moved to...
31018 * xcoffout.c: Moved to...
31019 * xcoffout.cc: ...here.
31021 2022-01-17 qing zhao <qing.zhao@oracle.com>
31023 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
31024 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
31025 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
31027 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
31028 (warn_uninitialized_vars): Likewise.
31029 (warn_uninitialized_phi): Likewise.
31031 2022-01-17 Jason Merrill <jason@redhat.com>
31033 * diagnostic.h (struct diagnostic_context): Add includes_seen.
31034 * diagnostic.c (diagnostic_initialize): Initialize it.
31035 (diagnostic_finish): Clean it up.
31036 (includes_seen): New function.
31037 (diagnostic_report_current_module): Use it.
31039 2022-01-17 Richard Biener <rguenther@suse.de>
31041 PR middle-end/101292
31042 * diagnostic-spec.c (copy_warning): Make sure to not
31043 reference old hashtable content on possible resize.
31044 * warning-control.cc (copy_warning): Likewise.
31046 2022-01-17 Jakub Jelinek <jakub@redhat.com>
31049 * tree-cfg.h (cond_only_block_p): Declare.
31050 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
31051 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
31052 * optabs.def (spaceship_optab): New optab.
31053 * internal-fn.def (SPACESHIP): New internal function.
31054 * internal-fn.h (expand_SPACESHIP): Declare.
31055 * internal-fn.c (expand_PHI): Formatting fix.
31056 (expand_SPACESHIP): New function.
31057 * tree-ssa-math-opts.c (optimize_spaceship): New function.
31058 (math_opts_dom_walker::after_dom_children): Use it.
31059 * config/i386/i386.md (spaceship<mode>3): New define_expand.
31060 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
31061 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
31062 * doc/md.texi (spaceship@var{m}3): Document.
31064 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
31066 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
31067 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
31068 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
31069 known constant values to simplify code.
31071 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
31074 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
31076 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
31078 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
31079 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
31080 Insert zero-idiom in output template when attr enabled, set new attribute to
31081 true for non-mask/maskz insn.
31082 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
31084 (avx512dq_mul<mode>3<mask_name>): Likewise.
31085 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
31086 (avx2_perm<mode>_1<mask_name>): Likewise.
31087 (avx512f_perm<mode>_1<mask_name>): Likewise.
31088 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
31089 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
31091 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
31092 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
31094 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
31096 (mask4_dest_false_dep_for_glc_cond): Likewise.
31097 (mask6_dest_false_dep_for_glc_cond): Likewise.
31098 (mask10_dest_false_dep_for_glc_cond): Likewise.
31099 (maskc_dest_false_dep_for_glc_cond): Likewise.
31100 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
31101 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
31102 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
31103 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
31105 2022-01-15 Martin Sebor <msebor@redhat.com>
31108 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
31109 -Wdangling-pointer.
31110 * doc/invoke.texi (-Wdangling-pointer): Document new option.
31111 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
31112 (pass_waccess::check_pointer_uses): New function.
31113 (pass_waccess::gimple_call_return_arg): New function.
31114 (pass_waccess::gimple_call_return_arg_ref): New function.
31115 (pass_waccess::check_call_dangling): New function.
31116 (pass_waccess::check_dangling_uses): New function overloads.
31117 (pass_waccess::check_dangling_stores): New function.
31118 (pass_waccess::check_dangling_stores): New function.
31119 (pass_waccess::m_clobbers): New data member.
31120 (pass_waccess::m_func): New data member.
31121 (pass_waccess::m_run_number): New data member.
31122 (pass_waccess::m_check_dangling_p): New data member.
31123 (pass_waccess::check_alloca): Check m_early_checks_p.
31124 (pass_waccess::check_alloc_size_call): Same.
31125 (pass_waccess::check_strcat): Same.
31126 (pass_waccess::check_strncat): Same.
31127 (pass_waccess::check_stxcpy): Same.
31128 (pass_waccess::check_stxncpy): Same.
31129 (pass_waccess::check_strncmp): Same.
31130 (pass_waccess::check_memop_access): Same.
31131 (pass_waccess::check_read_access): Same.
31132 (pass_waccess::check_builtin): Call check_pointer_uses.
31133 (pass_waccess::warn_invalid_pointer): Add arguments.
31134 (is_auto_decl): New function.
31135 (pass_waccess::check_stmt): New function.
31136 (pass_waccess::check_block): Call check_stmt.
31137 (pass_waccess::execute): Call check_dangling_uses,
31138 check_dangling_stores. Empty m_clobbers.
31139 * passes.def (pass_warn_access): Invoke pass two more times.
31141 2022-01-15 Martin Sebor <msebor@redhat.com>
31143 PR tree-optimization/80532
31144 * common.opt (-Wuse-after-free): New options.
31145 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
31146 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
31147 * diagnostic-spec.h (NW_DANGLING): New enumerator.
31148 * doc/invoke.texi (-Wuse-after-free): Document new option.
31149 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
31150 (pass_waccess::check_call_access): ...to this.
31151 (pass_waccess::check): Rename...
31152 (pass_waccess::check_block): ...to this.
31153 (pass_waccess::check_pointer_uses): New function.
31154 (pass_waccess::gimple_call_return_arg): New function.
31155 (pass_waccess::warn_invalid_pointer): New function.
31156 (pass_waccess::check_builtin): Handle free and realloc.
31157 (gimple_use_after_inval_p): New function.
31158 (get_realloc_lhs): New function.
31159 (maybe_warn_mismatched_realloc): New function.
31160 (pointers_related_p): New function.
31161 (pass_waccess::check_call): Call check_pointer_uses.
31162 (pass_waccess::execute): Compute and free dominance info.
31164 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
31166 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
31167 expand_simple_unop and expand_simple_binop instead of manually
31168 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
31169 consistently. Eliminate common subexpressions and simplify code.
31170 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
31171 (<any_logic:code><MODEF:mode>3): Make public.
31173 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
31175 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
31176 reverse flag as "reverse" for the sake of consistency.
31177 * ipa-sra.c: Fix copyright year.
31178 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
31179 (dump_isra_access): Tweak dump line.
31180 (isra_write_node_summary): Write the reverse flag.
31181 (isra_read_node_info): Read it.
31182 (pull_accesses_from_callee): Test its consistency and copy it.
31184 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
31186 PR middle-end/104026
31187 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
31188 partial_load_store_bias.
31190 2022-01-14 Martin Sebor <msebor@redhat.com>
31192 PR middle-end/101475
31193 * pointer-query.cc (handle_component_ref): Use the size of
31194 the enclosing object if it's smaller than the member.
31196 2022-01-14 Martin Liska <mliska@suse.cz>
31198 * configure: Regenerate.
31200 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
31202 * config/i386/i386.md (*add<mode>_1_slp"):
31203 Mark alternative 1 output operand earlyclobbered.
31204 (*sub<mode>_1_slp): Ditto.
31205 (*and<mode>_1_slp): Ditto.
31206 (*<code><mode>_1_slp): Ditto.
31207 (*neg<mode>_1_slp): Ditto.
31208 (*one_cmpl<mode>_1_slp): Ditto.
31209 (*ashl<mode>3_1_slp): Ditto.
31210 (*<insn><mode>3_1_slp): Ditto.
31211 (*<insn><mode>3_1_slp): Ditto.
31213 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
31215 PR tree-optimization/104015
31216 * tree-vect-loop.c (vect_analyze_loop): Check
31217 param_vect_partial_vector_usage for supports_partial_vectors.
31219 2022-01-14 Jakub Jelinek <jakub@redhat.com>
31222 * fold-const.c (address_compare): Punt on comparison of address of
31223 one object with address of end of another object if
31224 folding_initializer.
31226 2022-01-14 Jakub Jelinek <jakub@redhat.com>
31229 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
31230 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
31231 and __atomic_op_fetch (p, x, y) iop x into
31232 __atomic_fetch_op (p, x, y).
31234 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
31236 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
31237 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
31238 (INCOMING_RETURN_ADDR_RTX): Likewise.
31239 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
31241 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
31243 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
31244 computin checking accumulator regs.
31245 (arc_expand_prologue): Update comments.
31246 (arc_expand_epilogue): Likewise.
31248 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
31249 Uroš Bizjak <ubizjak@gmail.com>
31251 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
31252 (ix86_expand_ti_to_v1ti): Use force_reg.
31253 (ix86_expand_v1ti_shift): Use force_reg.
31254 (ix86_expand_v1ti_rotate): Use force_reg.
31255 (ix86_expand_v1ti_ashiftrt): Provide new three operation
31256 implementations for shifts by 111..126 bits. Use force_reg.
31258 2022-01-14 Martin Liska <mliska@suse.cz>
31260 * common/config/arm/arm-common.c (arm_target_mode): Fix
31261 warning: unterminated quoting directive [-Wformat=].
31263 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
31265 PR tree-optimization/104009
31266 * tree-object-size.c (compute_builtin_object_size): Bail out on
31268 (plus_stmt_object_size): Return maximum of wholesize and minimum
31269 of 0 for negative offset.
31271 2022-01-14 liuhongt <hongtao.liu@intel.com>
31276 * config/i386/i386.md (*xor2andn): Refine predicate of
31277 operands[0] from nonimmediate_operand to
31278 register_operand, remove TARGET_AVX512BW from condition.
31280 2022-01-14 David Malcolm <dmalcolm@redhat.com>
31282 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
31283 be used on field decls.
31284 (Common Function Attributes): Add entry on "tainted_args" attribute.
31286 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
31287 Jason Merrill <jason@redhat.com>
31290 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
31292 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
31295 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
31296 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
31297 * config/i386/mmx.md (<any_shift:insn>v2qi):
31298 New insn_and_split pattern.
31300 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
31302 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
31303 (expand_partial_store_optab_fn): Likewise.
31304 (internal_len_load_store_bias): New function.
31305 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
31306 (internal_len_load_store_bias): New function.
31307 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
31308 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
31309 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
31310 (vect_estimate_min_profitable_iters): Account for bias.
31311 (vect_get_loop_len): Add bias-adjusted length.
31312 * tree-vect-stmts.c (vectorizable_store): Use.
31313 (vectorizable_load): Use.
31314 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
31315 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
31316 * config/rs6000/vsx.md: Use const0 bias predicate.
31317 * doc/md.texi: Document bias value.
31319 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
31321 PR tree-optimization/83072
31322 PR tree-optimization/83073
31323 PR tree-optimization/97909
31324 * fold-const.c (expr_not_equal_to): Use a multi-range class.
31326 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
31328 PR tree-optimization/96707
31329 * range-op.cc (operator_rshift::lhs_op1_relation): New.
31331 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
31333 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
31334 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
31335 (negv2qi splitters): Use lowpart_subreg instead of
31336 gen_lowpart to create subreg.
31337 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
31338 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
31339 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
31340 gen_lowpart to create subreg.
31341 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
31343 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
31346 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
31348 2022-01-13 Martin Liska <mliska@suse.cz>
31350 * common/config/arm/arm-common.c (arm_target_mode): Wrap
31351 keywords with %<, %> and remove trailing punctuation char.
31352 (arm_canon_arch_option_1): Likewise.
31353 (arm_asm_auto_mfpu): Likewise.
31354 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
31355 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
31356 (use_vfp_abi): Likewise.
31357 (aapcs_vfp_is_call_or_return_candidate): Likewise.
31358 (arm_handle_cmse_nonsecure_entry): Likewise.
31359 (arm_handle_cmse_nonsecure_call): Likewise.
31360 (thumb1_md_asm_adjust): Likewise.
31362 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
31364 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
31365 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
31366 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
31367 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
31368 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
31369 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
31370 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
31371 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
31374 2022-01-13 Jakub Jelinek <jakub@redhat.com>
31376 PR tree-optimization/103989
31377 * tree-inline.c (setup_one_parameter): Don't copy parms with
31380 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
31382 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
31383 'TYPE_ADDR_SPACE' for offloading.
31384 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
31385 'TYPE_ADDR_SPACE' for offloading.
31387 2022-01-13 Julian Brown <julian@codesourcery.com>
31388 Thomas Schwinge <thomas@codesourcery.com>
31390 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
31392 (add_async_clauses_and_wait): ...here. Call new outlined function.
31393 (decompose_kernels_region_body): Add wait at the end of
31394 explicitly-asynchronous kernels regions.
31396 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
31398 PR middle-end/100280
31399 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
31400 Mark variables used in synthesized data clauses as addressable.
31402 2022-01-13 Martin Liska <mliska@suse.cz>
31404 * config/epiphany/epiphany.c (epiphany_mode_priority):
31405 Use gcc_unreachable for not handled cases.
31407 2022-01-13 Martin Liska <mliska@suse.cz>
31409 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
31410 Use %qs format specifier.
31411 (epiphany_override_options): Wrap keyword in %<, %>.
31413 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
31416 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
31418 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
31420 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
31422 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
31426 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
31427 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
31428 when constructing vector logic RTXes.
31429 (expand_vec_perm_pshufb2): Ditto.
31430 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
31431 (<plusminus:insn>v2qi3): Ditto.
31432 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
31433 (vcondu<mode><mode>): Ditto.
31434 (vcond_mask_<mode><mode>): Ditto.
31435 (one_cmpl<VI_32:mode>2): Remove expander.
31436 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
31437 Use VI_16_32 mode iterator.
31438 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
31439 Use lowpart_subreg instead of gen_lowpart to create subreg.
31440 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
31441 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
31442 Disparage GPR alternative a bit. Add CC clobber.
31443 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
31444 Use lowpart_subreg instead of gen_lowpart to create subreg.
31445 (*<any_logic:code><VI_16_32:mode>3): Merge from
31446 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
31447 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
31449 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
31450 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
31452 2022-01-12 Clément Chigot <clement.chigot@atos.net>
31454 * configure.ac: Check sizeof ino_t and dev_t.
31455 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
31456 syscall being able to handle 64bit inodes.
31457 * config.in: Regenerate.
31458 * configure: Regenerate.
31459 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
31460 (remove_duplicates): Use it.
31462 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
31464 PR tree-optimization/103551
31465 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
31467 2022-01-12 Richard Biener <rguenther@suse.de>
31469 PR tree-optimization/103990
31470 * tree-pass.h (tail_merge_optimize): Drop unused argument.
31471 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
31472 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
31473 and adjust call to tail_merge_optimize.
31475 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
31477 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
31478 does not add autovectorize_vector_modes.
31480 2022-01-12 Martin Liska <mliska@suse.cz>
31482 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
31483 %qs where possible.
31484 (aarch64_parse_sve_width_string): Likewise.
31485 (aarch64_override_options_internal): Likewise.
31486 (aarch64_print_hint_for_extensions): Likewise.
31487 (aarch64_validate_sls_mitigation): Likewise.
31488 (aarch64_handle_attr_arch): Likewise.
31489 (aarch64_handle_attr_cpu): Likewise.
31490 (aarch64_handle_attr_tune): Likewise.
31491 (aarch64_handle_attr_isa_flags): Likewise.
31493 2022-01-12 Martin Liska <mliska@suse.cz>
31495 * config.gcc: Include elfos.h before ${tm_file}.
31497 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
31499 * config/cris/cris.c: Quote identifiers in parameters to error
31500 and internal_error, and remove extraneous spaces with punctuation.
31501 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
31502 expression to internal_error, pass it as a parameter instead of
31503 appending it to the format part.
31505 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
31507 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
31510 2022-01-11 qing zhao <qing.zhao@oracle.com>
31512 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
31513 Change the 3rd argument of function .DEFERRED_INIT to the name of the
31515 (gimplify_decl_expr): Delete the 3rd argument when call
31516 gimple_add_init_for_auto_var.
31517 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
31518 the 3rd argument change of function .DEFERRED_INIT.
31519 * tree-cfg.c (verify_gimple_call): Update comments and verification
31520 to reflect the 3rd argument change of function .DEFERRED_INIT.
31521 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
31522 (sra_modify_deferred_init): Change the 3rd argument of function
31523 .DEFERRED_INIT to the name of the decl.
31525 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
31527 * flag-types.h (enum gfc_convert): Add flags for
31530 2022-01-11 Michael Meissner <meissner@the-meissners.org>
31532 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
31533 checks for only C/C++ front ends before allowing the long double
31534 format to change without a warning.
31536 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
31538 PR rtl-optimization/103974
31539 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
31540 extra argument, default true, that says whether old-reload
31541 targets should be excluded.
31542 * ira-color.c (color_pass): Pass false.
31544 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
31547 * config/i386/mmx.md (vcond<mode><mode>):
31548 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
31549 (vcondu<mode><mode>): Ditto.
31550 (vcond_mask_<mode><mode>): Ditto.
31551 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
31552 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
31553 Use VI_16_32 mode iterator.
31554 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
31555 Update for rename. Handle V2QImode.
31556 (expand_vec_perm_blend): Update for rename.
31558 2022-01-11 Jakub Jelinek <jakub@redhat.com>
31561 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
31563 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31565 PR middle-end/70090
31566 * tree-object-size.c (size_valid_p): New function.
31567 (size_for_offset): Remove OFFSET constness assertion.
31568 (addr_object_size): Build dynamic expressions for object
31569 sizes and use size_valid_p to decide if it is valid for the
31570 given OBJECT_SIZE_TYPE.
31571 (compute_builtin_object_size): Allow dynamic offsets when
31572 computing size at O0.
31573 (call_object_size): Call size_valid_p.
31574 (plus_stmt_object_size): Allow non-constant offset and use
31575 size_valid_p to decide if it is valid for the given
31578 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31580 PR middle-end/70090
31581 * tree-object-size.c (alloc_object_size): Make and return
31582 non-constant size expression.
31583 (call_object_size): Return expression or unknown based on
31584 whether dynamic object size is requested.
31586 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31588 PR middle-end/70090
31589 * tree-object-size.c: Include tree-dfa.h.
31590 (parm_object_size): New function.
31591 (collect_object_sizes_for): Call it.
31593 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31595 PR middle-end/70090
31596 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
31598 * tree-object-size.c: Include gimplify-me.h.
31599 (struct object_size_info): New member UNKNOWNS.
31600 (size_initval_p, size_usable_p, object_sizes_get_raw): New
31602 (object_sizes_get): Return suitable gimple variable for
31604 (bundle_sizes): New function.
31605 (object_sizes_set): Use it and handle dynamic object size
31607 (object_sizes_set_temp): New function.
31608 (size_for_offset): Adjust for dynamic size expressions.
31609 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
31611 (compute_builtin_object_size): Call gimplify_size_expressions
31613 (dynamic_object_size): New function.
31614 (cond_expr_object_size): Use it.
31615 (phi_dynamic_object_size): New function.
31616 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
31617 accommodate dynamic object sizes.
31619 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
31620 Jakub Jelinek <jakub@redhat.com>
31622 PR tree-optimization/103961
31623 * tree-object-size.c (plus_stmt_object_size): Always avoid
31624 computing offset for -1 size.
31626 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
31628 PR tree-optimization/103821
31629 * range-op.cc (range_operator::fold_range): Only do precise ranges
31630 when there are not too many subranges.
31632 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
31634 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
31635 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
31637 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
31638 Richard Biener <rguenther@suse.de>
31640 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
31641 highpart_mults_inserted field.
31642 (convert_mult_to_highpart): New function to convert right shift
31643 of a widening multiply into a MULT_HIGHPART_EXPR.
31644 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
31645 Call new convert_mult_to_highpart function.
31646 (pass_optimize_widening_mul::execute): Add a statistics counter
31647 for tracking "highpart multiplications inserted" events.
31649 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
31652 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
31654 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
31656 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
31658 2022-01-11 Olivier Hainque <hainque@adacore.com>
31660 * gcc.c (driver_handle_option): State --sysroot as
31663 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
31665 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
31666 useless related to option -mno-power10.
31668 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
31671 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
31672 operands[1] from register_operand to vector_operand.
31674 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
31677 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
31679 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
31680 Use VI1_16_32 mode iterator.
31681 (*eq<mode>3): Ditto.
31682 (*gt<mode>3): Ditto.
31683 (*xop_maskcmp<mode>3): Ditto.
31684 (*xop_maskcmp_uns<mode>3): Ditto.
31685 (vec_cmp<mode><mode>): Ditto.
31686 (vec_cmpu<mode><mode>): Ditto.
31688 2022-01-10 Richard Biener <rguenther@suse.de>
31690 PR tree-optimization/103948
31691 * tree-vect-generic.c (expand_vector_condition): Return true if
31692 all ones vector is returned for true, all zeros vector for false
31693 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
31695 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
31697 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
31698 when _ARCH_PWR10. Use signed types.
31699 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
31700 (_mm_blendv_pd): Likewise.
31702 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
31704 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
31706 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
31707 epilogues, unless we are guaranteed that we can't have partial vectors.
31708 * genopinit.c: (partial_vectors_supported): Generate new function.
31710 2022-01-10 Jakub Jelinek <jakub@redhat.com>
31713 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
31714 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
31715 always ignore them, when seeing other zero sized bitfields, either
31716 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
31717 it. Pass it to recursive calls. Add wrapper
31718 with old arguments and diagnose ABI differences for C structures
31719 with zero width bitfields. Formatting fixes.
31721 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31723 PR rtl-optimization/98782
31724 * ira-int.h (ira_soft_conflict): Declare.
31725 * ira-color.c (max_soft_conflict_loop_depth): New constant.
31726 (ira_soft_conflict): New function.
31727 (spill_soft_conflicts): Likewise.
31728 (assign_hard_reg): Use them to handle the case described by
31729 the comment above ira_soft_conflict.
31730 (improve_allocation): Likewise.
31731 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
31732 to share the same register.
31734 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31736 PR rtl-optimization/98782
31737 * ira-int.h (ira_caller_save_cost): New function.
31738 (ira_caller_save_loop_spill_p): Likewise.
31739 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
31740 cheaper to spill a call-clobbered register throughout a loop rather
31741 than spill it around each individual call. If so, treat all
31742 call-clobbered registers as conflicts and...
31743 (propagate_allocno_info): ...do not propagate call information
31744 from the child to the parent.
31745 * ira-color.c (move_spill_restore): Update accordingly.
31746 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
31748 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31750 PR rtl-optimization/98782
31751 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
31752 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
31753 (ira_single_region_allocno_p): New function.
31754 (ira_total_conflict_hard_regs): Likewise.
31755 * ira-build.c (ira_create_allocno): Initialize
31756 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
31757 (ira_propagate_hard_reg_costs): New function.
31758 (propagate_allocno_info): Use it. Try to avoid propagating
31759 hard register conflicts to parent allocnos if we can handle
31760 the conflicts by spilling instead. Limit the propagated
31761 register costs to the cost of spilling throughout the child loop.
31762 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
31763 test whether a child and parent allocno can share the same
31765 (move_spill_restore): Adjust for the new behavior of
31766 propagate_allocno_info.
31768 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31770 PR rtl-optimization/98782
31771 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
31773 * ira-color.c (color_pass): ...here.
31775 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31777 PR rtl-optimization/98782
31778 * ira-color.c (color_pass): Add comments to describe the spill costs.
31779 (move_spill_restore): Likewise. Fix reversed calculation.
31781 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
31783 PR rtl-optimization/98782
31784 * ira-int.h (ira_loop_border_costs): New class.
31785 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
31787 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
31788 (color_pass): Likewise.
31789 (move_spill_restore): Likewise.
31791 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
31794 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
31796 2022-01-10 Richard Biener <rguenther@suse.de>
31798 PR tree-optimization/100359
31799 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
31800 Allow non-growing peeling with !allow_peel and UL_ALL.
31802 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
31804 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
31805 special case for TImode to V1TImode moves, going via V2DImode.
31807 2022-01-08 Jakub Jelinek <jakub@redhat.com>
31810 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
31813 2022-01-08 David Malcolm <dmalcolm@redhat.com>
31815 * doc/analyzer.texi
31816 (Special Functions for Debugging the Analyzer): Document
31817 __analyzer_dump_escaped.
31819 2022-01-08 David Malcolm <dmalcolm@redhat.com>
31821 * doc/analyzer.texi (Other Debugging Techniques): Document
31822 region::is_named_decl_p.
31824 2022-01-07 Andrew Pinski <apinski@marvell.com>
31827 * config/arm/aarch-common.c (arm_md_asm_adjust):
31828 Use a temp if !REG_P.
31830 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
31832 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
31833 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
31835 2022-01-07 liuhongt <hongtao.liu@intel.com>
31837 PR rtl-optimization/103750
31838 * fwprop.c (forward_propagate_into): Allow propagations from
31839 inner loop to outer loop.
31841 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
31843 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
31845 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
31847 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
31848 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
31849 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
31851 2022-01-07 liuhongt <hongtao.liu@intel.com>
31853 * config/i386/sse.md
31854 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
31855 UNSPEC_PCMP_UNSIGNED.
31857 2022-01-07 liuhongt <hongtao.liu@intel.com>
31860 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
31861 gen_avx2_pblendph_1 when elt == 0.
31862 * config/i386/sse.md (avx2_pblendph): Rename to ..
31863 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
31864 (*avx2_pblendw): Rename to ..
31865 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
31866 (avx2_pblendw): Rename to ..
31867 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
31868 (blendsuf): Removed.
31869 (sse4_1_pblend<blendsuf>): Renamed to ..
31870 (sse4_1_pblend<ssemodesuffix>): .. this.
31872 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
31875 * config/i386/i386.c (ix86_output_indirect_function_return):
31876 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
31878 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
31881 * config/i386/i386-opts.h (harden_sls): Replace
31882 harden_sls_indirect_branch with harden_sls_indirect_jmp.
31883 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
31885 (ix86_output_indirect_jmp): Likewise.
31886 (ix86_output_call_insn): Likewise.
31887 * config/i386/i386.opt: Replace indirect-branch with
31888 indirect-jmp. Replace harden_sls_indirect_branch with
31889 harden_sls_indirect_jmp.
31890 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
31893 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
31895 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
31896 Add %q modifier for operands in general registers.
31897 <MODE_SI>: Add %q modifier for operands in general registers.
31898 * config/i386/i386.md (*movhi_internal): Change type attribute of
31899 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
31900 to SImode for non-avx512fp16 targets.
31901 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
31902 * config/i386/mmx.md (*movv2qi_internal):
31903 Ditto for xmm-gpr interunit alternatives 8,9.
31905 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
31907 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
31909 (riscv_ext_version_table): Add version info for vector extensions.
31910 (riscv_ext_flag_table): Add option mask for vector extensions.
31911 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
31912 (MASK_VECTOR_EEW_64): New.
31913 (MASK_VECTOR_EEW_FP_32): New.
31914 (MASK_VECTOR_EEW_FP_64): New.
31915 (MASK_ZVL32B): New.
31916 (MASK_ZVL64B): New.
31917 (MASK_ZVL128B): New.
31918 (MASK_ZVL256B): New.
31919 (MASK_ZVL512B): New.
31920 (MASK_ZVL1024B): New.
31921 (MASK_ZVL2048B): New.
31922 (MASK_ZVL4096B): New.
31923 (MASK_ZVL8192B): New.
31924 (MASK_ZVL16384B): New.
31925 (MASK_ZVL32768B): New.
31926 (MASK_ZVL65536B): New.
31927 (TARGET_ZVL32B): New.
31928 (TARGET_ZVL64B): New.
31929 (TARGET_ZVL128B): New.
31930 (TARGET_ZVL256B): New.
31931 (TARGET_ZVL512B): New.
31932 (TARGET_ZVL1024B): New.
31933 (TARGET_ZVL2048B): New.
31934 (TARGET_ZVL4096B): New.
31935 (TARGET_ZVL8192B): New.
31936 (TARGET_ZVL16384B): New.
31937 (TARGET_ZVL32768B): New.
31938 (TARGET_ZVL65536B): New.
31939 * config/riscv/riscv.opt (Mask(VECTOR)): New.
31940 (riscv_vector_eew_flags): New.
31941 (riscv_zvl_flags): New.
31943 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
31945 * common/config/riscv/riscv-common.c
31946 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
31949 2022-01-06 Jakub Jelinek <jakub@redhat.com>
31951 PR tree-optimization/103899
31952 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
31953 warning by moving context variable to the only spot where it is used
31954 and moving gcc_assert into if body.
31956 2022-01-06 Jakub Jelinek <jakub@redhat.com>
31958 PR rtl-optimization/103908
31959 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
31962 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
31965 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
31966 Skip over instances with undefined function types.
31968 2022-01-05 Andrew Pinski <apinski@marvell.com>
31971 * config/i386/i386.h (x86_mfence): Mark with GTY.
31973 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
31976 * config/i386/mmx.md (VI_16_32): New mode iterator.
31977 (VI1_16_32): Ditto.
31978 (mmxvecsize): Handle V2QI mode.
31979 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
31980 Use VI1_16_32 mode iterator.
31981 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
31982 Use VI1_16_32 mode iterator.
31983 (abs<mode>2): Use VI_16_32 mode iterator.
31984 (uavgv2qi3_ceil): New insn pattern.
31986 2022-01-05 Martin Sebor <msebor@redhat.com>
31988 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
31989 %qs to avoid -Wformat-diag.
31991 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
31994 * config/i386/mmx.md (one_cmplv2qi2): Change
31995 alternatives 1,2 type from sselog to sselog1.
31997 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
32000 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
32001 narrow mode remapped elements for !one_operand_p case.
32003 2022-01-05 Richard Biener <rguenther@suse.de>
32005 PR tree-optimization/103816
32006 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
32007 check DR_GROUP_GAP compute for overflow and representability.
32009 2022-01-05 Jakub Jelinek <jakub@redhat.com>
32012 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
32013 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
32014 it can do unwanted rhs folding like &a[0] into &2.0 etc.
32016 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
32019 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
32020 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
32021 (rs6000_need_ipa_fn_target_info): New function.
32022 (rs6000_update_ipa_fn_target_info): Likewise.
32023 (rs6000_can_inline_p): Adjust for ipa function summary target info.
32024 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
32025 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
32026 summary target info.
32027 (analyze_function_body): Adjust for ipa function summary target info
32028 and call hook rs6000_need_ipa_fn_target_info and
32029 rs6000_update_ipa_fn_target_info.
32030 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
32032 (inline_read_section): Likewise.
32033 (ipa_fn_summary_write): Likewise.
32034 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
32035 * doc/tm.texi: Regenerate.
32036 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
32037 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
32038 * target.def (update_ipa_fn_target_info): New hook.
32039 (need_ipa_fn_target_info): Likewise.
32040 * targhooks.c (default_need_ipa_fn_target_info): New function.
32041 (default_update_ipa_fn_target_info): Likewise.
32042 * targhooks.h (default_update_ipa_fn_target_info): New declare.
32043 (default_need_ipa_fn_target_info): Likewise.
32045 2022-01-04 Martin Sebor <msebor@redhat.com>
32047 PR middle-end/99612
32048 * builtins.c (get_memmodel): Move warning code to
32049 gimple-ssa-warn-access.cc.
32050 (expand_builtin_atomic_compare_exchange): Same.
32051 (expand_ifn_atomic_compare_exchange): Same.
32052 (expand_builtin_atomic_load): Same.
32053 (expand_builtin_atomic_store): Same.
32054 (expand_builtin_atomic_clear): Same.
32055 * doc/extend.texi (__atomic_exchange_n): Update valid memory
32057 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
32058 (struct memmodel_pair): New struct.
32059 (memmodel_name): New function.
32060 (pass_waccess::maybe_warn_memmodel): New function.
32061 (pass_waccess::check_atomic_memmodel): New function.
32062 (pass_waccess::check_atomic_builtin): Handle memory model.
32063 * input.c (expansion_point_location_if_in_system_header): Return
32064 original location if expansion location is in a system header.
32066 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
32069 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
32070 (one_cmplv2qi3 splitters): New post-reload splitters.
32071 (*andnotv2qi3): New insn pattern.
32072 (andnotv2qi3 splitters): New post-reload splitters.
32073 (<any_logic:code>v2qi3): New insn pattern.
32074 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
32076 2022-01-04 Richard Biener <rguenther@suse.de>
32078 PR tree-optimization/103800
32079 * tree-vect-loop.c (vectorizable_phi): Remove assert and
32082 2022-01-04 Richard Biener <rguenther@suse.de>
32084 PR tree-optimization/103690
32085 * tree-pass.h (tail_merge_optimize): Adjust.
32086 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
32087 to re-split critical edges, move CFG cleanup ...
32088 * tree-ssa-pre.c (pass_pre::execute): ... here, before
32089 simple_dce_from_worklist and delay freeing inserted_exprs from
32091 (fini_pre): .. here.
32093 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
32095 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
32096 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
32097 (setcc_from_bi): Remove SImode specific pattern.
32098 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
32099 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
32100 for sign- and zero-extending BImode predicates to integers.
32101 (setcc_int<mode>): Remove previous (-1-based) instructions.
32102 (cstorebi4): Remove BImode to SImode specific expander.
32103 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
32104 (cstore<mode>4): For both integer and floating point modes.
32106 2022-01-04 Olivier Hainque <hainque@adacore.com>
32108 * gcc.c (driver_handle_option): do_save --sysroot.
32110 2022-01-04 Richard Biener <rguenther@suse.de>
32112 PR tree-optimization/103864
32113 PR tree-optimization/103544
32114 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
32115 reductions wrapped in conversions from SLP handling.
32116 (vect_analyze_slp): Revert PR103544 change.
32118 2022-01-04 Jakub Jelinek <jakub@redhat.com>
32120 PR rtl-optimization/103860
32121 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
32122 uselessly for blocks for which it has been called already.
32124 2022-01-04 Cui,Lili <lili.cui@intel.com>
32126 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
32127 to Alderlake and Rocketlake.
32129 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
32131 PR middle-end/103643
32132 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
32133 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
32135 2022-01-04 liuhongt <hongtao.liu@intel.com>
32138 * config/i386/sse.md (*bit_and_float_vector_all_ones):
32139 Force_reg operand 1 to avoid ICE.
32141 2022-01-04 Jason Merrill <jason@redhat.com>
32143 * tree-pretty-print.c (do_niy): Add spc parameter.
32145 (print_call_name): Add spc local variable.
32147 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
32150 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
32151 (mov<V_32:mode>_internal): Ditto.
32152 (*push<V_32:mode>_rex64): Ditto.
32153 (movmisalign<V_32:mode>): Ditto.
32154 (*push<V_32:mode>_rex64 splitter): Enable for
32155 TARGET_64BIT && TARGET_SSE.
32156 (*push<V_32:mode>2): Remove insn pattern.
32158 2022-01-03 Andrew Pinski <apinski@marvell.com>
32161 * doc/extend.texi: Extend the documentation about Complex
32162 types for casting and also rewrite the __real__/__imag__
32163 expression portion to use tables.
32164 Move __builtin_complex to the Complex type section.
32166 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32169 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
32170 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
32172 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
32173 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
32174 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
32175 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
32176 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
32177 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
32179 * optabs.def (atomic_add_fetch_cmp_0_optab,
32180 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
32181 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
32183 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
32184 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
32185 * tree-ssa-ccp.c: Include internal-fn.h.
32186 (optimize_atomic_bit_test_and): Add . before internal fn call
32187 in function comment. Change return type from void to bool and
32188 return true only if successfully replaced.
32189 (optimize_atomic_op_fetch_cmp_0): New function.
32190 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
32191 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
32192 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
32193 for *XOR* ones only if optimize_atomic_bit_test_and failed.
32194 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
32195 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
32196 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
32197 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
32198 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
32199 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
32200 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
32201 new named patterns.
32203 2022-01-03 Richard Biener <rguenther@suse.de>
32205 PR middle-end/103851
32206 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
32208 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32211 * symtab.c: Include fold-const.h.
32212 (symtab_node::equal_address_to): If folding_initializer is true,
32213 handle it like memory_accessed. Simplify.
32215 2022-01-03 Martin Liska <mliska@suse.cz>
32217 * doc/extend.texi: Use ; for function declarations.
32219 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32222 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
32223 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
32225 2022-01-03 Jakub Jelinek <jakub@redhat.com>
32227 * gcc.c (process_command): Update copyright notice dates.
32228 * gcov-dump.c (print_version): Ditto.
32229 * gcov.c (print_version): Ditto.
32230 * gcov-tool.c (print_version): Ditto.
32231 * gengtype.c (create_file): Ditto.
32232 * doc/cpp.texi: Bump @copying's copyright year.
32233 * doc/cppinternals.texi: Ditto.
32234 * doc/gcc.texi: Ditto.
32235 * doc/gccint.texi: Ditto.
32236 * doc/gcov.texi: Ditto.
32237 * doc/install.texi: Ditto.
32238 * doc/invoke.texi: Ditto.
32240 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
32243 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
32244 (VALID_INT_MODE_P): Ditto.
32245 * config/i386/i386.c (ix86_secondary_reload): Handle
32246 V2QImode reloads from SSE register to memory.
32247 (vector_mode_supported_p): Always return true for V2QImode.
32248 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
32249 (*negqi_ext<mode>_2): Ditto.
32250 * config/i386/mmx.md (movv2qi): New expander.
32251 (movmisalignv2qi): Ditto.
32252 (*movv2qi_internal): New insn pattern.
32253 (*pushv2qi2): Ditto.
32254 (negv2qi2 and splitters): Ditto.
32255 (<plusminus:insn>v2qi3 and splitters): Ditto.
32257 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
32259 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
32260 sync_lock_test_and_set libfunc. Call convert_memory_address to
32261 convert memory address to Pmode.
32262 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
32265 Copyright (C) 2022 Free Software Foundation, Inc.
32267 Copying and distribution of this file, with or without modification,
32268 are permitted in any medium without royalty provided the copyright
32269 notice and this notice are preserved.