syscall, runtime: always call XSI strerror_r
[official-gcc.git] / gcc / ChangeLog
blobcb36d8b7f68e4c7903e64f100b3c2b9254fac45e
1 2022-11-28  Andrew Pinski  <apinski@marvell.com>
3         * match.pd ((A / (1 << B)) -> (A >> B).):
4         Fix comment.
6 2022-11-28  Sinan  <sinan.lin@linux.alibaba.com>
8         * config/riscv/riscv.cc (riscv_build_integer): Improve some cases
9         of loading 64bit constants for rv32.
11 2022-11-28  Maciej W. Rozycki  <macro@embecosm.com>
13         * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0
14         rather that XOR 1 for LE and LEU operations.
16 2022-11-28  Richard Biener  <rguenther@suse.de>
18         PR tree-optimization/107896
19         * tree-vect-stmts.cc (supportable_widening_operation):
20         Handle non-vector mode intermediate mode.
22 2022-11-28  Frolov Daniil  <frolov.da@phystech.edu>
24         * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle
25         base == 2.
26         (tree_digits): Likewise.
27         (format_integer): Likewise.
28         (parse_directive): Add cases for %b and %B directives.
30 2022-11-28  Fei Gao  <gaofei@eswincomputing.com>
32         * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation
33         of MIN_FIRST_STEP to cover FP save area too.
35 2022-11-28  Richard Biener  <rguenther@suse.de>
37         PR tree-optimization/107493
38         * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):
39         Only handle no-op and sign-changing conversions.
41 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
43         * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead
44         of s[0:1] and use USE to prevent removal of setting that register.
45         * config/gcn/gcn.md (prologue_use_di): Remove.
47 2022-11-28  Yuri Gribov  <y.gribov@samsung.com>
49         PR sanitizer/106558
50         * sanopt.cc: Do not optimize out checks for non-SSA addresses.
52 2022-11-28  Jakub Jelinek  <jakub@redhat.com>
54         PR target/106875
55         * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
56         (ix86_abi): Replace it with TargetVariable.
57         * config/i386/i386-options.cc (ix86_function_specific_save,
58         ix86_function_specific_restore): Don't save and restore x_ix86_abi.
60 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
62         * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
63         mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
65 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
67         * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
68         (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
69         spacing vs tabs.
71 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
73         * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
75 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
77         * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
78         (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
79         (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
80         (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
81         Fix spacing.
83 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
85         * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
86         (__arm_vsubq_x Integer): New.
88 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
90         PR target/107515
91         * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
93 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
95         PR target/96795
96         * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
97         (__arm_vmulq): Likewise.
98         (__arm_vcmpeqq): Likewise.
99         (__arm_vcmpneq): Likewise.
100         (__arm_vmaxnmavq): Likewise.
101         (__arm_vmaxnmvq): Likewise.
102         (__arm_vminnmavq): Likewise.
103         (__arm_vsubq): Likewise.
104         (__arm_vminnmvq): Likewise.
105         (__arm_vrshlq): Likewise.
106         (__arm_vqsubq): Likewise.
107         (__arm_vqdmulltq): Likewise.
108         (__arm_vqdmullbq): Likewise.
109         (__arm_vqdmulhq): Likewise.
110         (__arm_vqaddq): Likewise.
111         (__arm_vhaddq): Likewise.
112         (__arm_vhsubq): Likewise.
113         (__arm_vqdmlashq): Likewise.
114         (__arm_vqrdmlahq): Likewise.
115         (__arm_vmlasq): Likewise.
116         (__arm_vqdmlahq): Likewise.
117         (__arm_vmaxnmavq_p): Likewise.
118         (__arm_vmaxnmvq_p): Likewise.
119         (__arm_vminnmavq_p): Likewise.
120         (__arm_vminnmvq_p): Likewise.
121         (__arm_vfmasq_m): Likewise.
122         (__arm_vsetq_lane): Likewise.
123         (__arm_vcmpneq_m): Likewise.
124         (__arm_vhaddq_x): Likewise.
125         (__arm_vhsubq_x): Likewise.
126         (__arm_vqrdmlashq_m): Likewise.
127         (__arm_vqdmlashq_m): Likewise.
128         (__arm_vmlaldavaxq_p): Likewise.
129         (__arm_vmlasq_m): Likewise.
130         (__arm_vqdmulhq_m): Likewise.
131         (__arm_vqdmulltq_m): Likewise.
132         (__arm_viwdupq_m): Likewise.
133         (__arm_viwdupq_u16): Likewise.
134         (__arm_viwdupq_u32): Likewise.
135         (__arm_viwdupq_u8): Likewise.
136         (__arm_vdwdupq_m): Likewise.
137         (__arm_vdwdupq_u16): Likewise.
138         (__arm_vdwdupq_u32): Likewise.
139         (__arm_vdwdupq_u8): Likewise.
140         (__arm_vaddlvaq): Likewise.
141         (__arm_vaddlvaq_p): Likewise.
142         (__arm_vaddvaq): Likewise.
143         (__arm_vaddvaq_p): Likewise.
144         (__arm_vcmphiq_m): Likewise.
145         (__arm_vmladavaq_p): Likewise.
146         (__arm_vmladavaxq): Likewise.
147         (__arm_vmlaldavaxq): Likewise.
148         (__arm_vrmlaldavhaq_p): Likewise.
150 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
152         PR target/96795
153         * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
154         (__arm_vaddq_m_n_s32): Likewise.
155         (__arm_vaddq_m_n_s16): Likewise.
156         (__arm_vaddq_m_n_u8): Likewise.
157         (__arm_vaddq_m_n_u32): Likewise.
158         (__arm_vaddq_m_n_u16): Likewise.
159         (__arm_vaddq_m): Fix Overloading.
160         (__ARM_mve_coerce3): New.
162 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
164         * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
166 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
168         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
169         spacing.
170         * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
171         (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.
173 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
175         * config/arm/mve.md (mve_vdupq_n_f<mode>)
176         (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
177         (mve_vdupq_m_n_f<mode>): Fix spacing.
179 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
181         * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
183 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
185         * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
186         spacing.
187         (mve_vddupq_m_wb_u<mode>_insn): Likewise.
189 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
191         * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
192         'vmsr' spacing and reg capitalization.
194 2022-11-28  Richard Biener  <rguenther@suse.de>
196         PR tree-optimization/107876
197         * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe
198         dominator info if we removed an edge.
200 2022-11-28  Richard Biener  <rguenther@suse.de>
202         PR tree-optimization/107867
203         * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle
204         abnormal cleanup after substitution.
206 2022-11-28  Lulu Cheng  <chenglulu@loongson.cn>
208         * config/loongarch/loongarch.cc (enum loongarch_load_imm_method):
209         Remove the member METHOD_INSV that is not currently used.
210         (struct loongarch_integer_op): Define a new member curr_value,
211         that records the value of the number stored in the destination
212         register immediately after the current instruction has run.
213         (loongarch_build_integer): Assign a value to the curr_value member variable.
214         (loongarch_move_integer): Adds information for the immediate load instruction.
215         * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split.
216         (*movdi_64bit): Likewise.
217         (*movsi_internal): Likewise.
218         (*movhi_internal): Likewise.
219         * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure
220         that the immediate number is not optimized by decomposition during expand
221         optimization loop.
223 2022-11-28  liuhongt  <hongtao.liu@intel.com>
225         PR target/107748
226         * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined.
227         * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16):
228         New function type.
229         * config/i386/i386-builtin.def (BDESC): New builtin.
230         * config/i386/i386-expand.cc (ix86_expand_args_builtin):
231         Handle the builtin.
232         * config/i386/i386.md (extendbfsf2): New expander.
233         (extendbfsf2_1): New define_insn.
234         (truncsfbf2): Ditto.
236 2022-11-26  Andrew Pinski  <apinski@marvell.com>
238         PR tree-optimization/103356
239         * match.pd: ((~a) == b -> a ^ b): New pattern.
241 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
243         * common.opt (fopenmp-target-simd-clone): New option.
244         (target_simd_clone_device): New enum to go with it.
245         * doc/invoke.texi (-fopenmp-target-simd-clone): Document.
246         * flag-types.h (enum omp_target_simd_clone_device_kind): New.
247         * omp-simd-clone.cc (auto_simd_fail): New function.
248         (auto_simd_check_stmt): New function.
249         (plausible_type_for_simd_clone): New function.
250         (ok_for_auto_simd_clone): New function.
251         (simd_clone_create): Add force_local argument, make the symbol
252         have internal linkage if it is true.
253         (expand_simd_clones): Also check for cloneable functions with
254         "omp declare target".  Pass explicit_p argument to
255         simd_clone.compute_vecsize_and_simdlen target hook.
256         * opts.cc (default_options_table): Add -fopenmp-target-simd-clone.
257         * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN):
258         Add bool explicit_p argument.
259         * doc/tm.texi: Regenerated.
260         * config/aarch64/aarch64.cc
261         (aarch64_simd_clone_compute_vecsize_and_simdlen): Update.
262         * config/gcn/gcn.cc
263         (gcn_simd_clone_compute_vecsize_and_simdlen): Update.
264         * config/i386/i386.cc
265         (ix86_simd_clone_compute_vecsize_and_simdlen): Update.
267 2022-11-25  Tamar Christina  <tamar.christina@arm.com>
269         PR target/107830
270         * config/aarch64/aarch64.cc
271         (aarch64_vectorize_can_special_div_by_constant): Check validity during
272         codegen phase as well.
274 2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
276         * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
278 2022-11-25  Richard Biener  <rguenther@suse.de>
280         PR tree-optimization/107865
281         * tree-cfg.cc (move_sese_region_to_fn): Free the number of
282         iterations of moved loops.
284 2022-11-25  Kewen.Lin  <linkw@gcc.gnu.org>
286         PR target/99889
287         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry):
288         Adjust to call function default_print_patchable_function_entry.
289         * targhooks.cc (default_print_patchable_function_entry_1): Remove and
290         move the flags preparation ...
291         (default_print_patchable_function_entry): ... here, adjust to use
292         current_function_funcdef_no for label no.
293         * targhooks.h (default_print_patchable_function_entry_1): Remove.
294         * varasm.cc (default_elf_asm_named_section): Adjust code for
295         __patchable_function_entries section support with LPFE label.
297 2022-11-24  Wilco Dijkstra  <wilco.dijkstra@arm.com>
299         PR tree-optimization/107413
300         * config/aarch64/aarch64.cc (struct tune_params): Add
301         fma_reassoc_width to all CPU tuning structures.
302         (aarch64_reassociation_width): Use fma_reassoc_width.
303         * config/aarch64/aarch64-protos.h (struct tune_params): Add
304         fma_reassoc_width.
306 2022-11-24  Jakub Jelinek  <jakub@redhat.com>
308         PR middle-end/107317
309         * asan.cc: Include diagnostic-core.h.
310         (asan_emit_stack_protection): Return NULL early if seen_error ().
312 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
314         * vr-values.cc (simplify_using_ranges::compare_names): Remove.
315         (vrp_evaluate_conditional_warnv_with_ops): Remove call to
316         compare_names.
317         (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p
318         argument to vrp_evaluate_conditional_warnv_with_ops.
319         * vr-values.h (class simplify_using_ranges): Remove
320         compare_names.
321         Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops.
323 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
325         * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs.
326         (overflow_comparison_p): Remove use_equiv_p.
327         * tree-vrp.h (overflow_comparison_p): Same.
328         * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove
329         use_equiv_p argument to overflow_comparison_p.
331 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
333         * doc/gimple.texi: Remove ASSERT_EXPR references.
334         * fold-const.cc (tree_expr_nonzero_warnv_p): Same.
335         (fold_binary_loc): Same.
336         (tree_expr_nonnegative_warnv_p): Same.
337         * gimple-array-bounds.cc (get_base_decl): Same.
338         * gimple-pretty-print.cc (dump_unary_rhs): Same.
339         * gimple.cc (get_gimple_rhs_num_ops): Same.
340         * pointer-query.cc (handle_ssa_name): Same.
341         * tree-cfg.cc (verify_gimple_assign_single): Same.
342         * tree-pretty-print.cc (dump_generic_node): Same.
343         * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same.
344         (interpret_rhs_expr): Same.
345         * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same.
346         * tree-ssa-propagate.cc
347         (substitute_and_fold_dom_walker::before_dom_children): Same.
348         * tree-ssa-threadedge.cc: Same.
349         * tree-vrp.cc (overflow_comparison_p): Same.
350         * tree.def (ASSERT_EXPR): Add note.
351         * tree.h (ASSERT_EXPR_VAR): Remove.
352         (ASSERT_EXPR_COND): Remove.
353         * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt):
354         Remove comment.
356 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
358         * Makefile.in: Remove value-range-equiv.o
359         * gimple-array-bounds.cc
360         (array_bounds_checker::array_bounds_checker): Remove comment.
361         * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv.
362         * value-query.cc (class equiv_allocator): Same.
363         (range_query::allocate_value_range_equiv): Remove.
364         (range_query::free_value_range_equiv): Remove.
365         (range_query::get_value_range): Remove.
366         * value-query.h (class range_query): Remove get_value_range.
367         Remove allocate_value_range_equiv.
368         Remove free_value_range_equiv.
369         * vr-values.cc (compare_ranges): Replace value_range_equiv with
370         value_range.
371         (simplify_using_ranges::get_vr_for_comparison): Same.
372         (simplify_using_ranges::compare_names): Same.
373         * vr-values.h: Remove value_range_equiv references.
374         * value-range-equiv.cc: Removed.
375         * value-range-equiv.h: Removed.
377 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
379         * doc/invoke.texi: Remove docs for max-vrp-switch-assertions,
380         vrp1-mode, and vrp2-mode.
381         * params.opt: Same.
382         * range-op.cc (masked_increment): Move from tree-vrp.cc.
383         * tree-vrp.cc (class live_names): Remove.
384         (live_names::init_bitmap_if_needed): Remove.
385         (live_names::block_has_live_names_p): Remove.
386         (live_names::clear_block): Remove.
387         (live_names::merge): Remove.
388         (live_names::set): Remove.
389         (live_names::clear): Remove.
390         (live_names::live_names): Remove.
391         (live_names::~live_names): Remove.
392         (live_names::live_on_block_p): Remove.
393         (live_names::live_on_edge_p): Remove.
394         (get_single_symbol): Make static.
395         (build_symbolic_expr): Remove.
396         (adjust_symbolic_bound): Remove.
397         (combine_bound): Remove.
398         (set_value_range_with_overflow): Remove.
399         (extract_range_from_pointer_plus_expr): Remove.
400         (extract_range_from_plus_minus_expr): Remove.
401         (drop_undefines_to_varying): Remove.
402         (range_fold_binary_symbolics_p): Remove.
403         (range_fold_unary_symbolics_p): Remove.
404         (range_fold_binary_expr): Remove.
405         (infer_value_range): Remove.
406         (dump_assert_info): Remove.
407         (dump_asserts_info): Remove.
408         (add_assert_info): Remove.
409         (extract_code_and_val_from_cond_with_ops): Remove.
410         (masked_increment): Move to range-op.cc.
411         (register_edge_assert_for_2): Remove.
412         (find_case_label_index): Remove.
413         (find_case_label_range): Remove.
414         (register_edge_assert_for_1): Remove.
415         (is_masked_range_test): Remove.
416         (register_edge_assert_for): Remove.
417         (stmt_interesting_for_vrp): Remove.
418         (struct case_info): Remove.
419         (struct assert_locus): Remove.
420         (class vrp_asserts): Remove.
421         (vrp_asserts::build_assert_expr_for): Remove.
422         (vrp_asserts::dump): Remove.
423         (vrp_asserts::register_new_assert_for): Remove.
424         (vrp_asserts::finish_register_edge_assert_for): Remove.
425         (vrp_asserts::find_conditional_asserts): Remove.
426         (vrp_asserts::compare_case_labels): Remove.
427         (vrp_asserts::find_switch_asserts): Remove.
428         (vrp_asserts::find_assert_locations_in_bb): Remove.
429         (vrp_asserts::find_assert_locations): Remove.
430         (vrp_asserts::process_assert_insertions_for): Remove.
431         (vrp_asserts::compare_assert_loc): Remove.
432         (vrp_asserts::process_assert_insertions): Remove.
433         (vrp_asserts::insert_range_assertions): Remove.
434         (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove.
435         (vrp_asserts::remove_range_assertions): Remove.
436         (class vrp_prop): Remove.
437         (vrp_prop::initialize): Remove.
438         (enum ssa_prop_result): Remove.
439         (vrp_prop::visit_stmt): Remove.
440         (vrp_prop::visit_phi): Remove.
441         (vrp_prop::finalize): Remove.
442         (class vrp_folder): Remove.
443         (vrp_folder::fold_predicate_in): Remove.
444         (vrp_folder::fold_stmt): Remove.
445         (vrp_folder::simplify_casted_conds): Remove.
446         (execute_vrp): Remove.
447         * tree-vrp.h (struct assert_info): Remove.
448         (register_edge_assert_for): Remove.
449         (stmt_interesting_for_vrp): Remove.
450         (infer_value_range): Remove.
451         (get_single_symbol): Remove.
452         (masked_increment): Remove.
453         (execute_ranger_vrp): Remove.
454         * vr-values.cc (set_value_range_to_nonnegative): Remove.
455         (set_value_range_to_truthvalue): Remove.
456         (vr_values::get_lattice_entry): Remove.
457         (vr_values::get_value_range): Remove.
458         (vr_values::range_of_expr): Remove.
459         (vr_values::value_of_expr): Remove.
460         (vr_values::value_on_edge): Remove.
461         (vr_values::value_of_stmt): Remove.
462         (vr_values::set_def_to_varying): Remove.
463         (vr_values::set_defs_to_varying): Remove.
464         (vr_values::update_value_range): Remove.
465         (symbolic_range_based_on_p): Remove.
466         (gimple_assign_nonzero_p): Remove.
467         (gimple_stmt_nonzero_p): Remove.
468         (vr_values::vrp_stmt_computes_nonzero): Remove.
469         (vr_values::op_with_constant_singleton_value_range): Remove.
470         (vr_values::extract_range_for_var_from_comparison_expr): Remove.
471         (vr_values::extract_range_from_assert): Remove.
472         (vr_values::extract_range_from_ssa_name): Remove.
473         (vr_values::extract_range_from_binary_expr): Remove.
474         (vr_values::extract_range_from_unary_expr): Remove.
475         (vr_values::extract_range_from_cond_expr): Remove.
476         (vr_values::extract_range_from_comparison): Remove.
477         (vr_values::extract_range_from_ubsan_builtin): Remove.
478         (vr_values::extract_range_basic): Remove.
479         (vr_values::extract_range_from_assignment): Remove.
480         (vr_values::adjust_range_with_scev): Remove.
481         (vr_values::dump): Remove.
482         (vr_values::vr_values): Remove.
483         (vr_values::~vr_values): Remove.
484         (vrp_valueize): Remove.
485         (vrp_valueize_1): Remove.
486         (get_output_for_vrp): Remove.
487         (vr_values::vrp_visit_assignment_or_call): Remove.
488         (simplify_using_ranges::vrp_evaluate_conditional): Remove.
489         (vr_values::vrp_visit_switch_stmt): Remove.
490         (vr_values::extract_range_from_stmt): Remove.
491         (vr_values::extract_range_from_phi_node): Remove.
492         (simplify_using_ranges::fold_cond): Add FIXME note.
493         (vr_values::set_vr_value): Remove.
494         (vr_values::swap_vr_value): Remove.
495         * vr-values.h (class vr_values): Remove.
496         (get_output_for_vrp): Remove.
498 2022-11-24  Hongyu Wang  <hongyu.wang@intel.com>
500         PR target/107692
501         * common/config/i386/i386-common.cc (ix86_optimization_table):
502         Enable loop unroll O2, disable -fweb and -frename-registers
503         by default.
504         * config/i386/i386-options.cc
505         (ix86_override_options_after_change):
506         Disable small loop unroll when funroll-loops enabled, reset
507         cunroll_grow_size when it is not explicitly enabled.
508         (ix86_option_override_internal): Call
509         ix86_override_options_after_change instead of calling
510         ix86_recompute_optlev_based_flags and ix86_default_align
511         separately.
512         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
513         factor if -munroll-only-small-loops enabled.
514         * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable
515         loop unrolling for -O2-speed.
516         (pass_rtl_unroll_loops::execute): Rmove
517         targetm.loop_unroll_adjust check.
519 2022-11-23  Ramana Radhakrishnan  <ramana.gcc@gmail.com>
521         * config/arm/types.md: Update comment.
522         (is_neon_type): Add neon_fcmla, neon_fcadd.
524 2022-11-23  Jonathan Wakely  <jwakely@redhat.com>
526         * doc/invoke.texi (C++ Dialect Options): Recommend using
527         -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor.
529 2022-11-23  Jakub Jelinek  <jakub@redhat.com>
531         PR bootstrap/107722
532         * diagnostic.cc (test_diagnostic_get_location_text): Test
533         special_fname_builtin () rather than "<built-in>" and expect
534         special_fname_builtin () concatenated with ":" for it.
536 2022-11-23  Martin Liska  <mliska@suse.cz>
538         * Makefile.in: Set DO_LINK_MUTEX.
540 2022-11-23  Lulu Cheng  <chenglulu@loongson.cn>
541             xujiahao  <xujiahao@loongson.cn>
543         * config/loongarch/constraints.md (ZD): New constraint.
544         * config/loongarch/loongarch-def.c: Initial number of parallel prefetch.
545         * config/loongarch/loongarch-tune.h (struct loongarch_cache):
546         Define number of parallel prefetch.
547         * config/loongarch/loongarch.cc (loongarch_option_override_internal):
548         Set up parameters to be used in prefetching algorithm.
549         * config/loongarch/loongarch.md (prefetch): New template.
551 2022-11-23  Marek Polacek  <polacek@redhat.com>
553         Revert:
554         2022-11-23  Marek Polacek  <polacek@redhat.com>
556         * Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
557         Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
558         ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
559         * configure.ac (--enable-host-shared): Don't set PICFLAG here.
560         (--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
561         check.
562         * configure: Regenerate.
563         * doc/install.texi: Document --enable-host-pie.
565 2022-11-23  Marek Polacek  <polacek@redhat.com>
567         Revert:
568         2022-11-23  Marek Polacek  <polacek@redhat.com>
570         * configure.ac (--enable-host-bind-now): New check.  Add
571         -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
572         * configure: Regenerate.
573         * doc/install.texi: Document --enable-host-bind-now.
575 2022-11-23  Marek Polacek  <polacek@redhat.com>
577         * configure.ac (--enable-host-bind-now): New check.  Add
578         -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
579         * configure: Regenerate.
580         * doc/install.texi: Document --enable-host-bind-now.
582 2022-11-23  Marek Polacek  <polacek@redhat.com>
584         * Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
585         Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
586         ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
587         * configure.ac (--enable-host-shared): Don't set PICFLAG here.
588         (--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
589         check.
590         * configure: Regenerate.
591         * doc/install.texi: Document --enable-host-pie.
593 2022-11-22  Jeff Law  <jlaw@ventanamicro.com>
595         * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit.
597 2022-11-22  Jeff Law  <jlaw@ventanamicro.com>
599         * tree-ssa-dom.cc (record_edge_info): Fix comment typos.
601 2022-11-22  Jeff Law  <jeffreyalaw@gmail.com>
603         * config/riscv/riscv.cc (riscv_get_separate_components): Do not
604         do shrink-wrapping for a frame with a variable size.
606 2022-11-22  Siddhesh Poyarekar  <siddhesh@gotplt.org>
608         * tree-object-size.cc (todo): New variable.
609         (object_sizes_execute): Use it.
610         (strdup_object_size): New function.
611         (call_object_size): Use it.
613 2022-11-22  Eric Botcazou  <ebotcazou@adacore.com>
615         * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
616         Bail out if source and destination do not have the same storage order.
618 2022-11-22  Martin Jambor  <mjambor@suse.cz>
620         * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even
621         for non-candidates.
623 2022-11-22  Martin Jambor  <mjambor@suse.cz>
625         * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants
626         in unused aggregate parameters.
628 2022-11-22  Martin Jambor  <mjambor@suse.cz>
630         * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed
631         member m_split_modifications_p.
632         * ipa-param-manipulation.cc
633         (ipa_param_body_adjustments::common_initialization): Do not set
634         m_split_modifications_p.
635         (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove
636         initializations of m_split_modifications_p.
637         (ipa_param_body_adjustments::modify_call_stmt): Check that
638         m_replacements is empty instead of m_split_modifications_p.
640 2022-11-22  Martin Jambor  <mjambor@suse.cz>
642         PR ipa/107661
643         * ipa-cp.cc (push_agg_values_from_edge): New parameter
644         optimize_self_recursion, use it to decide whether to pass interim to
645         the helper function.
646         (find_aggregate_values_for_callers_subset): Pass true in the new
647         parameter of push_agg_values_from_edge.
648         (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new
649         parameter of push_agg_values_from_edge.
651 2022-11-22  Tobias Burnus  <tobias@codesourcery.com>
652             Andrew Stubbs  <ams@codesourcery.com>
654         * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P,
655         GET_STACK_LIMIT): Add new builtins.
656         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them.
657         * config/gcn/gcn.md (prologue_use): Add "register_operand" as
658         arg to match_operand.
659         (prologue_use_di): New; DI insn_and_split variant of the former.
661 2022-11-22  Richard Biener  <rguenther@suse.de>
663         PR tree-optimization/107803
664         * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add
665         need_ab_cleanup member.
666         (substitute_and_fold_dom_walker::before_dom_children): When
667         a stmt can no longer transfer control flow abnormally set
668         need_ab_cleanup.
669         (substitute_and_fold_engine::substitute_and_fold): Cleanup
670         abnormal control flow.
672 2022-11-22  Richard Biener  <rguenther@suse.de>
674         PR tree-optimization/107672
675         * tree-vect-stmts.cc (supportable_widening_operation): Avoid
676         type_for_mode on vector modes.
678 2022-11-22  Richard Biener  <rguenther@suse.de>
680         PR tree-optimization/107766
681         * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
682         Use *node to check for FP vector types.
684 2022-11-22  liuhongt  <hongtao.liu@intel.com>
686         * config/i386/mmx.md (*mov<mode>_internal): Add
687         ix86_hard_reg_move_ok to condition.
689 2022-11-22  liuhongt  <hongtao.liu@intel.com>
691         * config/i386/i386.cc (ix86_can_change_mode_class): Also guard
692         size of TO.
693         (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE
694         * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to
695         ..
696         (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode.
697         (VALID_SSE_REG_MODE): Add DI/HImode.
699 2022-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
701         * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define.
703 2022-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
705         * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined.
706         (cc1_spec): Append SUBTARGET_CC1_SPEC.
708 2022-11-21  Dimitar Dimitrov  <dimitar@dinux.eu>
710         * doc/sourcebuild.texi (sockets): Document new check.
712 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
714         * tree-ssa-loop.h (tree_niter_desc): Update comment.
716 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
718         * tree-ssa-loop-niter.cc
719         (number_of_iterations_exit_assumptions): Modify to call...
720         (number_of_iterations_bitcount): ...this new function.
721         (number_of_iterations_popcount): Now called by the above.
722         Refactor, and extract popcount expression builder to...
723         (build_popcount_expr): this new function.
725 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
727         * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move
728         (number_of_iterations_popcount): Move, and remove separate prototype.
730 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
732         * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions):
733         Move at_stmt assignment.
735 2022-11-21  Christophe Lyon  <christophe.lyon@arm.com>
737         * genmultilib: Fix options and dirnames/osdirnames sanity check.
739 2022-11-21  Philipp Tomsich  <philipp.tomsich@vrull.eu>
741         PR target/107786
742         * config/riscv/riscv.md
743         (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI
744         in a subreg, as our branch instructions only supports X.
746 2022-11-21  Jakub Jelinek  <jakub@redhat.com>
748         PR target/107748
749         * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
750         _mm512_castph512_ph256, _mm512_castph128_ph512,
751         _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
752         variables and union members.
753         * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
754         _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
755         * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
757 2022-11-21  Christophe Lyon  <christophe.lyon@arm.com>
759         * genmultilib: Add sanity check.
761 2022-11-21  Eric Botcazou  <ebotcazou@adacore.com>
763         * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>:
764         Change decl_required field to false.
765         (arm_handle_cmse_nonsecure_call): Deal with a TYPE node.
767 2022-11-21  Andrew Pinski  <apinski@marvell.com>
769         * gimplify.cc (gimplify_modify_expr): If
770         either *from_p or *to_p were error_operand
771         return early.
773 2022-11-21  liuhongt  <hongtao.liu@intel.com>
775         * config/i386/i386-builtins.cc (def_builtin): Handle "shared"
776         avx512bf16vl-avxneconvert builtins.
778 2022-11-20  Jakub Jelinek  <jakub@redhat.com>
780         PR target/107183
781         * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
782         If >= 0 and a DEBUG_INSN would be otherwise returned, set
783         DEBUG_SEEN to 1 and ignore it.
784         (swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
785         mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
786         were seen and revert all changes on success in that case.
787         Don't try to recog_memoized DEBUG_INSNs.
788         (compare_for_stack_reg): Adjust swap_rtx_condition caller.
789         If it returns true and debug_seen is 1, call swap_rtx_condition
790         again with debug_seen -1.
792 2022-11-20  Jeff Law  <jlaw@ventanamicro.com>
794         PR other/104044
795         * config/mn10300/mn10300.cc (mn10300_print_operand): Remove
796         extraneous semicolon.
797         * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise.
799 2022-11-19  Andrew Pinski  <apinski@marvell.com>
801         PR middle-end/14840
802         * tree-core.h (tree_code_type): Constexprify
803         by including all-tree.def.
804         (tree_code_length): Likewise.
805         * tree.cc (tree_code_type): Remove.
806         (tree_code_length): Remove.
808 2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
810         * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
811         '-mmainkernel'.
813 2022-11-19  Jonathan Wakely  <jwakely@redhat.com>
814             LIU Hao  <lh_mouse@126.com>
816         * system.h [INCLUDE_MUTEX]: Include header for std::mutex.
818 2022-11-19  Jakub Jelinek  <jakub@redhat.com>
820         PR target/107628
821         * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf):
822         Declare.
823         * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New
824         function.
825         * config/i386/i386.md (cbranchbf4, cstorebf4): Use it.
827 2022-11-19  Jeff Chapman II  <jchapman@lock3software.com>
828             Andrew Sutton   <asutton@lock3software.com>
829             Andrew Marmaduke  <amarmaduke@lock3software.com>
830             Michael Lopez  <mlopez@lock3software.com>
831             Jason Merrill   <jason@redhat.com>
833         * doc/invoke.texi: Document contracts flags.
835 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
837         * config/riscv/bitmanip.md (*minmax): Additional pattern for
838         min/max against constants that are extension-invariant.
839         * config/riscv/iterators.md (minmax_optab): Add an iterator
840         that has only min and max rtl.
842 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
844         * config/riscv/bitmanip.md
845         (*branch<X:mode>_mask_twobits_equals_singlebit):
846         Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C
847         has one of these tow bits set.
848         * config/riscv/predicates.md (const_twobits_not_arith_operand):
849         New predicate.
851 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
853         * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit):
854         New pattern for binvi+binvi/xori and bseti+bseti/ori
855         (*andi<mode>_extrabit): New pattern for bclri+bclri/andi
856         * config/riscv/iterators.md (any_or): Match or and ior
857         * config/riscv/predicates.md (const_twobits_operand):
858         New predicate.
859         (uimm_extra_bit_operand): New predicate.
860         (uimm_extra_bit_or_twobits): New predicate.
861         (not_uimm_extra_bit_operand): New predicate.
862         (not_uimm_extra_bit_or_nottwobits): New predicate.
863         * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND):
864         Helper for the uimm_extra_bit_operand and
865         not_uimm_extra_bit_operand predicates.
867 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
869         * config/riscv/bitmanip.md: Handle corner-cases for combine
870         when chaining slli(.uw)? + addw
871         * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p):
872         Define prototype.
873         * config/riscv/riscv.cc (riscv_shamt_matches_mask_p):
874         Helper for evaluating the relationship between two operands.
876 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
878         * config/riscv/bitmanip.md: Add a define_split to optimize
879         slliw + addiw + divw into sh[123]add + divw.
881 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
883         * config/riscv/predicates.md (shifted_const_arith_operand): New predicate.
884         (uimm_extra_bit_operand): New predicate.
885         * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero):
886         New pattern.
887         (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern.
889 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
891         * config/riscv/bitmanip.md (*bsetidisi): New pattern.
893 2022-11-18  Richard Purdie  <richard.purdie@linuxfoundation.org>
895         * doc/invoke.texi: Document prefix-maps don't affect directives.
897 2022-11-18  Andrew Pinski  <apinski@marvell.com>
899         PR middle-end/107705
900         * function.cc (aggregate_value_p): Return 0 if
901         the function type was an error operand.
903 2022-11-18  Andrew Pinski  <apinski@marvell.com>
905         PR c/106764
906         PR c/106765
907         PR c/107307
908         * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
909         if gimplify_expr had return GS_ERROR.
910         (gimplify_call_expr): Likewise.
912 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
914         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
915         Use <GPI:w>  for destination format.
916         * config/aarch64/iterators.md (w_sz): Delete.
918 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
920         * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
921         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
922         Adjust output template.
923         (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
924         Adjust output template.
925         * config/aarch64/iterators.md (w_sz): New mode attr.
927 2022-11-18  Richard Biener  <rguenther@suse.de>
929         PR tree-optimization/107647
930         * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
931         allow FMA generation with -ffp-contract=fast for FP types.
932         (complex_mul_pattern::matches): Likewise.
934 2022-11-18  Jinyang He  <hejinyang@loongson.cn>
936         PR target/107713
937         * config/loongarch/sync.md
938         (atomic_cas_value_exchange_7_<mode>): New define_insn.
939         (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
940         atomic_cas_value_cmp_and_7_si.
942 2022-11-17  Andrew Pinski  <apinski@marvell.com>
944         PR middle-end/107734
945         * match.pd (perm + vector op pattern): Clear the sbitmap before
946         use.
948 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
950         PR tree-optimization/107732
951         * range-op-float.cc (foperator_abs::op1_range): Early exit when
952         result is undefined.
954 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
956         * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
957         (*bclridisi_nottwobits): New pattern, handling the sign-bit.
958         * config/riscv/predicates.md (const_nottwobits_operand):
959         New predicate.
961 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
963         * config/riscv/bitmanip.md: Add a splitter to generate
964         polarity-reversed masks from a set bit using bexti + addi.
966 2022-11-17  mtsamis  <manolis.tsamis@vrull.eu>
968         * config/riscv/riscv.cc (struct machine_function): Add array to store
969         register wrapping information.
970         (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
971         (riscv_get_separate_components): New function.
972         (riscv_components_for_bb): Likewise.
973         (riscv_disqualify_components): Likewise.
974         (riscv_process_components): Likewise.
975         (riscv_emit_prologue_components): Likewise.
976         (riscv_emit_epilogue_components): Likewise.
977         (riscv_set_handled_components): Likewise.
978         (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
979         (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
980         (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
981         (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
982         (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
983         (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
985 2022-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
987         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
988         Add mode size check to condition.
989         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
991 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
993         PR tree-optimization/68097
994         * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
995         range_of_stmt for floats.
997 2022-11-17  Lili Cui  <lili.cui@intel.com>
999         * config/i386/x86-tune.def
1000         (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
1001         (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
1003 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
1005         PR tree-optimization/107717
1006         * match.pd: Ensure same SSA_NAME.
1008 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
1010         * match.pd: Replace GET_MODE_WIDER_MODE with
1011         custom code.
1013 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
1015         * range-op-float.cc (range_operator_float::fold_range): Make check
1016         for maybe_isnan more readable.
1018 2022-11-17  Kewen Lin  <linkw@linux.ibm.com>
1020         * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
1021         tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
1023 2022-11-17  Jia-Wei Chen  <jiawei@iscas.ac.cn>
1025         * config/riscv/riscv.cc (riscv_expand_epilogue):
1026         Do not emit useless add sp, sp, 0 instrutions.
1028 2022-11-17  Jeff Law  <jlaw@ventanamicro.com>
1030         * config/sh/sh_treg_combine.cc: Include tm-preds.h.
1031         (t_reg_operand): Remove bogus prototype.
1032         (negt_reg_operand): Likewise.
1034 2022-11-16  Marek Polacek  <polacek@redhat.com>
1036         PR c++/106649
1037         * doc/invoke.texi: Document -Winvalid-constexpr.
1039 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1041         * config/riscv/bitmanip.md: Add split covering
1042         "(a & (1 << BIT_NO)) ? 0 : 1".
1044 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1046         * config/riscv/bitmanip.md (*bext<mode>): Add an additional
1047         pattern that allows the 3rd argument to zero_extract to be
1048         an Xmode register operand.
1050 2022-11-16  Richard Biener  <rguenther@suse.de>
1052         PR tree-optimization/107686
1053         * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
1054         VEC_UNPACK support to integral typed bitfield refs.
1056 2022-11-16  Richard Biener  <rguenther@suse.de>
1058         PR middle-end/107679
1059         * tree-into-ssa.cc (maybe_register_def): Use new temporary if
1060         we require an uninitialized value for a parameter decl.
1062 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
1064         PR target/107676
1065         * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
1067 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
1069         PR target/87832
1070         * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
1071         the reservation.
1072         (znver1_fp_op_mul_load): Ditto.
1073         (znver1_mmx_mul): Ditto.
1074         (znver1_mmx_load): Ditto.
1075         (znver1_ssemul_ss_ps): Ditto.
1076         (znver1_ssemul_ss_ps_load): Ditto.
1077         (znver1_ssemul_avx256_ps): Ditto.
1078         (znver1_ssemul_avx256_ps_load): Ditto.
1079         (znver1_ssemul_sd_pd): Ditto.
1080         (znver1_ssemul_sd_pd_load): Ditto.
1081         (znver2_ssemul_sd_pd): Ditto.
1082         (znver2_ssemul_sd_pd_load): Ditto.
1083         (znver1_ssemul_avx256_pd): Ditto.
1084         (znver1_ssemul_avx256_pd_load): Ditto.
1085         (znver1_sseimul): Ditto.
1086         (znver1_sseimul_avx256): Ditto.
1087         (znver1_sseimul_load): Ditto.
1088         (znver1_sseimul_avx256_load): Ditto.
1089         (znver1_sseimul_di): Ditto.
1090         (znver1_sseimul_load_di): Ditto.
1092 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
1094         PR target/87832
1095         * config/i386/znver.md (znver1_fdiv): New automaton.
1096         (znver1-fdiv): New unit.
1097         (znver1_fp_op_div): Correct unit and cycles in the reservation.
1098         (znver1_fp_op_div_load): Ditto.
1099         (znver1_fp_op_idiv_load): Ditto.
1100         (znver2_fp_op_idiv_load): Ditto.
1101         (znver1_ssediv_ss_ps): Ditto.
1102         (znver1_ssediv_ss_ps_load): Ditto.
1103         (znver1_ssediv_sd_pd): Ditto.
1104         (znver1_ssediv_sd_pd_load): Ditto.
1105         (znver1_ssediv_avx256_ps): Ditto.
1106         (znver1_ssediv_avx256_ps_load): Ditto.
1107         (znver1_ssediv_avx256_pd): Ditto.
1108         (znver1_ssediv_avx256_pd_load): Ditto.
1110 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
1111             Andrew Stubbs  <ams@codesourcery.com>
1113         * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
1114         * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
1115         sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
1116         (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
1117         (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
1119 2022-11-16  David Malcolm  <dmalcolm@redhat.com>
1121         * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
1123 2022-11-16  Max Filippov  <jcmvbkbc@gmail.com>
1125         PR target/107645
1126         * config/m68k/predicates.md (symbolic_operand): Return false
1127         when UNSPEC is under the CONST node.
1129 2022-11-16  Christoph Müllner  <christoph.muellner@vrull.eu>
1131         * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
1133 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
1135         * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
1136         besides tailing '$nohost' as being for reverse offload.
1138 2022-11-16  Jakub Jelinek  <jakub@redhat.com>
1140         PR tree-optimization/107668
1141         * range-op-float.cc (float_binary_op_range_finish): Set VARYING
1142         also when r is UNDEFINED.
1144 2022-11-16  Kewen Lin  <linkw@linux.ibm.com>
1146         PR rtl-optimization/90259
1147         * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
1148         parameter fun, and call function purge_all_dead_edges.
1149         (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
1150         as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
1152 2022-11-15  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1154         * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
1155         add the pause machine-dependent builtin with no result and no
1156         arguments; mark it as always present (pause is a true hint
1157         that encodes into a fence-insn, if not supported with the new
1158         pause semantics).
1159         * config/riscv/riscv-ftypes.def: Add type for void -> void.
1160         * config/riscv/riscv.md (riscv_pause): Add risc_pause and
1161         UNSPECV_PAUSE
1162         * doc/extend.texi: Document __builtin_riscv_pause.
1163         * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
1165 2022-11-15  David Faust  <david.faust@oracle.com>
1167         * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
1168         variable in error case.
1170 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
1172         PR analyzer/106140
1173         * doc/invoke.texi (Static Analyzer Options): Add
1174         -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch.  Add
1175         "socket", "bind", "listen", "accept", and "connect" to the list of
1176         functions known to the analyzer.
1178 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
1180         PR analyzer/106302
1181         * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
1182         (GTFILES): Add analyzer/analyzer-language.cc.
1183         * doc/analyzer.texi: Document __analyzer_dump_named_constant.
1185 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
1187         * json.h (class string): Add M_LEN member to store the length of
1188         the data.  Add constructor taking an explicit length.
1189         * json.cc (string::string):  Implement the new constructor.
1190         (string::print): Support printing strings that are not
1191         null-terminated.  Escape embdedded null bytes on output.
1192         (test_writing_strings): Test the new null-byte-related features of
1193         json::string.
1195 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
1197         * diagnostic.cc (diagnostic_get_location_text): Use
1198         special_fname_builtin () rather than a hardcoded string (which was
1199         also incorrectly left untranslated previously.)
1200         * input.cc (special_fname_builtin): New function.
1201         (expand_location_1): Use special_fname_builtin () rather than a
1202         hard-coded string.
1203         (test_builtins): Likewise.
1204         * input.h (special_fname_builtin): Declare.
1206 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
1208         * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
1209         location in return value of linemap_resolve_location().
1211 2022-11-15  Jonathan Wakely  <jwakely@redhat.com>
1213         * doc/cpp.texi (Pragmas): Use @item and @itemx for region
1214         pragmas.
1216 2022-11-15  Maciej W. Rozycki  <macro@embecosm.com>
1218         * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
1219         `full_costs'.
1221 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1223         * config/aarch64/atomics.md
1224         (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
1225         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
1227 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1228             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1230         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
1231         (TARGET_RCPC): New Macro.
1232         * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
1233         (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
1234         (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
1235         * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
1236         * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
1237         on code generation.
1239 2022-11-15  Hongyu Wang  <hongyu.wang@intel.com>
1241         PR target/98167
1242         * match.pd: New perm + vector op patterns for int and fp vector.
1244 2022-11-15  Andrew Pinski  <apinski@marvell.com>
1246         * doc/invoke.texi: Remove Score option section.
1248 2022-11-15  Andrew Pinski  <apinski@marvell.com>
1250         * doc/extend.texi: Remove picoChip builtin section.
1251         * doc/invoke.texi: Remove picoChip option section.
1253 2022-11-15  Andrew Pinski  <apinski@marvell.com>
1255         * doc/extend.texi: Remove MeP documentation.
1256         * doc/invoke.texi: Remove MeP Options documentation.
1258 2022-11-15  Andrew Pinski  <apinski@marvell.com>
1260         * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
1262 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1264         Revert:
1265         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1267         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
1268         (RISCV_CORE): Ditto.
1269         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
1270         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
1271         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
1273 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1275         Revert:
1276         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1278         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
1279         constants to identify supported fusion patterns.
1280         (struct riscv_tune_param): Add fusible_op field.
1281         (riscv_macro_fusion_p): Implement.
1282         (riscv_fusion_enabled_p): Implement.
1283         (riscv_macro_fusion_pair_p): Implement and recognize fusible
1284         idioms for Ventana VT1.
1285         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
1286         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
1287         riscv_macro_fusion_pair_p.
1289 2022-11-14  Maciej W. Rozycki  <macro@embecosm.com>
1291         * ira-build.cc (create_insn_allocnos): Fix documentation.
1293 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
1295         * match.pd: Remove returns.
1297 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1299         * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
1300         unspec.
1301         * config/riscv/riscv.md: Add UNSPEC_ORC_B.
1303 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
1305         * target.def: Fix typo.
1307 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1309         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
1310         constants to identify supported fusion patterns.
1311         (struct riscv_tune_param): Add fusible_op field.
1312         (riscv_macro_fusion_p): Implement.
1313         (riscv_fusion_enabled_p): Implement.
1314         (riscv_macro_fusion_pair_p): Implement and recognize fusible
1315         idioms for Ventana VT1.
1316         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
1317         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
1318         riscv_macro_fusion_pair_p.
1320 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1322         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
1323         (RISCV_CORE): Ditto.
1324         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
1325         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
1326         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
1328 2022-11-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1330         * config/aarch64/aarch64-option-extensions.def (cssc): Define.
1331         * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
1332         (TARGET_CSSC): Likewise.
1333         * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
1334         (abs<mode>2): Adjust for the above.
1335         (aarch64_umax<mode>3_insn): New define_insn.
1336         (umax<mode>3): Adjust for the above.
1337         (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
1338         (popcount<mode>2): Adjust for the above.
1339         (<optab><mode>3): New define_insn.
1340         * config/aarch64/constraints.md (Usm): Define.
1341         (Uum): Likewise.
1342         * doc/invoke.texi (AArch64 options): Document +cssc.
1343         * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
1344         * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
1345         (aarch64_sminmax_operand): Likewise.
1346         (aarch64_uminmax_immediate): Likewise.
1347         (aarch64_uminmax_operand): Likewise.
1349 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
1351         * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
1353 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
1355         * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
1356         * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
1358 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
1360         * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
1361         * expmed.cc (expand_divmod): Likewise.
1362         * explow.cc (round_push, align_dynamic_address): Likewise.
1363         * expr.cc (force_operand, expand_expr_divmod): Likewise.
1364         * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
1365         Likewise.
1366         * target.h: Include tree-core.
1367         * target.def (can_special_div_by_const): New.
1368         * targhooks.cc (default_can_special_div_by_const): New.
1369         * targhooks.h (default_can_special_div_by_const): New.
1370         * tree-vect-generic.cc (expand_vector_operation): Use it.
1371         * doc/tm.texi.in: Document it.
1372         * doc/tm.texi: Regenerate.
1373         * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
1374         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
1376 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
1378         * generic-match-head.cc: Include langooks.
1379         * gimple-match-head.cc: Likewise.
1380         * match.pd: Add fneg/fadd rule.
1382 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
1384         * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
1385         * config/arm/arm-tables.opt: Regenerate.
1386         * config/arm/arm-tune.md: Likewise.
1387         * doc/invoke.texi: Document Cortex-X1C CPU.
1389 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
1391         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
1392         CPU.
1393         * config/aarch64/aarch64-tune.md: Regenerate.
1394         * doc/invoke.texi: Document Cortex-X3 CPU.
1396 2022-11-14  Andrew Pinski  <apinski@marvell.com>
1398         * doc/invoke.texi: Fix @opindex
1399         for m80387 option.
1401 2022-11-14  Andrew Pinski  <apinski@marvell.com>
1403         * doc/invoke.texi: Remove the front - from
1404         some @opindex.
1406 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1408         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
1409         * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
1410         * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
1411         Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
1412         registers and then +1/-1).
1413         * config/aarch64/aarch64-tune.md: Regenerate.
1414         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
1415         idiom-matcher for the new fusion pair.
1416         * doc/invoke.texi: Add ampere1a.
1418 2022-11-14  Richard Biener  <rguenther@suse.de>
1420         * match.pd: Remove duplicates.
1422 2022-11-14  Martin Liska  <mliska@suse.cz>
1424         * doc/contrib.texi: Port from Sphinx.
1425         * doc/cpp.texi: Likewise.
1426         * doc/install.texi: Likewise.
1427         * doc/invoke.texi: Likewise.
1429 2022-11-14  Martin Liska  <mliska@suse.cz>
1431         Revert:
1432         2022-11-14  Martin Liska  <mliska@suse.cz>
1434         * doc/cpp/character-sets.rst: New file.
1435         * doc/cpp/conditional-syntax.rst: New file.
1436         * doc/cpp/conditional-uses.rst: New file.
1437         * doc/cpp/conditionals.rst: New file.
1438         * doc/cpp/conf.py: New file.
1439         * doc/cpp/copyright.rst: New file.
1440         * doc/cpp/deleted-code.rst: New file.
1441         * doc/cpp/diagnostics.rst: New file.
1442         * doc/cpp/environment-variables.rst: New file.
1443         * doc/cpp/gnu-free-documentation-license.rst: New file.
1444         * doc/cpp/header-files.rst: New file.
1445         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
1446         * doc/cpp/header-files/computed-includes.rst: New file.
1447         * doc/cpp/header-files/include-operation.rst: New file.
1448         * doc/cpp/header-files/include-syntax.rst: New file.
1449         * doc/cpp/header-files/once-only-headers.rst: New file.
1450         * doc/cpp/header-files/search-path.rst: New file.
1451         * doc/cpp/header-files/system-headers.rst: New file.
1452         * doc/cpp/header-files/wrapper-headers.rst: New file.
1453         * doc/cpp/implementation-defined-behavior.rst: New file.
1454         * doc/cpp/implementation-details.rst: New file.
1455         * doc/cpp/implementation-limits.rst: New file.
1456         * doc/cpp/index.rst: New file.
1457         * doc/cpp/indices-and-tables.rst: New file.
1458         * doc/cpp/initial-processing.rst: New file.
1459         * doc/cpp/invocation.rst: New file.
1460         * doc/cpp/line-control.rst: New file.
1461         * doc/cpp/macros.rst: New file.
1462         * doc/cpp/macros/concatenation.rst: New file.
1463         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
1464         * doc/cpp/macros/function-like-macros.rst: New file.
1465         * doc/cpp/macros/macro-arguments.rst: New file.
1466         * doc/cpp/macros/macro-pitfalls.rst: New file.
1467         * doc/cpp/macros/object-like-macros.rst: New file.
1468         * doc/cpp/macros/predefined-macros.rst: New file.
1469         * doc/cpp/macros/stringizing.rst: New file.
1470         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
1471         * doc/cpp/macros/variadic-macros.rst: New file.
1472         * doc/cpp/obsolete-features.rst: New file.
1473         * doc/cpp/other-directives.rst: New file.
1474         * doc/cpp/overview.rst: New file.
1475         * doc/cpp/pragmas.rst: New file.
1476         * doc/cpp/preprocessor-output.rst: New file.
1477         * doc/cpp/the-preprocessing-language.rst: New file.
1478         * doc/cpp/tokenization.rst: New file.
1479         * doc/cpp/traditional-lexical-analysis.rst: New file.
1480         * doc/cpp/traditional-macros.rst: New file.
1481         * doc/cpp/traditional-miscellany.rst: New file.
1482         * doc/cpp/traditional-mode.rst: New file.
1483         * doc/cpp/traditional-warnings.rst: New file.
1484         * doc/cppinternals/conf.py: New file.
1485         * doc/cppinternals/copyright.rst: New file.
1486         * doc/cppinternals/cppinternals.rst: New file.
1487         * doc/cppinternals/cpplib.rst: New file.
1488         * doc/cppinternals/files.rst: New file.
1489         * doc/cppinternals/index.rst: New file.
1490         * doc/cppinternals/indices-and-tables.rst: New file.
1491         * doc/cppinternals/internal-representation-of-macros.rst: New file.
1492         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
1493         * doc/cppinternals/lexing-a-line.rst: New file.
1494         * doc/cppinternals/lexing-a-token.rst: New file.
1495         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
1496         * doc/cppinternals/macro-expansion-overview.rst: New file.
1497         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
1498         * doc/cppinternals/multiple-include-optimization.rst: New file.
1499         * doc/cppinternals/overview.rst: New file.
1500         * doc/cppinternals/representation-of-line-numbers.rst: New file.
1501         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
1502         * doc/gcc/binary-compatibility.rst: New file.
1503         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
1504         * doc/gcc/c-implementation-defined-behavior.rst: New file.
1505         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
1506         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
1507         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
1508         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
1509         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
1510         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
1511         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
1512         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
1513         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
1514         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
1515         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
1516         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
1517         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
1518         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
1519         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
1520         New file.
1521         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
1522         * doc/gcc/conditionally-supported-behavior.rst: New file.
1523         * doc/gcc/conf.py: New file.
1524         * doc/gcc/contributing-to-gcc-development.rst: New file.
1525         * doc/gcc/contributors-to-gcc.rst: New file.
1526         * doc/gcc/copyright.rst: New file.
1527         * doc/gcc/exception-handling.rst: New file.
1528         * doc/gcc/extensions-to-the-c++-language.rst: New file.
1529         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
1530         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
1531         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
1532         New file.
1533         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
1534         New file.
1535         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
1536         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
1537         New file.
1538         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
1539         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
1540         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
1541         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
1542         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
1543         New file.
1544         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
1545         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
1546         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
1547         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
1548         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
1549         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
1550         New file.
1551         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
1552         New file.
1553         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
1554         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
1555         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
1556         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
1557         New file.
1558         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
1559         New file.
1560         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
1561         New file.
1562         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
1563         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
1564         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
1565         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
1566         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
1567         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
1568         New file.
1569         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
1570         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
1571         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
1572         New file.
1573         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
1574         New file.
1575         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
1576         New file.
1577         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
1578         New file.
1579         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
1580         New file.
1581         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
1582         New file.
1583         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
1584         New file.
1585         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
1586         New file.
1587         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
1588         New file.
1589         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
1590         New file.
1591         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
1592         New file.
1593         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
1594         New file.
1595         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
1596         New file.
1597         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
1598         New file.
1599         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
1600         New file.
1601         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
1602         New file.
1603         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
1604         New file.
1605         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
1606         New file.
1607         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
1608         New file.
1609         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
1610         New file.
1611         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
1612         New file.
1613         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
1614         New file.
1615         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
1616         New file.
1617         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
1618         New file.
1619         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
1620         New file.
1621         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
1622         New file.
1623         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
1624         New file.
1625         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
1626         New file.
1627         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
1628         New file.
1629         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
1630         New file.
1631         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
1632         New file.
1633         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
1634         New file.
1635         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
1636         New file.
1637         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
1638         New file.
1639         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
1640         New file.
1641         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
1642         New file.
1643         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
1644         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
1645         New file.
1646         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
1647         New file.
1648         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
1649         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
1650         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
1651         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
1652         New file.
1653         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
1654         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
1655         New file.
1656         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
1657         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
1658         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
1659         New file.
1660         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
1661         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
1662         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
1663         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
1664         New file.
1665         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
1666         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
1667         New file.
1668         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
1669         New file.
1670         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
1671         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
1672         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
1673         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
1674         New file.
1675         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
1676         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
1677         New file.
1678         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
1679         New file.
1680         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
1681         New file.
1682         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
1683         New file.
1684         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
1685         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
1686         New file.
1687         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
1688         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
1689         New file.
1690         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
1691         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
1692         New file.
1693         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
1694         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
1695         New file.
1696         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
1697         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
1698         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
1699         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
1700         New file.
1701         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
1702         New file.
1703         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
1704         New file.
1705         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
1706         New file.
1707         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
1708         New file.
1709         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
1710         New file.
1711         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
1712         New file.
1713         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
1714         New file.
1715         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
1716         New file.
1717         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
1718         New file.
1719         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
1720         New file.
1721         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
1722         New file.
1723         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
1724         New file.
1725         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
1726         New file.
1727         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
1728         New file.
1729         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
1730         New file.
1731         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
1732         New file.
1733         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
1734         New file.
1735         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
1736         New file.
1737         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
1738         New file.
1739         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
1740         New file.
1741         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
1742         New file.
1743         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
1744         New file.
1745         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
1746         New file.
1747         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
1748         New file.
1749         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
1750         New file.
1751         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
1752         New file.
1753         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
1754         New file.
1755         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
1756         New file.
1757         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
1758         New file.
1759         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
1760         New file.
1761         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
1762         New file.
1763         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
1764         New file.
1765         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
1766         New file.
1767         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
1768         New file.
1769         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
1770         New file.
1771         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
1772         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
1773         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
1774         New file.
1775         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
1776         New file.
1777         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
1778         New file.
1779         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
1780         New file.
1781         * doc/gcc/funding.rst: New file.
1782         * doc/gcc/gcc-command-options.rst: New file.
1783         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
1784         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
1785         * doc/gcc/gcc-command-options/description.rst: New file.
1786         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
1787         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
1788         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
1789         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
1790         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
1791         New file.
1792         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
1793         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
1794         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
1795         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
1796         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
1797         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
1798         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
1799         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
1800         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
1801         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
1802         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
1803         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
1804         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
1805         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
1806         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
1807         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
1808         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
1809         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
1810         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
1811         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
1812         New file.
1813         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
1814         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
1815         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
1816         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
1817         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
1818         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
1819         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
1820         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
1821         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
1822         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
1823         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
1824         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
1825         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
1826         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
1827         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
1828         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
1829         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
1830         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
1831         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
1832         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
1833         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
1834         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
1835         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
1836         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
1837         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
1838         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
1839         New file.
1840         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
1841         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
1842         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
1843         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
1844         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
1845         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
1846         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
1847         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
1848         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
1849         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
1850         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
1851         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
1852         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
1853         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
1854         * doc/gcc/gcc-command-options/option-summary.rst: New file.
1855         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
1856         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
1857         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
1858         New file.
1859         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
1860         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
1861         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
1862         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
1863         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
1864         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
1865         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
1866         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
1867         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
1868         New file.
1869         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
1870         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
1871         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
1872         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
1873         New file.
1874         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
1875         * doc/gcc/gcc.rst: New file.
1876         * doc/gcc/gcov-dump.rst: New file.
1877         * doc/gcc/gcov-tool.rst: New file.
1878         * doc/gcc/gcov.rst: New file.
1879         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
1880         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
1881         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
1882         * doc/gcc/gcov/invoking-gcov.rst: New file.
1883         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
1884         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
1885         * doc/gcc/general-public-license-3.rst: New file.
1886         * doc/gcc/gnu-free-documentation-license.rst: New file.
1887         * doc/gcc/gnu-objective-c-features.rst: New file.
1888         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
1889         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
1890         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
1891         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
1892         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
1893         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
1894         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
1895         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
1896         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
1897         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
1898         * doc/gcc/gnu.rst: New file.
1899         * doc/gcc/have-you-found-a-bug.rst: New file.
1900         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
1901         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
1902         * doc/gcc/index.rst: New file.
1903         * doc/gcc/indices-and-tables.rst: New file.
1904         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
1905         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
1906         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
1907         New file.
1908         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
1909         New file.
1910         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
1911         New file.
1912         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
1913         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
1914         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
1915         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
1916         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
1917         New file.
1918         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
1919         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
1920         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
1921         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
1922         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
1923         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
1924         New file.
1925         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
1926         * doc/gcc/lto-dump.rst: New file.
1927         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
1928         * doc/gcc/reporting-bugs.rst: New file.
1929         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
1930         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
1931         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
1932         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
1933         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
1934         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
1935         New file.
1936         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
1937         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
1938         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
1939         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
1940         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
1941         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
1942         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
1943         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
1944         New file.
1945         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
1946         * doc/gccint/analyzer-internals.rst: New file.
1947         * doc/gccint/collect2.rst: New file.
1948         * doc/gccint/conf.py: New file.
1949         * doc/gccint/contributing-to-gcc-development.rst: New file.
1950         * doc/gccint/contributors-to-gcc.rst: New file.
1951         * doc/gccint/control-flow-graph.rst: New file.
1952         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
1953         * doc/gccint/control-flow-graph/edges.rst: New file.
1954         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
1955         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
1956         * doc/gccint/control-flow-graph/profile-information.rst: New file.
1957         * doc/gccint/copyright.rst: New file.
1958         * doc/gccint/debugging-the-analyzer.rst: New file.
1959         * doc/gccint/funding.rst: New file.
1960         * doc/gccint/gcc-and-portability.rst: New file.
1961         * doc/gccint/general-public-license-3.rst: New file.
1962         * doc/gccint/generic.rst: New file.
1963         * doc/gccint/generic/attributes-in-trees.rst: New file.
1964         * doc/gccint/generic/c-and-c++-trees.rst: New file.
1965         * doc/gccint/generic/declarations.rst: New file.
1966         * doc/gccint/generic/deficiencies.rst: New file.
1967         * doc/gccint/generic/expressions.rst: New file.
1968         * doc/gccint/generic/functions.rst: New file.
1969         * doc/gccint/generic/language-dependent-trees.rst: New file.
1970         * doc/gccint/generic/overview.rst: New file.
1971         * doc/gccint/generic/statements.rst: New file.
1972         * doc/gccint/generic/types.rst: New file.
1973         * doc/gccint/gimple-api.rst: New file.
1974         * doc/gccint/gimple.rst: New file.
1975         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
1976         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
1977         * doc/gccint/gimple/exception-handling.rst: New file.
1978         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
1979         * doc/gccint/gimple/gimple-sequences.rst: New file.
1980         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
1981         * doc/gccint/gimple/operands.rst: New file.
1982         * doc/gccint/gimple/sequence-iterators.rst: New file.
1983         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
1984         * doc/gccint/gimple/temporaries.rst: New file.
1985         * doc/gccint/gimple/tuple-representation.rst: New file.
1986         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
1987         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
1988         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
1989         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
1990         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
1991         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
1992         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
1993         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
1994         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
1995         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
1996         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
1997         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
1998         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
1999         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
2000         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
2001         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
2002         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
2003         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
2004         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
2005         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
2006         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
2007         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
2008         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
2009         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
2010         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
2011         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
2012         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
2013         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
2014         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
2015         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
2016         * doc/gccint/gnu-free-documentation-license.rst: New file.
2017         * doc/gccint/guidelines-for-diagnostics.rst: New file.
2018         * doc/gccint/guidelines-for-options.rst: New file.
2019         * doc/gccint/host-common.rst: New file.
2020         * doc/gccint/host-configuration.rst: New file.
2021         * doc/gccint/host-filesystem.rst: New file.
2022         * doc/gccint/host-makefile-fragments.rst: New file.
2023         * doc/gccint/host-misc.rst: New file.
2024         * doc/gccint/index.rst: New file.
2025         * doc/gccint/indices-and-tables.rst: New file.
2026         * doc/gccint/interfacing-to-gcc-output.rst: New file.
2027         * doc/gccint/introduction.rst: New file.
2028         * doc/gccint/language-front-ends-in-gcc.rst: New file.
2029         * doc/gccint/link-time-optimization.rst: New file.
2030         * doc/gccint/link-time-optimization/design-overview.rst: New file.
2031         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
2032         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
2033         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
2034         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
2035         New file.
2036         * doc/gccint/machine-descriptions.rst: New file.
2037         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
2038         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
2039         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
2040         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
2041         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
2042         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
2043         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
2044         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
2045         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
2046         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
2047         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
2048         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
2049         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
2050         * doc/gccint/machine-descriptions/iterators.rst: New file.
2051         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
2052         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
2053         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
2054         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
2055         New file.
2056         * doc/gccint/machine-descriptions/predicates.rst: New file.
2057         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
2058         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
2059         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
2060         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
2061         * doc/gccint/makefile-fragments.rst: New file.
2062         * doc/gccint/match-and-simplify.rst: New file.
2063         * doc/gccint/memory-management-and-type-information.rst: New file.
2064         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
2065         New file.
2066         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
2067         New file.
2068         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
2069         New file.
2070         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
2071         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
2072         New file.
2073         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
2074         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
2075         New file.
2076         * doc/gccint/option-file-format.rst: New file.
2077         * doc/gccint/option-properties.rst: New file.
2078         * doc/gccint/option-specification-files.rst: New file.
2079         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
2080         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
2081         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
2082         New file.
2083         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
2084         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
2085         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
2086         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
2087         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
2088         * doc/gccint/plugins.rst: New file.
2089         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
2090         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
2091         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
2092         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
2093         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
2094         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
2095         * doc/gccint/plugins/loading-plugins.rst: New file.
2096         * doc/gccint/plugins/plugin-api.rst: New file.
2097         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
2098         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
2099         * doc/gccint/rtl-representation.rst: New file.
2100         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
2101         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
2102         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
2103         * doc/gccint/rtl-representation/bit-fields.rst: New file.
2104         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
2105         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
2106         * doc/gccint/rtl-representation/conversions.rst: New file.
2107         * doc/gccint/rtl-representation/declarations.rst: New file.
2108         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
2109         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
2110         * doc/gccint/rtl-representation/insns.rst: New file.
2111         * doc/gccint/rtl-representation/machine-modes.rst: New file.
2112         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
2113         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
2114         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
2115         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
2116         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
2117         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
2118         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
2119         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
2120         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
2121         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
2122         * doc/gccint/rtl-representation/vector-operations.rst: New file.
2123         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
2124         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
2125         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
2126         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
2127         New file.
2128         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
2129         New file.
2130         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
2131         New file.
2132         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
2133         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
2134         New file.
2135         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
2136         New file.
2137         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
2138         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
2139         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
2140         New file.
2141         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
2142         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
2143         New file.
2144         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
2145         New file.
2146         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
2147         New file.
2148         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
2149         New file.
2150         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
2151         New file.
2152         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
2153         New file.
2154         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
2155         New file.
2156         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
2157         New file.
2158         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
2159         New file.
2160         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
2161         New file.
2162         * doc/gccint/standard-header-file-directories.rst: New file.
2163         * doc/gccint/static-analyzer.rst: New file.
2164         * doc/gccint/target-macros.rst: New file.
2165         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
2166         * doc/gccint/target-macros/addressing-modes.rst: New file.
2167         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
2168         * doc/gccint/target-macros/anchored-addresses.rst: New file.
2169         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
2170         * doc/gccint/target-macros/condition-code-status.rst: New file.
2171         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
2172         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
2173         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
2174         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
2175         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
2176         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
2177         New file.
2178         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
2179         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
2180         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
2181         New file.
2182         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
2183         New file.
2184         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
2185         New file.
2186         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2187         New file.
2188         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2189         New file.
2190         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2191         New file.
2192         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2193         New file.
2194         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
2195         New file.
2196         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
2197         New file.
2198         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
2199         New file.
2200         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
2201         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
2202         * doc/gccint/target-macros/emulating-tls.rst: New file.
2203         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
2204         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
2205         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
2206         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
2207         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
2208         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
2209         New file.
2210         * doc/gccint/target-macros/position-independent-code.rst: New file.
2211         * doc/gccint/target-macros/register-classes.rst: New file.
2212         * doc/gccint/target-macros/register-usage.rst: New file.
2213         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
2214         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
2215         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2216         New file.
2217         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
2218         New file.
2219         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
2220         New file.
2221         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
2222         New file.
2223         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
2224         New file.
2225         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
2226         New file.
2227         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
2228         New file.
2229         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
2230         New file.
2231         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
2232         New file.
2233         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
2234         New file.
2235         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2236         New file.
2237         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
2238         New file.
2239         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2240         New file.
2241         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
2242         New file.
2243         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
2244         New file.
2245         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
2246         New file.
2247         * doc/gccint/target-macros/storage-layout.rst: New file.
2248         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
2249         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
2250         * doc/gccint/target-makefile-fragments.rst: New file.
2251         * doc/gccint/testsuites.rst: New test.
2252         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
2253         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
2254         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
2255         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
2256         New test.
2257         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
2258         New test.
2259         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
2260         New test.
2261         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
2262         New test.
2263         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
2264         New test.
2265         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
2266         New test.
2267         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
2268         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
2269         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
2270         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
2271         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
2272         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
2273         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
2274         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
2275         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
2276         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
2277         New file.
2278         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
2279         New file.
2280         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
2281         New file.
2282         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
2283         New file.
2284         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
2285         New file.
2286         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
2287         New file.
2288         * doc/gccint/the-language.rst: New file.
2289         * doc/gccint/user-experience-guidelines.rst: New file.
2290         * doc/install/binaries.rst: New file.
2291         * doc/install/building.rst: New file.
2292         * doc/install/building/building-a-cross-compiler.rst: New file.
2293         * doc/install/building/building-a-native-compiler.rst: New file.
2294         * doc/install/building/building-in-parallel.rst: New file.
2295         * doc/install/building/building-the-ada-compiler.rst: New file.
2296         * doc/install/building/building-the-d-compiler.rst: New file.
2297         * doc/install/building/building-with-profile-feedback.rst: New file.
2298         * doc/install/conf.py: New file.
2299         * doc/install/configuration.rst: New file.
2300         * doc/install/copyright.rst: New file.
2301         * doc/install/downloading-gcc.rst: New file.
2302         * doc/install/final-installation.rst: New file.
2303         * doc/install/gnu-free-documentation-license.rst: New file.
2304         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
2305         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
2306         * doc/install/how-to-interpret-test-results.rst: New file.
2307         * doc/install/index.rst: New file.
2308         * doc/install/indices-and-tables.rst: New file.
2309         * doc/install/installing-gcc.rst: New file.
2310         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
2311         * doc/install/prerequisites.rst: New file.
2312         * doc/install/submitting-test-results.rst: New file.
2313         * doc/install/testing.rst: New file.
2315 2022-11-14  Martin Liska  <mliska@suse.cz>
2317         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
2319 2022-11-14  Martin Liska  <mliska@suse.cz>
2321         Revert:
2322         2022-11-14  Martin Liska  <mliska@suse.cz>
2324         * common/common-target.def: Port to RST.
2325         * target.def: Port to RST.
2327 2022-11-14  Martin Liska  <mliska@suse.cz>
2329         Revert:
2330         2022-11-09  Martin Liska  <mliska@suse.cz>
2332         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
2333         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
2334         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
2335         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
2336         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
2337         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
2338         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
2339         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
2340         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
2341         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
2342         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
2343         Likewise.
2344         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2345         Likewise.
2346         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2347         Likewise.
2348         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2349         Likewise.
2350         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2351         Likewise.
2352         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
2353         Likewise.
2354         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
2355         Likewise.
2356         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
2357         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
2358         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
2359         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
2360         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
2361         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
2362         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
2363         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
2364         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
2365         Likewise.
2366         * doc/gccint/target-macros/register-classes.rst: Likewise.
2367         * doc/gccint/target-macros/register-usage.rst: Likewise.
2368         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
2369         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2370         Likewise.
2371         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
2372         Likewise.
2373         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
2374         Likewise.
2375         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
2376         Likewise.
2377         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
2378         Likewise.
2379         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
2380         Likewise.
2381         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
2382         Likewise.
2383         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
2384         Likewise.
2385         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2386         Likewise.
2387         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
2388         Likewise.
2389         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2390         Likewise.
2391         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
2392         Likewise.
2393         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
2394         Likewise.
2395         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
2396         Likewise.
2397         * doc/gccint/target-macros/storage-layout.rst: Likewise.
2398         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
2400 2022-11-14  Martin Liska  <mliska@suse.cz>
2402         Revert:
2403         2022-11-14  Martin Liska  <mliska@suse.cz>
2405         * Makefile.in: Support Sphinx based documentation.
2406         * configure: Regenerate.
2407         * configure.ac: Support Sphinx based documentation.
2408         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
2410 2022-11-14  Martin Liska  <mliska@suse.cz>
2412         Revert:
2413         2022-11-09  Martin Liska  <mliska@suse.cz>
2415         * doc/gccint/target-macros/tm.rst.in: New file.
2417 2022-11-14  Martin Liska  <mliska@suse.cz>
2419         Revert:
2420         2022-11-14  Martin Liska  <mliska@suse.cz>
2422         * doc/analyzer.texi: Removed.
2423         * doc/avr-mmcu.texi: Removed.
2424         * doc/bugreport.texi: Removed.
2425         * doc/cfg.texi: Removed.
2426         * doc/collect2.texi: Removed.
2427         * doc/compat.texi: Removed.
2428         * doc/configfiles.texi: Removed.
2429         * doc/configterms.texi: Removed.
2430         * doc/contrib.texi: Removed.
2431         * doc/contribute.texi: Removed.
2432         * doc/cpp.texi: Removed.
2433         * doc/cppdiropts.texi: Removed.
2434         * doc/cppenv.texi: Removed.
2435         * doc/cppinternals.texi: Removed.
2436         * doc/cppopts.texi: Removed.
2437         * doc/cppwarnopts.texi: Removed.
2438         * doc/extend.texi: Removed.
2439         * doc/fragments.texi: Removed.
2440         * doc/frontends.texi: Removed.
2441         * doc/gcc.texi: Removed.
2442         * doc/gccint.texi: Removed.
2443         * doc/gcov-dump.texi: Removed.
2444         * doc/gcov-tool.texi: Removed.
2445         * doc/gcov.texi: Removed.
2446         * doc/generic.texi: Removed.
2447         * doc/gimple.texi: Removed.
2448         * doc/gnu.texi: Removed.
2449         * doc/gty.texi: Removed.
2450         * doc/headerdirs.texi: Removed.
2451         * doc/hostconfig.texi: Removed.
2452         * doc/implement-c.texi: Removed.
2453         * doc/implement-cxx.texi: Removed.
2454         * doc/include/fdl.texi: Removed.
2455         * doc/include/funding.texi: Removed.
2456         * doc/include/gcc-common.texi: Removed.
2457         * doc/include/gpl_v3.texi: Removed.
2458         * doc/install.texi: Removed.
2459         * doc/interface.texi: Removed.
2460         * doc/invoke.texi: Removed.
2461         * doc/languages.texi: Removed.
2462         * doc/libgcc.texi: Removed.
2463         * doc/loop.texi: Removed.
2464         * doc/lto-dump.texi: Removed.
2465         * doc/lto.texi: Removed.
2466         * doc/makefile.texi: Removed.
2467         * doc/match-and-simplify.texi: Removed.
2468         * doc/md.texi: Removed.
2469         * doc/objc.texi: Removed.
2470         * doc/optinfo.texi: Removed.
2471         * doc/options.texi: Removed.
2472         * doc/passes.texi: Removed.
2473         * doc/plugins.texi: Removed.
2474         * doc/poly-int.texi: Removed.
2475         * doc/portability.texi: Removed.
2476         * doc/rtl.texi: Removed.
2477         * doc/service.texi: Removed.
2478         * doc/sourcebuild.texi: Removed.
2479         * doc/standards.texi: Removed.
2480         * doc/tm.texi: Removed.
2481         * doc/tree-ssa.texi: Removed.
2482         * doc/trouble.texi: Removed.
2483         * doc/ux.texi: Removed.
2484         * doc/tm.texi.in: Removed.
2486 2022-11-14  Martin Liska  <mliska@suse.cz>
2488         Revert:
2489         2022-11-09  Martin Liska  <mliska@suse.cz>
2491         * target.def: Use proper lexers for target macros.
2492         * doc/gccint/target-macros/tm.rst.in: Re-generate.
2494 2022-11-14  Martin Liska  <mliska@suse.cz>
2496         Revert:
2497         2022-11-09  Martin Liska  <mliska@suse.cz>
2499         * Makefile.in: Support --with-sphinx-build.
2500         * configure.ac:
2501         * configure: Regenerate.
2503 2022-11-14  Martin Liska  <mliska@suse.cz>
2505         Revert:
2506         2022-11-14  Martin Liska  <mliska@suse.cz>
2508         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
2509         Fix cross manual refs.
2510         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
2511         Likewise.
2513 2022-11-14  Martin Liska  <mliska@suse.cz>
2515         Revert:
2516         2022-11-09  Martin Liska  <mliska@suse.cz>
2518         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
2519         Do not include tm.rst.in.
2520         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
2521         Likewise.
2522         * doc/gccint/target-macros/run-time-target-specification.rst:
2523         Likewise.
2525 2022-11-14  Martin Liska  <mliska@suse.cz>
2527         Revert:
2528         2022-11-09  Martin Liska  <mliska@suse.cz>
2530         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
2531         Port to RST.
2532         * doc/gccint/target-macros/storage-layout.rst: Likewise.
2533         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
2534         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
2536 2022-11-14  Martin Liska  <mliska@suse.cz>
2538         Revert:
2539         2022-11-09  Martin Liska  <mliska@suse.cz>
2541         * Makefile.in: Support installation if sphinx-build is missing.
2543 2022-11-14  Martin Liska  <mliska@suse.cz>
2545         Revert:
2546         2022-11-09  Martin Liska  <mliska@suse.cz>
2548         * Makefile.in: Add vpath default for .rst files.
2549         * config/avr/avr-devices.cc: For port RST.
2550         * config/avr/avr-mcus.def: Update path.
2551         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
2552         * config/avr/gen-avr-mmcu-rst.cc: ...here.
2553         * config/avr/t-avr: Update to rst.
2554         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
2556 2022-11-14  Martin Liska  <mliska@suse.cz>
2558         Revert:
2559         2022-11-09  Martin Liska  <mliska@suse.cz>
2561         * opts.cc (get_option_html_page): Port to sphinx URLs.
2562         (get_option_url): Likewise.
2563         (test_get_option_html_page): Likewise.
2565 2022-11-14  Martin Liska  <mliska@suse.cz>
2567         Revert:
2568         2022-11-14  Martin Liska  <mliska@suse.cz>
2570         * doc/cpp/character-sets.rst:
2571         Add trailing newline.
2572         * doc/cpp/conditional-syntax.rst:
2573         Add trailing newline.
2574         * doc/cpp/conditional-uses.rst:
2575         Add trailing newline.
2576         * doc/cpp/conditionals.rst:
2577         Add trailing newline.
2578         * doc/cpp/copyright.rst:
2579         Add trailing newline.
2580         * doc/cpp/deleted-code.rst:
2581         Add trailing newline.
2582         * doc/cpp/diagnostics.rst:
2583         Add trailing newline.
2584         * doc/cpp/environment-variables.rst:
2585         Add trailing newline.
2586         * doc/cpp/gnu-free-documentation-license.rst:
2587         Add trailing newline.
2588         * doc/cpp/header-files.rst:
2589         Add trailing newline.
2590         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
2591         Add trailing newline.
2592         * doc/cpp/header-files/computed-includes.rst:
2593         Add trailing newline.
2594         * doc/cpp/header-files/include-operation.rst:
2595         Add trailing newline.
2596         * doc/cpp/header-files/include-syntax.rst:
2597         Add trailing newline.
2598         * doc/cpp/header-files/once-only-headers.rst:
2599         Add trailing newline.
2600         * doc/cpp/header-files/search-path.rst:
2601         Add trailing newline.
2602         * doc/cpp/header-files/system-headers.rst:
2603         Add trailing newline.
2604         * doc/cpp/header-files/wrapper-headers.rst:
2605         Add trailing newline.
2606         * doc/cpp/implementation-defined-behavior.rst:
2607         Add trailing newline.
2608         * doc/cpp/implementation-details.rst:
2609         Add trailing newline.
2610         * doc/cpp/implementation-limits.rst:
2611         Add trailing newline.
2612         * doc/cpp/index.rst:
2613         Add trailing newline.
2614         * doc/cpp/indices-and-tables.rst:
2615         Add trailing newline.
2616         * doc/cpp/initial-processing.rst:
2617         Add trailing newline.
2618         * doc/cpp/invocation.rst:
2619         Add trailing newline.
2620         * doc/cpp/line-control.rst:
2621         Add trailing newline.
2622         * doc/cpp/macros.rst:
2623         Add trailing newline.
2624         * doc/cpp/macros/concatenation.rst:
2625         Add trailing newline.
2626         * doc/cpp/macros/directives-within-macro-arguments.rst:
2627         Add trailing newline.
2628         * doc/cpp/macros/function-like-macros.rst:
2629         Add trailing newline.
2630         * doc/cpp/macros/macro-arguments.rst:
2631         Add trailing newline.
2632         * doc/cpp/macros/macro-pitfalls.rst:
2633         Add trailing newline.
2634         * doc/cpp/macros/object-like-macros.rst:
2635         Add trailing newline.
2636         * doc/cpp/macros/predefined-macros.rst:
2637         Add trailing newline.
2638         * doc/cpp/macros/stringizing.rst:
2639         Add trailing newline.
2640         * doc/cpp/macros/undefining-and-redefining-macros.rst:
2641         Add trailing newline.
2642         * doc/cpp/macros/variadic-macros.rst:
2643         Add trailing newline.
2644         * doc/cpp/obsolete-features.rst:
2645         Add trailing newline.
2646         * doc/cpp/other-directives.rst:
2647         Add trailing newline.
2648         * doc/cpp/overview.rst:
2649         Add trailing newline.
2650         * doc/cpp/pragmas.rst:
2651         Add trailing newline.
2652         * doc/cpp/preprocessor-output.rst:
2653         Add trailing newline.
2654         * doc/cpp/the-preprocessing-language.rst:
2655         Add trailing newline.
2656         * doc/cpp/tokenization.rst:
2657         Add trailing newline.
2658         * doc/cpp/traditional-lexical-analysis.rst:
2659         Add trailing newline.
2660         * doc/cpp/traditional-macros.rst:
2661         Add trailing newline.
2662         * doc/cpp/traditional-miscellany.rst:
2663         Add trailing newline.
2664         * doc/cpp/traditional-mode.rst:
2665         Add trailing newline.
2666         * doc/cpp/traditional-warnings.rst:
2667         Add trailing newline.
2668         * doc/cppinternals/copyright.rst:
2669         Add trailing newline.
2670         * doc/cppinternals/cppinternals.rst:
2671         Add trailing newline.
2672         * doc/cppinternals/cpplib.rst:
2673         Add trailing newline.
2674         * doc/cppinternals/files.rst:
2675         Add trailing newline.
2676         * doc/cppinternals/index.rst:
2677         Add trailing newline.
2678         * doc/cppinternals/indices-and-tables.rst:
2679         Add trailing newline.
2680         * doc/cppinternals/internal-representation-of-macros.rst:
2681         Add trailing newline.
2682         * doc/cppinternals/just-which-line-number-anyway.rst:
2683         Add trailing newline.
2684         * doc/cppinternals/lexing-a-line.rst:
2685         Add trailing newline.
2686         * doc/cppinternals/lexing-a-token.rst:
2687         Add trailing newline.
2688         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
2689         Add trailing newline.
2690         * doc/cppinternals/macro-expansion-overview.rst:
2691         Add trailing newline.
2692         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
2693         Add trailing newline.
2694         * doc/cppinternals/multiple-include-optimization.rst:
2695         Add trailing newline.
2696         * doc/cppinternals/overview.rst:
2697         Add trailing newline.
2698         * doc/cppinternals/representation-of-line-numbers.rst:
2699         Add trailing newline.
2700         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
2701         Add trailing newline.
2702         * doc/gcc/binary-compatibility.rst:
2703         Add trailing newline.
2704         * doc/gcc/c++-implementation-defined-behavior.rst:
2705         Add trailing newline.
2706         * doc/gcc/c-implementation-defined-behavior.rst:
2707         Add trailing newline.
2708         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
2709         Add trailing newline.
2710         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
2711         Add trailing newline.
2712         * doc/gcc/c-implementation-defined-behavior/characters.rst:
2713         Add trailing newline.
2714         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
2715         Add trailing newline.
2716         * doc/gcc/c-implementation-defined-behavior/environment.rst:
2717         Add trailing newline.
2718         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
2719         Add trailing newline.
2720         * doc/gcc/c-implementation-defined-behavior/hints.rst:
2721         Add trailing newline.
2722         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
2723         Add trailing newline.
2724         * doc/gcc/c-implementation-defined-behavior/integers.rst:
2725         Add trailing newline.
2726         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
2727         Add trailing newline.
2728         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
2729         Add trailing newline.
2730         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
2731         Add trailing newline.
2732         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
2733         Add trailing newline.
2734         * doc/gcc/c-implementation-defined-behavior/statements.rst:
2735         Add trailing newline.
2736         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
2737         Add trailing newline.
2738         * doc/gcc/c-implementation-defined-behavior/translation.rst:
2739         Add trailing newline.
2740         * doc/gcc/conditionally-supported-behavior.rst:
2741         Add trailing newline.
2742         * doc/gcc/contributing-to-gcc-development.rst:
2743         Add trailing newline.
2744         * doc/gcc/contributors-to-gcc.rst:
2745         Add trailing newline.
2746         * doc/gcc/copyright.rst:
2747         Add trailing newline.
2748         * doc/gcc/exception-handling.rst:
2749         Add trailing newline.
2750         * doc/gcc/extensions-to-the-c++-language.rst:
2751         Add trailing newline.
2752         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
2753         Add trailing newline.
2754         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
2755         Add trailing newline.
2756         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
2757         Add trailing newline.
2758         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
2759         Add trailing newline.
2760         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
2761         Add trailing newline.
2762         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
2763         Add trailing newline.
2764         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
2765         Add trailing newline.
2766         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
2767         Add trailing newline.
2768         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
2769         Add trailing newline.
2770         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
2771         Add trailing newline.
2772         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
2773         Add trailing newline.
2774         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
2775         Add trailing newline.
2776         * doc/gcc/extensions-to-the-c-language-family.rst:
2777         Add trailing newline.
2778         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
2779         Add trailing newline.
2780         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
2781         Add trailing newline.
2782         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
2783         Add trailing newline.
2784         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
2785         Add trailing newline.
2786         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
2787         Add trailing newline.
2788         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
2789         Add trailing newline.
2790         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
2791         Add trailing newline.
2792         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
2793         Add trailing newline.
2794         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
2795         Add trailing newline.
2796         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
2797         Add trailing newline.
2798         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
2799         Add trailing newline.
2800         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
2801         Add trailing newline.
2802         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
2803         Add trailing newline.
2804         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
2805         Add trailing newline.
2806         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
2807         Add trailing newline.
2808         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
2809         Add trailing newline.
2810         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
2811         Add trailing newline.
2812         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
2813         Add trailing newline.
2814         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
2815         Add trailing newline.
2816         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
2817         Add trailing newline.
2818         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
2819         Add trailing newline.
2820         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
2821         Add trailing newline.
2822         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
2823         Add trailing newline.
2824         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
2825         Add trailing newline.
2826         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
2827         Add trailing newline.
2828         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
2829         Add trailing newline.
2830         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
2831         Add trailing newline.
2832         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
2833         Add trailing newline.
2834         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
2835         Add trailing newline.
2836         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
2837         Add trailing newline.
2838         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
2839         Add trailing newline.
2840         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
2841         Add trailing newline.
2842         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
2843         Add trailing newline.
2844         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
2845         Add trailing newline.
2846         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
2847         Add trailing newline.
2848         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
2849         Add trailing newline.
2850         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
2851         Add trailing newline.
2852         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
2853         Add trailing newline.
2854         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
2855         Add trailing newline.
2856         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
2857         Add trailing newline.
2858         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
2859         Add trailing newline.
2860         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
2861         Add trailing newline.
2862         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
2863         Add trailing newline.
2864         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
2865         Add trailing newline.
2866         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
2867         Add trailing newline.
2868         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
2869         Add trailing newline.
2870         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
2871         Add trailing newline.
2872         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
2873         Add trailing newline.
2874         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
2875         Add trailing newline.
2876         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
2877         Add trailing newline.
2878         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
2879         Add trailing newline.
2880         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
2881         Add trailing newline.
2882         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
2883         Add trailing newline.
2884         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
2885         Add trailing newline.
2886         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
2887         Add trailing newline.
2888         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
2889         Add trailing newline.
2890         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
2891         Add trailing newline.
2892         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
2893         Add trailing newline.
2894         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
2895         Add trailing newline.
2896         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
2897         Add trailing newline.
2898         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
2899         Add trailing newline.
2900         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
2901         Add trailing newline.
2902         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
2903         Add trailing newline.
2904         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
2905         Add trailing newline.
2906         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
2907         Add trailing newline.
2908         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
2909         Add trailing newline.
2910         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
2911         Add trailing newline.
2912         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
2913         Add trailing newline.
2914         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
2915         Add trailing newline.
2916         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
2917         Add trailing newline.
2918         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
2919         Add trailing newline.
2920         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
2921         Add trailing newline.
2922         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
2923         Add trailing newline.
2924         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
2925         Add trailing newline.
2926         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
2927         Add trailing newline.
2928         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
2929         Add trailing newline.
2930         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
2931         Add trailing newline.
2932         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
2933         Add trailing newline.
2934         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
2935         Add trailing newline.
2936         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
2937         Add trailing newline.
2938         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
2939         Add trailing newline.
2940         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
2941         Add trailing newline.
2942         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
2943         Add trailing newline.
2944         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
2945         Add trailing newline.
2946         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
2947         Add trailing newline.
2948         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
2949         Add trailing newline.
2950         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
2951         Add trailing newline.
2952         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
2953         Add trailing newline.
2954         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
2955         Add trailing newline.
2956         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
2957         Add trailing newline.
2958         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
2959         Add trailing newline.
2960         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
2961         Add trailing newline.
2962         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
2963         Add trailing newline.
2964         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
2965         Add trailing newline.
2966         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
2967         Add trailing newline.
2968         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
2969         Add trailing newline.
2970         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
2971         Add trailing newline.
2972         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
2973         Add trailing newline.
2974         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
2975         Add trailing newline.
2976         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
2977         Add trailing newline.
2978         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
2979         Add trailing newline.
2980         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
2981         Add trailing newline.
2982         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
2983         Add trailing newline.
2984         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
2985         Add trailing newline.
2986         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
2987         Add trailing newline.
2988         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
2989         Add trailing newline.
2990         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
2991         Add trailing newline.
2992         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
2993         Add trailing newline.
2994         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
2995         Add trailing newline.
2996         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
2997         Add trailing newline.
2998         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
2999         Add trailing newline.
3000         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
3001         Add trailing newline.
3002         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
3003         Add trailing newline.
3004         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
3005         Add trailing newline.
3006         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
3007         Add trailing newline.
3008         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
3009         Add trailing newline.
3010         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
3011         Add trailing newline.
3012         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
3013         Add trailing newline.
3014         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
3015         Add trailing newline.
3016         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
3017         Add trailing newline.
3018         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
3019         Add trailing newline.
3020         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
3021         Add trailing newline.
3022         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
3023         Add trailing newline.
3024         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
3025         Add trailing newline.
3026         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
3027         Add trailing newline.
3028         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
3029         Add trailing newline.
3030         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
3031         Add trailing newline.
3032         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
3033         Add trailing newline.
3034         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
3035         Add trailing newline.
3036         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
3037         Add trailing newline.
3038         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
3039         Add trailing newline.
3040         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
3041         Add trailing newline.
3042         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
3043         Add trailing newline.
3044         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
3045         Add trailing newline.
3046         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
3047         Add trailing newline.
3048         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
3049         Add trailing newline.
3050         * doc/gcc/funding.rst:
3051         Add trailing newline.
3052         * doc/gcc/gcc-command-options.rst:
3053         Add trailing newline.
3054         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
3055         Add trailing newline.
3056         * doc/gcc/gcc-command-options/description.rst:
3057         Add trailing newline.
3058         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
3059         Add trailing newline.
3060         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
3061         Add trailing newline.
3062         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
3063         Add trailing newline.
3064         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
3065         Add trailing newline.
3066         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
3067         Add trailing newline.
3068         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
3069         Add trailing newline.
3070         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
3071         Add trailing newline.
3072         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
3073         Add trailing newline.
3074         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
3075         Add trailing newline.
3076         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
3077         Add trailing newline.
3078         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
3079         Add trailing newline.
3080         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
3081         Add trailing newline.
3082         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
3083         Add trailing newline.
3084         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
3085         Add trailing newline.
3086         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
3087         Add trailing newline.
3088         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
3089         Add trailing newline.
3090         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
3091         Add trailing newline.
3092         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
3093         Add trailing newline.
3094         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
3095         Add trailing newline.
3096         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
3097         Add trailing newline.
3098         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
3099         Add trailing newline.
3100         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
3101         Add trailing newline.
3102         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
3103         Add trailing newline.
3104         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
3105         Add trailing newline.
3106         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
3107         Add trailing newline.
3108         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
3109         Add trailing newline.
3110         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
3111         Add trailing newline.
3112         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
3113         Add trailing newline.
3114         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
3115         Add trailing newline.
3116         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
3117         Add trailing newline.
3118         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
3119         Add trailing newline.
3120         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
3121         Add trailing newline.
3122         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
3123         Add trailing newline.
3124         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
3125         Add trailing newline.
3126         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
3127         Add trailing newline.
3128         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
3129         Add trailing newline.
3130         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
3131         Add trailing newline.
3132         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
3133         Add trailing newline.
3134         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
3135         Add trailing newline.
3136         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
3137         Add trailing newline.
3138         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
3139         Add trailing newline.
3140         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
3141         Add trailing newline.
3142         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
3143         Add trailing newline.
3144         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
3145         Add trailing newline.
3146         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
3147         Add trailing newline.
3148         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
3149         Add trailing newline.
3150         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
3151         Add trailing newline.
3152         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
3153         Add trailing newline.
3154         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
3155         Add trailing newline.
3156         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
3157         Add trailing newline.
3158         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
3159         Add trailing newline.
3160         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
3161         Add trailing newline.
3162         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
3163         Add trailing newline.
3164         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
3165         Add trailing newline.
3166         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
3167         Add trailing newline.
3168         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
3169         Add trailing newline.
3170         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
3171         Add trailing newline.
3172         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
3173         Add trailing newline.
3174         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
3175         Add trailing newline.
3176         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
3177         Add trailing newline.
3178         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
3179         Add trailing newline.
3180         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
3181         Add trailing newline.
3182         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
3183         Add trailing newline.
3184         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
3185         Add trailing newline.
3186         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
3187         Add trailing newline.
3188         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
3189         Add trailing newline.
3190         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
3191         Add trailing newline.
3192         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
3193         Add trailing newline.
3194         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
3195         Add trailing newline.
3196         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
3197         Add trailing newline.
3198         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
3199         Add trailing newline.
3200         * doc/gcc/gcc-command-options/options-for-linking.rst:
3201         Add trailing newline.
3202         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
3203         Add trailing newline.
3204         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3205         Add trailing newline.
3206         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3207         Add trailing newline.
3208         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
3209         Add trailing newline.
3210         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
3211         Add trailing newline.
3212         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
3213         Add trailing newline.
3214         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
3215         Add trailing newline.
3216         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
3217         Add trailing newline.
3218         * doc/gcc/gcc.rst:
3219         Add trailing newline.
3220         * doc/gcc/gcov-dump.rst:
3221         Add trailing newline.
3222         * doc/gcc/gcov-tool.rst:
3223         Add trailing newline.
3224         * doc/gcc/gcov.rst:
3225         Add trailing newline.
3226         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
3227         Add trailing newline.
3228         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
3229         Add trailing newline.
3230         * doc/gcc/gcov/introduction-to-gcov.rst:
3231         Add trailing newline.
3232         * doc/gcc/gcov/invoking-gcov.rst:
3233         Add trailing newline.
3234         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
3235         Add trailing newline.
3236         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
3237         Add trailing newline.
3238         * doc/gcc/general-public-license-3.rst:
3239         Add trailing newline.
3240         * doc/gcc/gnu-free-documentation-license.rst:
3241         Add trailing newline.
3242         * doc/gcc/gnu-objective-c-features.rst:
3243         Add trailing newline.
3244         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
3245         Add trailing newline.
3246         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
3247         Add trailing newline.
3248         * doc/gcc/gnu-objective-c-features/exceptions.rst:
3249         Add trailing newline.
3250         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
3251         Add trailing newline.
3252         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
3253         Add trailing newline.
3254         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
3255         Add trailing newline.
3256         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
3257         Add trailing newline.
3258         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
3259         Add trailing newline.
3260         * doc/gcc/gnu-objective-c-features/synchronization.rst:
3261         Add trailing newline.
3262         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
3263         Add trailing newline.
3264         * doc/gcc/gnu.rst:
3265         Add trailing newline.
3266         * doc/gcc/have-you-found-a-bug.rst:
3267         Add trailing newline.
3268         * doc/gcc/how-and-where-to-report-bugs.rst:
3269         Add trailing newline.
3270         * doc/gcc/how-to-get-help-with-gcc.rst:
3271         Add trailing newline.
3272         * doc/gcc/index.rst:
3273         Add trailing newline.
3274         * doc/gcc/indices-and-tables.rst:
3275         Add trailing newline.
3276         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
3277         Add trailing newline.
3278         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
3279         Add trailing newline.
3280         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
3281         Add trailing newline.
3282         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
3283         Add trailing newline.
3284         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
3285         Add trailing newline.
3286         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
3287         Add trailing newline.
3288         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
3289         Add trailing newline.
3290         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
3291         Add trailing newline.
3292         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
3293         Add trailing newline.
3294         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
3295         Add trailing newline.
3296         * doc/gcc/language-standards-supported-by-gcc.rst:
3297         Add trailing newline.
3298         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
3299         Add trailing newline.
3300         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
3301         Add trailing newline.
3302         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
3303         Add trailing newline.
3304         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
3305         Add trailing newline.
3306         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
3307         Add trailing newline.
3308         * doc/gcc/lto-dump.rst:
3309         Add trailing newline.
3310         * doc/gcc/programming-languages-supported-by-gcc.rst:
3311         Add trailing newline.
3312         * doc/gcc/reporting-bugs.rst:
3313         Add trailing newline.
3314         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
3315         Add trailing newline.
3316         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
3317         Add trailing newline.
3318         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
3319         Add trailing newline.
3320         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
3321         Add trailing newline.
3322         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3323         Add trailing newline.
3324         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
3325         Add trailing newline.
3326         * doc/gccint/analysis-and-representation-of-loops.rst:
3327         Add trailing newline.
3328         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
3329         Add trailing newline.
3330         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
3331         Add trailing newline.
3332         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
3333         Add trailing newline.
3334         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
3335         Add trailing newline.
3336         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
3337         Add trailing newline.
3338         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
3339         Add trailing newline.
3340         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
3341         Add trailing newline.
3342         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
3343         Add trailing newline.
3344         * doc/gccint/analyzer-internals.rst:
3345         Add trailing newline.
3346         * doc/gccint/collect2.rst:
3347         Add trailing newline.
3348         * doc/gccint/contributing-to-gcc-development.rst:
3349         Add trailing newline.
3350         * doc/gccint/contributors-to-gcc.rst:
3351         Add trailing newline.
3352         * doc/gccint/control-flow-graph.rst:
3353         Add trailing newline.
3354         * doc/gccint/control-flow-graph/basic-blocks.rst:
3355         Add trailing newline.
3356         * doc/gccint/control-flow-graph/edges.rst:
3357         Add trailing newline.
3358         * doc/gccint/control-flow-graph/liveness-information.rst:
3359         Add trailing newline.
3360         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
3361         Add trailing newline.
3362         * doc/gccint/control-flow-graph/profile-information.rst:
3363         Add trailing newline.
3364         * doc/gccint/copyright.rst:
3365         Add trailing newline.
3366         * doc/gccint/debugging-the-analyzer.rst:
3367         Add trailing newline.
3368         * doc/gccint/funding.rst:
3369         Add trailing newline.
3370         * doc/gccint/gcc-and-portability.rst:
3371         Add trailing newline.
3372         * doc/gccint/general-public-license-3.rst:
3373         Add trailing newline.
3374         * doc/gccint/generic.rst:
3375         Add trailing newline.
3376         * doc/gccint/generic/attributes-in-trees.rst:
3377         Add trailing newline.
3378         * doc/gccint/generic/c-and-c++-trees.rst:
3379         Add trailing newline.
3380         * doc/gccint/generic/declarations.rst:
3381         Add trailing newline.
3382         * doc/gccint/generic/deficiencies.rst:
3383         Add trailing newline.
3384         * doc/gccint/generic/expressions.rst:
3385         Add trailing newline.
3386         * doc/gccint/generic/functions.rst:
3387         Add trailing newline.
3388         * doc/gccint/generic/language-dependent-trees.rst:
3389         Add trailing newline.
3390         * doc/gccint/generic/overview.rst:
3391         Add trailing newline.
3392         * doc/gccint/generic/statements.rst:
3393         Add trailing newline.
3394         * doc/gccint/generic/types.rst:
3395         Add trailing newline.
3396         * doc/gccint/gimple-api.rst:
3397         Add trailing newline.
3398         * doc/gccint/gimple.rst:
3399         Add trailing newline.
3400         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
3401         Add trailing newline.
3402         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
3403         Add trailing newline.
3404         * doc/gccint/gimple/exception-handling.rst:
3405         Add trailing newline.
3406         * doc/gccint/gimple/gimple-instruction-set.rst:
3407         Add trailing newline.
3408         * doc/gccint/gimple/gimple-sequences.rst:
3409         Add trailing newline.
3410         * doc/gccint/gimple/manipulating-gimple-statements.rst:
3411         Add trailing newline.
3412         * doc/gccint/gimple/operands.rst:
3413         Add trailing newline.
3414         * doc/gccint/gimple/sequence-iterators.rst:
3415         Add trailing newline.
3416         * doc/gccint/gimple/statement-and-operand-traversals.rst:
3417         Add trailing newline.
3418         * doc/gccint/gimple/temporaries.rst:
3419         Add trailing newline.
3420         * doc/gccint/gimple/tuple-representation.rst:
3421         Add trailing newline.
3422         * doc/gccint/gimple/tuple-specific-accessors.rst:
3423         Add trailing newline.
3424         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
3425         Add trailing newline.
3426         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
3427         Add trailing newline.
3428         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
3429         Add trailing newline.
3430         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
3431         Add trailing newline.
3432         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
3433         Add trailing newline.
3434         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
3435         Add trailing newline.
3436         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
3437         Add trailing newline.
3438         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
3439         Add trailing newline.
3440         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
3441         Add trailing newline.
3442         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
3443         Add trailing newline.
3444         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
3445         Add trailing newline.
3446         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
3447         Add trailing newline.
3448         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
3449         Add trailing newline.
3450         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
3451         Add trailing newline.
3452         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
3453         Add trailing newline.
3454         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
3455         Add trailing newline.
3456         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
3457         Add trailing newline.
3458         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
3459         Add trailing newline.
3460         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
3461         Add trailing newline.
3462         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
3463         Add trailing newline.
3464         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
3465         Add trailing newline.
3466         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
3467         Add trailing newline.
3468         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
3469         Add trailing newline.
3470         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
3471         Add trailing newline.
3472         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
3473         Add trailing newline.
3474         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
3475         Add trailing newline.
3476         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
3477         Add trailing newline.
3478         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
3479         Add trailing newline.
3480         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
3481         Add trailing newline.
3482         * doc/gccint/gnu-free-documentation-license.rst:
3483         Add trailing newline.
3484         * doc/gccint/guidelines-for-diagnostics.rst:
3485         Add trailing newline.
3486         * doc/gccint/guidelines-for-options.rst:
3487         Add trailing newline.
3488         * doc/gccint/host-common.rst:
3489         Add trailing newline.
3490         * doc/gccint/host-configuration.rst:
3491         Add trailing newline.
3492         * doc/gccint/host-filesystem.rst:
3493         Add trailing newline.
3494         * doc/gccint/host-makefile-fragments.rst:
3495         Add trailing newline.
3496         * doc/gccint/host-misc.rst:
3497         Add trailing newline.
3498         * doc/gccint/index.rst:
3499         Add trailing newline.
3500         * doc/gccint/indices-and-tables.rst:
3501         Add trailing newline.
3502         * doc/gccint/interfacing-to-gcc-output.rst:
3503         Add trailing newline.
3504         * doc/gccint/introduction.rst:
3505         Add trailing newline.
3506         * doc/gccint/language-front-ends-in-gcc.rst:
3507         Add trailing newline.
3508         * doc/gccint/link-time-optimization.rst:
3509         Add trailing newline.
3510         * doc/gccint/link-time-optimization/design-overview.rst:
3511         Add trailing newline.
3512         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
3513         Add trailing newline.
3514         * doc/gccint/link-time-optimization/lto-file-sections.rst:
3515         Add trailing newline.
3516         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
3517         Add trailing newline.
3518         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
3519         Add trailing newline.
3520         * doc/gccint/machine-descriptions.rst:
3521         Add trailing newline.
3522         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
3523         Add trailing newline.
3524         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
3525         Add trailing newline.
3526         * doc/gccint/machine-descriptions/conditional-execution.rst:
3527         Add trailing newline.
3528         * doc/gccint/machine-descriptions/constant-definitions.rst:
3529         Add trailing newline.
3530         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
3531         Add trailing newline.
3532         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
3533         Add trailing newline.
3534         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
3535         Add trailing newline.
3536         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
3537         Add trailing newline.
3538         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
3539         Add trailing newline.
3540         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
3541         Add trailing newline.
3542         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
3543         Add trailing newline.
3544         * doc/gccint/machine-descriptions/instruction-attributes.rst:
3545         Add trailing newline.
3546         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
3547         Add trailing newline.
3548         * doc/gccint/machine-descriptions/iterators.rst:
3549         Add trailing newline.
3550         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
3551         Add trailing newline.
3552         * doc/gccint/machine-descriptions/operand-constraints.rst:
3553         Add trailing newline.
3554         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
3555         Add trailing newline.
3556         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
3557         Add trailing newline.
3558         * doc/gccint/machine-descriptions/predicates.rst:
3559         Add trailing newline.
3560         * doc/gccint/machine-descriptions/rtl-template.rst:
3561         Add trailing newline.
3562         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
3563         Add trailing newline.
3564         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
3565         Add trailing newline.
3566         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
3567         Add trailing newline.
3568         * doc/gccint/makefile-fragments.rst:
3569         Add trailing newline.
3570         * doc/gccint/match-and-simplify.rst:
3571         Add trailing newline.
3572         * doc/gccint/memory-management-and-type-information.rst:
3573         Add trailing newline.
3574         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
3575         Add trailing newline.
3576         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
3577         Add trailing newline.
3578         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
3579         Add trailing newline.
3580         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
3581         Add trailing newline.
3582         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
3583         Add trailing newline.
3584         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
3585         Add trailing newline.
3586         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
3587         Add trailing newline.
3588         * doc/gccint/option-file-format.rst:
3589         Add trailing newline.
3590         * doc/gccint/option-properties.rst:
3591         Add trailing newline.
3592         * doc/gccint/option-specification-files.rst:
3593         Add trailing newline.
3594         * doc/gccint/passes-and-files-of-the-compiler.rst:
3595         Add trailing newline.
3596         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
3597         Add trailing newline.
3598         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
3599         Add trailing newline.
3600         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
3601         Add trailing newline.
3602         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
3603         Add trailing newline.
3604         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
3605         Add trailing newline.
3606         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
3607         Add trailing newline.
3608         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
3609         Add trailing newline.
3610         * doc/gccint/plugins.rst:
3611         Add trailing newline.
3612         * doc/gccint/plugins/building-gcc-plugins.rst:
3613         Add trailing newline.
3614         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
3615         Add trailing newline.
3616         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
3617         Add trailing newline.
3618         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
3619         Add trailing newline.
3620         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
3621         Add trailing newline.
3622         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
3623         Add trailing newline.
3624         * doc/gccint/plugins/loading-plugins.rst:
3625         Add trailing newline.
3626         * doc/gccint/plugins/plugin-api.rst:
3627         Add trailing newline.
3628         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
3629         Add trailing newline.
3630         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
3631         Add trailing newline.
3632         * doc/gccint/rtl-representation.rst:
3633         Add trailing newline.
3634         * doc/gccint/rtl-representation/access-to-operands.rst:
3635         Add trailing newline.
3636         * doc/gccint/rtl-representation/access-to-special-operands.rst:
3637         Add trailing newline.
3638         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
3639         Add trailing newline.
3640         * doc/gccint/rtl-representation/bit-fields.rst:
3641         Add trailing newline.
3642         * doc/gccint/rtl-representation/comparison-operations.rst:
3643         Add trailing newline.
3644         * doc/gccint/rtl-representation/constant-expression-types.rst:
3645         Add trailing newline.
3646         * doc/gccint/rtl-representation/conversions.rst:
3647         Add trailing newline.
3648         * doc/gccint/rtl-representation/declarations.rst:
3649         Add trailing newline.
3650         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
3651         Add trailing newline.
3652         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
3653         Add trailing newline.
3654         * doc/gccint/rtl-representation/insns.rst:
3655         Add trailing newline.
3656         * doc/gccint/rtl-representation/machine-modes.rst:
3657         Add trailing newline.
3658         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
3659         Add trailing newline.
3660         * doc/gccint/rtl-representation/reading-rtl.rst:
3661         Add trailing newline.
3662         * doc/gccint/rtl-representation/registers-and-memory.rst:
3663         Add trailing newline.
3664         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
3665         Add trailing newline.
3666         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
3667         Add trailing newline.
3668         * doc/gccint/rtl-representation/rtl-object-types.rst:
3669         Add trailing newline.
3670         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
3671         Add trailing newline.
3672         * doc/gccint/rtl-representation/side-effect-expressions.rst:
3673         Add trailing newline.
3674         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
3675         Add trailing newline.
3676         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
3677         Add trailing newline.
3678         * doc/gccint/rtl-representation/vector-operations.rst:
3679         Add trailing newline.
3680         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
3681         Add trailing newline.
3682         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
3683         Add trailing newline.
3684         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
3685         Add trailing newline.
3686         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
3687         Add trailing newline.
3688         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
3689         Add trailing newline.
3690         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
3691         Add trailing newline.
3692         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
3693         Add trailing newline.
3694         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
3695         Add trailing newline.
3696         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
3697         Add trailing newline.
3698         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
3699         Add trailing newline.
3700         * doc/gccint/source-tree-structure-and-build-system.rst:
3701         Add trailing newline.
3702         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
3703         Add trailing newline.
3704         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
3705         Add trailing newline.
3706         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
3707         Add trailing newline.
3708         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
3709         Add trailing newline.
3710         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
3711         Add trailing newline.
3712         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
3713         Add trailing newline.
3714         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
3715         Add trailing newline.
3716         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
3717         Add trailing newline.
3718         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
3719         Add trailing newline.
3720         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
3721         Add trailing newline.
3722         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
3723         Add trailing newline.
3724         * doc/gccint/standard-header-file-directories.rst:
3725         Add trailing newline.
3726         * doc/gccint/static-analyzer.rst:
3727         Add trailing newline.
3728         * doc/gccint/target-macros.rst:
3729         Add trailing newline.
3730         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
3731         Add trailing newline.
3732         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
3733         Add trailing newline.
3734         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
3735         Add trailing newline.
3736         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
3737         Add trailing newline.
3738         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
3739         Add trailing newline.
3740         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
3741         Add trailing newline.
3742         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
3743         Add trailing newline.
3744         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
3745         Add trailing newline.
3746         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
3747         Add trailing newline.
3748         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
3749         Add trailing newline.
3750         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
3751         Add trailing newline.
3752         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
3753         Add trailing newline.
3754         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
3755         Add trailing newline.
3756         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
3757         Add trailing newline.
3758         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
3759         Add trailing newline.
3760         * doc/gccint/target-macros/position-independent-code.rst:
3761         Add trailing newline.
3762         * doc/gccint/target-macros/register-usage.rst:
3763         Add trailing newline.
3764         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
3765         Add trailing newline.
3766         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
3767         Add trailing newline.
3768         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
3769         Add trailing newline.
3770         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
3771         Add trailing newline.
3772         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
3773         Add trailing newline.
3774         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
3775         Add trailing newline.
3776         * doc/gccint/target-macros/support-for-nested-functions.rst:
3777         Add trailing newline.
3778         * doc/gccint/target-macros/the-global-targetm-variable.rst:
3779         Add trailing newline.
3780         * doc/gccint/target-makefile-fragments.rst:
3781         Add trailing newline.
3782         * doc/gccint/testsuites.rst:
3783         Add trailing newline.
3784         * doc/gccint/testsuites/ada-language-testsuites.rst:
3785         Add trailing newline.
3786         * doc/gccint/testsuites/c-language-testsuites.rst:
3787         Add trailing newline.
3788         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
3789         Add trailing newline.
3790         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
3791         Add trailing newline.
3792         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
3793         Add trailing newline.
3794         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
3795         Add trailing newline.
3796         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
3797         Add trailing newline.
3798         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
3799         Add trailing newline.
3800         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
3801         Add trailing newline.
3802         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
3803         Add trailing newline.
3804         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
3805         Add trailing newline.
3806         * doc/gccint/testsuites/support-for-testing-gcov.rst:
3807         Add trailing newline.
3808         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
3809         Add trailing newline.
3810         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
3811         Add trailing newline.
3812         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
3813         Add trailing newline.
3814         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
3815         Add trailing newline.
3816         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
3817         Add trailing newline.
3818         * doc/gccint/the-gcc-low-level-runtime-library.rst:
3819         Add trailing newline.
3820         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
3821         Add trailing newline.
3822         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
3823         Add trailing newline.
3824         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
3825         Add trailing newline.
3826         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
3827         Add trailing newline.
3828         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
3829         Add trailing newline.
3830         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
3831         Add trailing newline.
3832         * doc/gccint/the-language.rst:
3833         Add trailing newline.
3834         * doc/gccint/user-experience-guidelines.rst:
3835         Add trailing newline.
3836         * doc/install/binaries.rst:
3837         Add trailing newline.
3838         * doc/install/building.rst:
3839         Add trailing newline.
3840         * doc/install/building/building-a-cross-compiler.rst:
3841         Add trailing newline.
3842         * doc/install/building/building-a-native-compiler.rst:
3843         Add trailing newline.
3844         * doc/install/building/building-in-parallel.rst:
3845         Add trailing newline.
3846         * doc/install/building/building-the-ada-compiler.rst:
3847         Add trailing newline.
3848         * doc/install/building/building-the-d-compiler.rst:
3849         Add trailing newline.
3850         * doc/install/building/building-with-profile-feedback.rst:
3851         Add trailing newline.
3852         * doc/install/configuration.rst:
3853         Add trailing newline.
3854         * doc/install/copyright.rst:
3855         Add trailing newline.
3856         * doc/install/downloading-gcc.rst:
3857         Add trailing newline.
3858         * doc/install/final-installation.rst:
3859         Add trailing newline.
3860         * doc/install/gnu-free-documentation-license.rst:
3861         Add trailing newline.
3862         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
3863         Add trailing newline.
3864         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
3865         Add trailing newline.
3866         * doc/install/how-to-interpret-test-results.rst:
3867         Add trailing newline.
3868         * doc/install/index.rst:
3869         Add trailing newline.
3870         * doc/install/indices-and-tables.rst:
3871         Add trailing newline.
3872         * doc/install/installing-gcc.rst:
3873         Add trailing newline.
3874         * doc/install/passing-options-and-running-multiple-testsuites.rst:
3875         Add trailing newline.
3876         * doc/install/prerequisites.rst:
3877         Add trailing newline.
3878         * doc/install/submitting-test-results.rst:
3879         Add trailing newline.
3880         * doc/install/testing.rst:
3881         Add trailing newline.
3883 2022-11-14  Martin Liska  <mliska@suse.cz>
3885         Revert:
3886         2022-11-14  Martin Liska  <mliska@suse.cz>
3888         * Makefile.in: Use new install URL.
3889         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
3890         Use intersphinx link.
3891         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3892         Use new URL.
3893         * doc/gccint/source-tree-structure-and-build-system.rst: Use
3894         intersphinx link.
3895         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
3896         * doc/install/installing-gcc.rst: Likewise.
3898 2022-11-14  Martin Liska  <mliska@suse.cz>
3900         Revert:
3901         2022-11-09  Martin Liska  <mliska@suse.cz>
3902                     Sinan  <sinan.lin@linux.alibaba.com>
3904         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
3905         Add missing variable name.
3907 2022-11-14  Martin Liska  <mliska@suse.cz>
3909         Revert:
3910         2022-11-14  Martin Liska  <mliska@suse.cz>
3912         * doc/cpp/conf.py: Add newline at last line.
3913         * doc/cppinternals/conf.py: Add newline at last line.
3914         * doc/gcc/conf.py: Add newline at last line.
3915         * doc/gccint/conf.py: Add newline at last line.
3916         * doc/install/conf.py: Add newline at last line.
3918 2022-11-14  Martin Liska  <mliska@suse.cz>
3920         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
3921         Revert.
3923 2022-11-14  Martin Liska  <mliska@suse.cz>
3925         * doc/cpp/pragmas.rst: Revert.
3927 2022-11-14  Martin Liska  <mliska@suse.cz>
3929         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3931 2022-11-14  Martin Liska  <mliska@suse.cz>
3933         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
3935 2022-11-14  Martin Liska  <mliska@suse.cz>
3937         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3938         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
3940 2022-11-14  Martin Liska  <mliska@suse.cz>
3942         Revert:
3943         2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
3945         * doc/install/testing.rst: Remove anachronism about separate
3946         source tarballs.
3948 2022-11-14  Martin Liska  <mliska@suse.cz>
3950         Revert:
3951         2022-11-13  Martin Liska  <mliska@suse.cz>
3953         PR other/107620
3954         * configure: Regenerate.
3955         * configure.ac: Always set sphinx-build.
3957 2022-11-14  Martin Liska  <mliska@suse.cz>
3959         * doc/gcc/gcc-command-options/option-summary.rst: Revert.
3960         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
3962 2022-11-14  Haochen Jiang  <haochen.jiang@intel.com>
3964         * common/config/i386/i386-common.cc
3965         (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
3966         (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
3967         (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
3968         (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
3969         BF16, FP16} when disable AMX_TILE.
3971 2022-11-14  Martin Liska  <mliska@suse.cz>
3973         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3974         Revert.
3975         * doc/gcc/gcc-command-options/option-summary.rst:
3976         Revert.
3978 2022-11-14  Hongyu Wang  <hongyu.wang@intel.com>
3980         * common/config/i386/i386-common.cc (ix86_optimization_table):
3981         Enable small loop unroll at O2 by default.
3982         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
3983         factor if -munroll-only-small-loops enabled and -funroll-loops/
3984         -funroll-all-loops are disabled.
3985         * config/i386/i386.h (struct processor_costs): Add 2 field
3986         small_unroll_ninsns and small_unroll_factor.
3987         * config/i386/i386.opt: Add -munroll-only-small-loops.
3988         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
3989         Document -munroll-only-small-loops.
3990         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
3991         * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
3992         loop unrolling for -O2-speed and above if target hook
3993         loop_unroll_adjust exists.
3994         (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
3995         when target hook loop_unroll_adjust exists.
3996         * config/i386/x86-tune-costs.h: Update all processor costs
3997         with small_unroll_ninsns = 4 and small_unroll_factor = 2.
3999 2022-11-13  David Malcolm  <dmalcolm@redhat.com>
4001         PR analyzer/106235
4002         * doc/gcc/gcc-command-options/option-summary.rst: Add
4003         -Wno-analyzer-tainted-assertion.
4004         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4005         Add -Wno-analyzer-tainted-assertion.
4007 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4009         * config/riscv/bitmanip.md: New define_split.
4011 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4013         * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
4014         if expressed as a plus and multiplication with a power-of-2.
4015         Split costing for MINUS from PLUS.
4017 2022-11-13  Martin Liska  <mliska@suse.cz>
4019         PR other/107620
4020         * configure: Regenerate.
4021         * configure.ac: Always set sphinx-build.
4023 2022-11-13  Joseph Myers  <joseph@codesourcery.com>
4025         * ginclude/float.h [__STDC_VERSION__ > 201710L]
4026         (__STDC_VERSION_FLOAT_H__): New macro.
4027         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
4028         (__STDC_VERSION_STDARG_H__): New macro.
4029         * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
4030         (__STDC_VERSION_STDATOMIC_H__): New macro.
4031         * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
4032         (__STDC_VERSION_STDDEF_H__): New macro.
4033         * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
4034         (__STDC_VERSION_STDINT_H__): New macro.
4035         * glimits.h [__STDC_VERSION__ > 201710L]
4036         (__STDC_VERSION_LIMITS_H__): New macro.
4038 2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
4040         * doc/install/testing.rst: Remove anachronism about separate
4041         source tarballs.
4043 2022-11-12  Joseph Myers  <joseph@codesourcery.com>
4045         * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
4046         canonical NaN.
4048 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
4050         * value-range.cc (range_tests_signbit): Move to set from here...
4051         (range_tests_signed_zeros): ...to here.
4053 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
4055         * range-op-float.cc (build_lt): Adjust with frange_nextafter
4056         instead of default to a closed range.
4057         (build_gt): Same.
4059 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
4060             Jakub Jelinek  <jakub@redhat.com>
4062         * range-op-float.cc (float_binary_op_range_finish): New function.
4063         (foperator_plus::op1_range): New.
4064         (foperator_plus::op2_range): New.
4065         (foperator_minus::op1_range): New.
4066         (foperator_minus::op2_range): New.
4067         (foperator_mult::op1_range): New.
4068         (foperator_mult::op2_range): New.
4069         (foperator_div::op1_range): New.
4070         (foperator_div::op2_range): New.
4072 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
4074         PR tree-optimization/107569
4075         * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
4076         signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
4077         functions.
4078         (foperator_mult_div_base): New class.
4079         (foperator_mult, foperator_div): Derive from that and use
4080         protected static method from it as well as above new functions
4081         to simplify the code.
4083 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
4085         PR tree-optimization/107569
4086         * range-op-float.cc (foperator_div): New class.
4087         (floating_op_table::floating_op_table): Use foperator_div
4088         for RDIV_EXPR.
4090 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
4092         PR tree-optimization/107569
4093         PR tree-optimization/107591
4094         * range-op.h (range_operator_float::rv_fold): Add relation_kind
4095         argument.
4096         * range-op-float.cc (range_operator_float::fold_range): Name
4097         last argument trio and pass trio.op1_op2 () as last argument to
4098         rv_fold.
4099         (range_operator_float::rv_fold): Add relation_kind argument.
4100         (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
4101         (foperator_mult): New class.
4102         (floating_op_table::floating_op_table): Use foperator_mult for
4103         MULT_EXPR.
4105 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
4107         * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
4108         (type): Add flogb.
4109         (logb_non_negative<mode>2): New instruction template.
4110         (logb<mode>2): New define_expand.
4112 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
4114         * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
4115         (type): Add fscaleb.
4116         (IMODE): New mode attr.
4117         (ldexp<mode>3): New instruction template.
4119 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
4121         * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
4122         (UNSPEC_FTINTRM): Likewise.
4123         (UNSPEC_FTINTRP): Likewise.
4124         (LRINT): New define_int_iterator.
4125         (lrint_pattern): New define_int_attr.
4126         (lrint_submenmonic): Likewise.
4127         (lrint_allow_inexact): Likewise.
4128         (ANYFI): New define_mode_iterator.
4129         (lrint<ANYF><ANYFI>): New instruction template.
4131 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
4133         * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
4134         (rint<mode>2): .. this.
4136 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
4138         PR analyzer/106147
4139         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4140         Add -Wanalyzer-infinite-recursion.
4141         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
4142         (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
4144 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
4146         PR analyzer/106147
4147         * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
4149 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
4151         PR tree-optimization/107523
4152         * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
4153         rather than fur_depend.
4155 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
4157         * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
4158         (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
4159         (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
4160         (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
4162 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
4164         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
4165         CPU.
4166         * config/aarch64/aarch64-tune.md: Regenerate.
4167         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4168         Document Cortex-X1C CPU.
4170 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
4172         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
4173         CPU.
4174         * config/aarch64/aarch64-tune.md: Regenerate.
4175         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4176         Document Cortex-A715 CPU.
4178 2022-11-11  Richard Biener  <rguenther@suse.de>
4179             Nikita Voronov  <nik_1357@mail.ru>
4181         PR tree-optimization/107554
4182         * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
4183         Use unsigned HOST_WIDE_INT type for the strlen.
4185 2022-11-11  Richard Biener  <rguenther@suse.de>
4187         PR tree-optimization/105142
4188         * gimple-fold.cc (fosa_unwind): New global.
4189         (follow_outer_ssa_edges): When the SSA definition to follow
4190         is does not dominate fosa_bb, temporarily clear flow-sensitive
4191         info.  Make sure to not expand stmts with not defined overflow.
4192         (maybe_fold_comparisons_from_match_pd): Set up unwind stack
4193         for follow_outer_ssa_edges and unwind flow-sensitive info
4194         clearing after matching.
4196 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
4198         * range-op.cc (operator_mult::fold_range): Remove.
4199         (operator_div::fold_range): Remove.
4200         (operator_bitwise_and): Remove.
4202 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
4204         * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
4206 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
4208         * range-op.cc (range_operator::fold_range): Call
4209         update_known_bitmask.
4210         (operator_bitwise_and::fold_range): Avoid setting nonzero bits
4211         when range is undefined.
4213 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
4215         * range-op.cc (class operator_div): Remove tree code.
4216         (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
4217         TRUNC_DIV_EXPR.
4219 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
4221         * range-op.cc: (range_op_table::set): Set m_code.
4222         (integral_table::integral_table): Handle shared entries.
4223         (pointer_table::pointer_table): Same.
4224         * range-op.h (class range_operator): Add m_code.
4226 2022-11-11  Richard Biener  <rguenther@suse.de>
4228         PR tree-optimization/107618
4229         * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
4230         assignments with a single SSA use.
4231         (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
4232         to perform simple constant folding.
4233         (copy_prop::visit_stmt): Visit all assignments.
4235 2022-11-11  Richard Biener  <rguenther@suse.de>
4237         PR tree-optimization/84646
4238         * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
4239         wheter to run update-address-taken.
4240         (pass_dce::execute): Honor it.
4241         * passes.def: Exchange last DCE and CD-DCE invocations.
4242         Swap pass_tail_calls and the last DCE.
4244 2022-11-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
4245             Monk Chiang  <monk.chiang@sifive.com>
4247         * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
4248         (legitimize_move): Ditto.
4249         * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
4250         (riscv_first_stack_step): Adjust for scalable register spilling.
4251         (riscv_expand_prologue): Ditto.
4252         (riscv_expand_epilogue): Ditto.
4253         (riscv_dwarf_poly_indeterminate_value): New function.
4254         (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
4255         * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
4256         (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
4257         (RISCV_PROLOGUE_TEMP2): Ditto.
4258         * config/riscv/vector-iterators.md: New iterators.
4259         * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
4260         (*mov<mode>_whole): New pattern.
4261         (*mov<mode>_fract): New pattern.
4262         (@pred_mov<mode>): Fix it for register spilling.
4264 2022-11-11  Jonathan Wakely  <jwakely@redhat.com>
4266         PR c/85487
4267         * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
4269 2022-11-11  Haochen Jiang  <haochen.jiang@intel.com>
4271         * config/i386/i386-builtin.def (BDESC): Add
4272         OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
4273         * config/i386/i386-expand.cc (ix86_expand_builtin):
4274         Add ISA check before emit_insn.
4275         * config/i386/prfchiintrin.h: Add target for intrin.
4277 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
4279         PR analyzer/99671
4280         * tristate.h (tristate::is_unknown): New.
4282 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
4284         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4285         Add -Wanalyzer-deref-before-check.
4287 2022-11-10  Marek Polacek  <polacek@redhat.com>
4289         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
4290         Extend the description of -Wdangling-reference.
4292 2022-11-10  Andrew Pinski  <apinski@marvell.com>
4294         * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
4295         * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
4296         * system.h: Poison SLOW_SHORT_ACCESS
4298 2022-11-10  Aldy Hernandez  <aldyh@redhat.com>
4300         * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
4301         (range_tests_signed_zeros): Adjust test.
4303 2022-11-10  Richard Biener  <rguenther@suse.de>
4305         PR tree-optimization/84646
4306         * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
4307         copy propagation across PHIs.
4309 2022-11-10  Philipp Tomsich  <philipp.tomsich@vrull.eu>
4311         * config/riscv/riscv-cores.def (RISCV_TUNE): Update
4312         sifive-7-series to point to the sifive_7 pipeline description.
4314 2022-11-10  Richard Biener  <rguenther@suse.de>
4316         PR tree-optimization/84646
4317         * tree-ssa-ccp.cc (set_lattice_value): Make sure we
4318         allow a const -> copy transition and avoid using meet
4319         in that case.
4321 2022-11-10  Martin Liska  <mliska@suse.cz>
4323         * doc/cpp/conf.py: Add newline at last line.
4324         * doc/cppinternals/conf.py: Add newline at last line.
4325         * doc/gcc/conf.py: Add newline at last line.
4326         * doc/gccint/conf.py: Add newline at last line.
4327         * doc/install/conf.py: Add newline at last line.
4329 2022-11-10  Richard Biener  <rguenther@suse.de>
4331         * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
4332         candidates and determine the outermost loop to unswitch.
4333         (tree_ssa_unswitch_loops): First perform all guard hoisting,
4334         then perform unswitching on innermost loop predicates.
4335         (find_unswitching_predicates_for_bb): Keep track of the
4336         outermost loop to unswitch.
4337         (evaluate_bbs): Adjust exit test.
4338         (tree_unswitch_single_loop): Dump whether we unswitched an outer
4339         loop.
4340         (tree_unswitch_loop): Remove assert we unswitch only innermost
4341         loops.
4343 2022-11-10  Jakub Jelinek  <jakub@redhat.com>
4345         PR target/107585
4346         PR target/107546
4347         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
4348         gen_int_mode rather than GEN_INT.
4350 2022-11-09  Martin Liska  <mliska@suse.cz>
4351             Sinan  <sinan.lin@linux.alibaba.com>
4353         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
4354         Add missing variable name.
4356 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
4358         * value-range-storage.cc (frange_storage_slot::get_frange): Clear
4359         NAN if appropriate.
4360         * value-range.cc (range_tests_floats): New test.
4362 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
4364         * range-op-float.cc (class foperator_plus): Remove op[12]_range.
4365         (class foperator_minus): Same.
4367 2022-11-09  Qing Zhao  <qing.zhao@oracle.com>
4369         * gimple-array-bounds.cc (trailing_array): Replace
4370         array_at_struct_end_p with new name and update comments.
4371         * gimple-fold.cc (get_range_strlen_tree): Likewise.
4372         * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
4373         Likewise.
4374         * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
4375         * tree-if-conv.cc (idx_within_array_bound): Likewise.
4376         * tree-object-size.cc (addr_object_size): Likewise.
4377         * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
4378         Likewise.
4379         (stmt_kills_ref_p): Likewise.
4380         * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
4381         * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
4382         * tree.cc (array_at_struct_end_p): Rename to ...
4383         (array_ref_flexible_size_p): ... this.
4384         (component_ref_size): Replace array_at_struct_end_p with new name.
4385         * tree.h (array_at_struct_end_p): Rename to ...
4386         (array_ref_flexible_size_p): ... this.
4388 2022-11-09  Martin Liska  <mliska@suse.cz>
4390         * Makefile.in: Use new install URL.
4391         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4392         Use intersphinx link.
4393         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
4394         Use new URL.
4395         * doc/gccint/source-tree-structure-and-build-system.rst: Use
4396         intersphinx link.
4397         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
4398         * doc/install/installing-gcc.rst: Likewise.
4400 2022-11-09  Richard Biener  <rguenther@suse.de>
4402         PR tree-optimization/84646
4403         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
4404         Remove premature cycle rejection.
4406 2022-11-09  Martin Liska  <mliska@suse.cz>
4408         * doc/cpp/character-sets.rst:
4409         Add trailing newline.
4410         * doc/cpp/conditional-syntax.rst:
4411         Add trailing newline.
4412         * doc/cpp/conditional-uses.rst:
4413         Add trailing newline.
4414         * doc/cpp/conditionals.rst:
4415         Add trailing newline.
4416         * doc/cpp/copyright.rst:
4417         Add trailing newline.
4418         * doc/cpp/deleted-code.rst:
4419         Add trailing newline.
4420         * doc/cpp/diagnostics.rst:
4421         Add trailing newline.
4422         * doc/cpp/environment-variables.rst:
4423         Add trailing newline.
4424         * doc/cpp/gnu-free-documentation-license.rst:
4425         Add trailing newline.
4426         * doc/cpp/header-files.rst:
4427         Add trailing newline.
4428         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
4429         Add trailing newline.
4430         * doc/cpp/header-files/computed-includes.rst:
4431         Add trailing newline.
4432         * doc/cpp/header-files/include-operation.rst:
4433         Add trailing newline.
4434         * doc/cpp/header-files/include-syntax.rst:
4435         Add trailing newline.
4436         * doc/cpp/header-files/once-only-headers.rst:
4437         Add trailing newline.
4438         * doc/cpp/header-files/search-path.rst:
4439         Add trailing newline.
4440         * doc/cpp/header-files/system-headers.rst:
4441         Add trailing newline.
4442         * doc/cpp/header-files/wrapper-headers.rst:
4443         Add trailing newline.
4444         * doc/cpp/implementation-defined-behavior.rst:
4445         Add trailing newline.
4446         * doc/cpp/implementation-details.rst:
4447         Add trailing newline.
4448         * doc/cpp/implementation-limits.rst:
4449         Add trailing newline.
4450         * doc/cpp/index.rst:
4451         Add trailing newline.
4452         * doc/cpp/indices-and-tables.rst:
4453         Add trailing newline.
4454         * doc/cpp/initial-processing.rst:
4455         Add trailing newline.
4456         * doc/cpp/invocation.rst:
4457         Add trailing newline.
4458         * doc/cpp/line-control.rst:
4459         Add trailing newline.
4460         * doc/cpp/macros.rst:
4461         Add trailing newline.
4462         * doc/cpp/macros/concatenation.rst:
4463         Add trailing newline.
4464         * doc/cpp/macros/directives-within-macro-arguments.rst:
4465         Add trailing newline.
4466         * doc/cpp/macros/function-like-macros.rst:
4467         Add trailing newline.
4468         * doc/cpp/macros/macro-arguments.rst:
4469         Add trailing newline.
4470         * doc/cpp/macros/macro-pitfalls.rst:
4471         Add trailing newline.
4472         * doc/cpp/macros/object-like-macros.rst:
4473         Add trailing newline.
4474         * doc/cpp/macros/predefined-macros.rst:
4475         Add trailing newline.
4476         * doc/cpp/macros/stringizing.rst:
4477         Add trailing newline.
4478         * doc/cpp/macros/undefining-and-redefining-macros.rst:
4479         Add trailing newline.
4480         * doc/cpp/macros/variadic-macros.rst:
4481         Add trailing newline.
4482         * doc/cpp/obsolete-features.rst:
4483         Add trailing newline.
4484         * doc/cpp/other-directives.rst:
4485         Add trailing newline.
4486         * doc/cpp/overview.rst:
4487         Add trailing newline.
4488         * doc/cpp/pragmas.rst:
4489         Add trailing newline.
4490         * doc/cpp/preprocessor-output.rst:
4491         Add trailing newline.
4492         * doc/cpp/the-preprocessing-language.rst:
4493         Add trailing newline.
4494         * doc/cpp/tokenization.rst:
4495         Add trailing newline.
4496         * doc/cpp/traditional-lexical-analysis.rst:
4497         Add trailing newline.
4498         * doc/cpp/traditional-macros.rst:
4499         Add trailing newline.
4500         * doc/cpp/traditional-miscellany.rst:
4501         Add trailing newline.
4502         * doc/cpp/traditional-mode.rst:
4503         Add trailing newline.
4504         * doc/cpp/traditional-warnings.rst:
4505         Add trailing newline.
4506         * doc/cppinternals/copyright.rst:
4507         Add trailing newline.
4508         * doc/cppinternals/cppinternals.rst:
4509         Add trailing newline.
4510         * doc/cppinternals/cpplib.rst:
4511         Add trailing newline.
4512         * doc/cppinternals/files.rst:
4513         Add trailing newline.
4514         * doc/cppinternals/index.rst:
4515         Add trailing newline.
4516         * doc/cppinternals/indices-and-tables.rst:
4517         Add trailing newline.
4518         * doc/cppinternals/internal-representation-of-macros.rst:
4519         Add trailing newline.
4520         * doc/cppinternals/just-which-line-number-anyway.rst:
4521         Add trailing newline.
4522         * doc/cppinternals/lexing-a-line.rst:
4523         Add trailing newline.
4524         * doc/cppinternals/lexing-a-token.rst:
4525         Add trailing newline.
4526         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
4527         Add trailing newline.
4528         * doc/cppinternals/macro-expansion-overview.rst:
4529         Add trailing newline.
4530         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
4531         Add trailing newline.
4532         * doc/cppinternals/multiple-include-optimization.rst:
4533         Add trailing newline.
4534         * doc/cppinternals/overview.rst:
4535         Add trailing newline.
4536         * doc/cppinternals/representation-of-line-numbers.rst:
4537         Add trailing newline.
4538         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
4539         Add trailing newline.
4540         * doc/gcc/binary-compatibility.rst:
4541         Add trailing newline.
4542         * doc/gcc/c++-implementation-defined-behavior.rst:
4543         Add trailing newline.
4544         * doc/gcc/c-implementation-defined-behavior.rst:
4545         Add trailing newline.
4546         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
4547         Add trailing newline.
4548         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
4549         Add trailing newline.
4550         * doc/gcc/c-implementation-defined-behavior/characters.rst:
4551         Add trailing newline.
4552         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
4553         Add trailing newline.
4554         * doc/gcc/c-implementation-defined-behavior/environment.rst:
4555         Add trailing newline.
4556         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
4557         Add trailing newline.
4558         * doc/gcc/c-implementation-defined-behavior/hints.rst:
4559         Add trailing newline.
4560         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
4561         Add trailing newline.
4562         * doc/gcc/c-implementation-defined-behavior/integers.rst:
4563         Add trailing newline.
4564         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
4565         Add trailing newline.
4566         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
4567         Add trailing newline.
4568         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
4569         Add trailing newline.
4570         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
4571         Add trailing newline.
4572         * doc/gcc/c-implementation-defined-behavior/statements.rst:
4573         Add trailing newline.
4574         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
4575         Add trailing newline.
4576         * doc/gcc/c-implementation-defined-behavior/translation.rst:
4577         Add trailing newline.
4578         * doc/gcc/conditionally-supported-behavior.rst:
4579         Add trailing newline.
4580         * doc/gcc/contributing-to-gcc-development.rst:
4581         Add trailing newline.
4582         * doc/gcc/contributors-to-gcc.rst:
4583         Add trailing newline.
4584         * doc/gcc/copyright.rst:
4585         Add trailing newline.
4586         * doc/gcc/exception-handling.rst:
4587         Add trailing newline.
4588         * doc/gcc/extensions-to-the-c++-language.rst:
4589         Add trailing newline.
4590         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
4591         Add trailing newline.
4592         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
4593         Add trailing newline.
4594         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
4595         Add trailing newline.
4596         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
4597         Add trailing newline.
4598         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
4599         Add trailing newline.
4600         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
4601         Add trailing newline.
4602         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
4603         Add trailing newline.
4604         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
4605         Add trailing newline.
4606         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
4607         Add trailing newline.
4608         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
4609         Add trailing newline.
4610         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
4611         Add trailing newline.
4612         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
4613         Add trailing newline.
4614         * doc/gcc/extensions-to-the-c-language-family.rst:
4615         Add trailing newline.
4616         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
4617         Add trailing newline.
4618         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
4619         Add trailing newline.
4620         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
4621         Add trailing newline.
4622         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
4623         Add trailing newline.
4624         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
4625         Add trailing newline.
4626         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
4627         Add trailing newline.
4628         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
4629         Add trailing newline.
4630         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
4631         Add trailing newline.
4632         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
4633         Add trailing newline.
4634         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
4635         Add trailing newline.
4636         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
4637         Add trailing newline.
4638         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
4639         Add trailing newline.
4640         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
4641         Add trailing newline.
4642         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
4643         Add trailing newline.
4644         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
4645         Add trailing newline.
4646         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
4647         Add trailing newline.
4648         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
4649         Add trailing newline.
4650         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
4651         Add trailing newline.
4652         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
4653         Add trailing newline.
4654         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
4655         Add trailing newline.
4656         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
4657         Add trailing newline.
4658         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
4659         Add trailing newline.
4660         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
4661         Add trailing newline.
4662         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
4663         Add trailing newline.
4664         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
4665         Add trailing newline.
4666         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
4667         Add trailing newline.
4668         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
4669         Add trailing newline.
4670         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
4671         Add trailing newline.
4672         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
4673         Add trailing newline.
4674         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
4675         Add trailing newline.
4676         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
4677         Add trailing newline.
4678         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
4679         Add trailing newline.
4680         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
4681         Add trailing newline.
4682         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
4683         Add trailing newline.
4684         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
4685         Add trailing newline.
4686         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
4687         Add trailing newline.
4688         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
4689         Add trailing newline.
4690         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
4691         Add trailing newline.
4692         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
4693         Add trailing newline.
4694         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
4695         Add trailing newline.
4696         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
4697         Add trailing newline.
4698         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
4699         Add trailing newline.
4700         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
4701         Add trailing newline.
4702         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
4703         Add trailing newline.
4704         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
4705         Add trailing newline.
4706         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
4707         Add trailing newline.
4708         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
4709         Add trailing newline.
4710         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
4711         Add trailing newline.
4712         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
4713         Add trailing newline.
4714         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
4715         Add trailing newline.
4716         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
4717         Add trailing newline.
4718         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
4719         Add trailing newline.
4720         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
4721         Add trailing newline.
4722         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
4723         Add trailing newline.
4724         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
4725         Add trailing newline.
4726         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
4727         Add trailing newline.
4728         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
4729         Add trailing newline.
4730         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
4731         Add trailing newline.
4732         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
4733         Add trailing newline.
4734         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
4735         Add trailing newline.
4736         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
4737         Add trailing newline.
4738         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
4739         Add trailing newline.
4740         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
4741         Add trailing newline.
4742         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
4743         Add trailing newline.
4744         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
4745         Add trailing newline.
4746         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
4747         Add trailing newline.
4748         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
4749         Add trailing newline.
4750         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
4751         Add trailing newline.
4752         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
4753         Add trailing newline.
4754         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
4755         Add trailing newline.
4756         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
4757         Add trailing newline.
4758         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
4759         Add trailing newline.
4760         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
4761         Add trailing newline.
4762         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
4763         Add trailing newline.
4764         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
4765         Add trailing newline.
4766         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
4767         Add trailing newline.
4768         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
4769         Add trailing newline.
4770         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
4771         Add trailing newline.
4772         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
4773         Add trailing newline.
4774         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
4775         Add trailing newline.
4776         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
4777         Add trailing newline.
4778         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
4779         Add trailing newline.
4780         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
4781         Add trailing newline.
4782         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
4783         Add trailing newline.
4784         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
4785         Add trailing newline.
4786         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
4787         Add trailing newline.
4788         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
4789         Add trailing newline.
4790         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
4791         Add trailing newline.
4792         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
4793         Add trailing newline.
4794         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
4795         Add trailing newline.
4796         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
4797         Add trailing newline.
4798         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
4799         Add trailing newline.
4800         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
4801         Add trailing newline.
4802         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
4803         Add trailing newline.
4804         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
4805         Add trailing newline.
4806         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
4807         Add trailing newline.
4808         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
4809         Add trailing newline.
4810         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
4811         Add trailing newline.
4812         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
4813         Add trailing newline.
4814         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
4815         Add trailing newline.
4816         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
4817         Add trailing newline.
4818         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
4819         Add trailing newline.
4820         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
4821         Add trailing newline.
4822         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
4823         Add trailing newline.
4824         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
4825         Add trailing newline.
4826         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
4827         Add trailing newline.
4828         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
4829         Add trailing newline.
4830         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
4831         Add trailing newline.
4832         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
4833         Add trailing newline.
4834         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
4835         Add trailing newline.
4836         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
4837         Add trailing newline.
4838         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
4839         Add trailing newline.
4840         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
4841         Add trailing newline.
4842         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
4843         Add trailing newline.
4844         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
4845         Add trailing newline.
4846         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
4847         Add trailing newline.
4848         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
4849         Add trailing newline.
4850         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
4851         Add trailing newline.
4852         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
4853         Add trailing newline.
4854         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
4855         Add trailing newline.
4856         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
4857         Add trailing newline.
4858         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
4859         Add trailing newline.
4860         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
4861         Add trailing newline.
4862         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
4863         Add trailing newline.
4864         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
4865         Add trailing newline.
4866         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
4867         Add trailing newline.
4868         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
4869         Add trailing newline.
4870         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
4871         Add trailing newline.
4872         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
4873         Add trailing newline.
4874         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
4875         Add trailing newline.
4876         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
4877         Add trailing newline.
4878         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
4879         Add trailing newline.
4880         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
4881         Add trailing newline.
4882         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
4883         Add trailing newline.
4884         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
4885         Add trailing newline.
4886         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
4887         Add trailing newline.
4888         * doc/gcc/funding.rst:
4889         Add trailing newline.
4890         * doc/gcc/gcc-command-options.rst:
4891         Add trailing newline.
4892         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
4893         Add trailing newline.
4894         * doc/gcc/gcc-command-options/description.rst:
4895         Add trailing newline.
4896         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4897         Add trailing newline.
4898         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4899         Add trailing newline.
4900         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4901         Add trailing newline.
4902         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4903         Add trailing newline.
4904         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4905         Add trailing newline.
4906         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4907         Add trailing newline.
4908         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4909         Add trailing newline.
4910         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4911         Add trailing newline.
4912         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4913         Add trailing newline.
4914         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4915         Add trailing newline.
4916         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
4917         Add trailing newline.
4918         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
4919         Add trailing newline.
4920         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
4921         Add trailing newline.
4922         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
4923         Add trailing newline.
4924         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
4925         Add trailing newline.
4926         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
4927         Add trailing newline.
4928         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
4929         Add trailing newline.
4930         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
4931         Add trailing newline.
4932         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
4933         Add trailing newline.
4934         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
4935         Add trailing newline.
4936         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
4937         Add trailing newline.
4938         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
4939         Add trailing newline.
4940         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
4941         Add trailing newline.
4942         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
4943         Add trailing newline.
4944         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
4945         Add trailing newline.
4946         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
4947         Add trailing newline.
4948         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
4949         Add trailing newline.
4950         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
4951         Add trailing newline.
4952         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
4953         Add trailing newline.
4954         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
4955         Add trailing newline.
4956         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
4957         Add trailing newline.
4958         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
4959         Add trailing newline.
4960         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
4961         Add trailing newline.
4962         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
4963         Add trailing newline.
4964         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
4965         Add trailing newline.
4966         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
4967         Add trailing newline.
4968         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
4969         Add trailing newline.
4970         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
4971         Add trailing newline.
4972         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
4973         Add trailing newline.
4974         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
4975         Add trailing newline.
4976         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
4977         Add trailing newline.
4978         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
4979         Add trailing newline.
4980         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
4981         Add trailing newline.
4982         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
4983         Add trailing newline.
4984         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
4985         Add trailing newline.
4986         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
4987         Add trailing newline.
4988         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
4989         Add trailing newline.
4990         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
4991         Add trailing newline.
4992         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
4993         Add trailing newline.
4994         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
4995         Add trailing newline.
4996         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
4997         Add trailing newline.
4998         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
4999         Add trailing newline.
5000         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
5001         Add trailing newline.
5002         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
5003         Add trailing newline.
5004         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
5005         Add trailing newline.
5006         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
5007         Add trailing newline.
5008         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
5009         Add trailing newline.
5010         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
5011         Add trailing newline.
5012         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
5013         Add trailing newline.
5014         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
5015         Add trailing newline.
5016         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
5017         Add trailing newline.
5018         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
5019         Add trailing newline.
5020         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
5021         Add trailing newline.
5022         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
5023         Add trailing newline.
5024         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
5025         Add trailing newline.
5026         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
5027         Add trailing newline.
5028         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
5029         Add trailing newline.
5030         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
5031         Add trailing newline.
5032         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
5033         Add trailing newline.
5034         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
5035         Add trailing newline.
5036         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
5037         Add trailing newline.
5038         * doc/gcc/gcc-command-options/options-for-linking.rst:
5039         Add trailing newline.
5040         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
5041         Add trailing newline.
5042         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5043         Add trailing newline.
5044         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5045         Add trailing newline.
5046         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
5047         Add trailing newline.
5048         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
5049         Add trailing newline.
5050         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
5051         Add trailing newline.
5052         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
5053         Add trailing newline.
5054         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
5055         Add trailing newline.
5056         * doc/gcc/gcc.rst:
5057         Add trailing newline.
5058         * doc/gcc/gcov-dump.rst:
5059         Add trailing newline.
5060         * doc/gcc/gcov-tool.rst:
5061         Add trailing newline.
5062         * doc/gcc/gcov.rst:
5063         Add trailing newline.
5064         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
5065         Add trailing newline.
5066         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
5067         Add trailing newline.
5068         * doc/gcc/gcov/introduction-to-gcov.rst:
5069         Add trailing newline.
5070         * doc/gcc/gcov/invoking-gcov.rst:
5071         Add trailing newline.
5072         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
5073         Add trailing newline.
5074         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
5075         Add trailing newline.
5076         * doc/gcc/general-public-license-3.rst:
5077         Add trailing newline.
5078         * doc/gcc/gnu-free-documentation-license.rst:
5079         Add trailing newline.
5080         * doc/gcc/gnu-objective-c-features.rst:
5081         Add trailing newline.
5082         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
5083         Add trailing newline.
5084         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
5085         Add trailing newline.
5086         * doc/gcc/gnu-objective-c-features/exceptions.rst:
5087         Add trailing newline.
5088         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
5089         Add trailing newline.
5090         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
5091         Add trailing newline.
5092         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
5093         Add trailing newline.
5094         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
5095         Add trailing newline.
5096         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
5097         Add trailing newline.
5098         * doc/gcc/gnu-objective-c-features/synchronization.rst:
5099         Add trailing newline.
5100         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
5101         Add trailing newline.
5102         * doc/gcc/gnu.rst:
5103         Add trailing newline.
5104         * doc/gcc/have-you-found-a-bug.rst:
5105         Add trailing newline.
5106         * doc/gcc/how-and-where-to-report-bugs.rst:
5107         Add trailing newline.
5108         * doc/gcc/how-to-get-help-with-gcc.rst:
5109         Add trailing newline.
5110         * doc/gcc/index.rst:
5111         Add trailing newline.
5112         * doc/gcc/indices-and-tables.rst:
5113         Add trailing newline.
5114         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
5115         Add trailing newline.
5116         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
5117         Add trailing newline.
5118         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
5119         Add trailing newline.
5120         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
5121         Add trailing newline.
5122         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
5123         Add trailing newline.
5124         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
5125         Add trailing newline.
5126         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
5127         Add trailing newline.
5128         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
5129         Add trailing newline.
5130         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
5131         Add trailing newline.
5132         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
5133         Add trailing newline.
5134         * doc/gcc/language-standards-supported-by-gcc.rst:
5135         Add trailing newline.
5136         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
5137         Add trailing newline.
5138         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
5139         Add trailing newline.
5140         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
5141         Add trailing newline.
5142         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
5143         Add trailing newline.
5144         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
5145         Add trailing newline.
5146         * doc/gcc/lto-dump.rst:
5147         Add trailing newline.
5148         * doc/gcc/programming-languages-supported-by-gcc.rst:
5149         Add trailing newline.
5150         * doc/gcc/reporting-bugs.rst:
5151         Add trailing newline.
5152         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
5153         Add trailing newline.
5154         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
5155         Add trailing newline.
5156         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
5157         Add trailing newline.
5158         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
5159         Add trailing newline.
5160         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5161         Add trailing newline.
5162         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
5163         Add trailing newline.
5164         * doc/gccint/analysis-and-representation-of-loops.rst:
5165         Add trailing newline.
5166         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
5167         Add trailing newline.
5168         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
5169         Add trailing newline.
5170         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
5171         Add trailing newline.
5172         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
5173         Add trailing newline.
5174         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
5175         Add trailing newline.
5176         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
5177         Add trailing newline.
5178         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
5179         Add trailing newline.
5180         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
5181         Add trailing newline.
5182         * doc/gccint/analyzer-internals.rst:
5183         Add trailing newline.
5184         * doc/gccint/collect2.rst:
5185         Add trailing newline.
5186         * doc/gccint/contributing-to-gcc-development.rst:
5187         Add trailing newline.
5188         * doc/gccint/contributors-to-gcc.rst:
5189         Add trailing newline.
5190         * doc/gccint/control-flow-graph.rst:
5191         Add trailing newline.
5192         * doc/gccint/control-flow-graph/basic-blocks.rst:
5193         Add trailing newline.
5194         * doc/gccint/control-flow-graph/edges.rst:
5195         Add trailing newline.
5196         * doc/gccint/control-flow-graph/liveness-information.rst:
5197         Add trailing newline.
5198         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
5199         Add trailing newline.
5200         * doc/gccint/control-flow-graph/profile-information.rst:
5201         Add trailing newline.
5202         * doc/gccint/copyright.rst:
5203         Add trailing newline.
5204         * doc/gccint/debugging-the-analyzer.rst:
5205         Add trailing newline.
5206         * doc/gccint/funding.rst:
5207         Add trailing newline.
5208         * doc/gccint/gcc-and-portability.rst:
5209         Add trailing newline.
5210         * doc/gccint/general-public-license-3.rst:
5211         Add trailing newline.
5212         * doc/gccint/generic.rst:
5213         Add trailing newline.
5214         * doc/gccint/generic/attributes-in-trees.rst:
5215         Add trailing newline.
5216         * doc/gccint/generic/c-and-c++-trees.rst:
5217         Add trailing newline.
5218         * doc/gccint/generic/declarations.rst:
5219         Add trailing newline.
5220         * doc/gccint/generic/deficiencies.rst:
5221         Add trailing newline.
5222         * doc/gccint/generic/expressions.rst:
5223         Add trailing newline.
5224         * doc/gccint/generic/functions.rst:
5225         Add trailing newline.
5226         * doc/gccint/generic/language-dependent-trees.rst:
5227         Add trailing newline.
5228         * doc/gccint/generic/overview.rst:
5229         Add trailing newline.
5230         * doc/gccint/generic/statements.rst:
5231         Add trailing newline.
5232         * doc/gccint/generic/types.rst:
5233         Add trailing newline.
5234         * doc/gccint/gimple-api.rst:
5235         Add trailing newline.
5236         * doc/gccint/gimple.rst:
5237         Add trailing newline.
5238         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
5239         Add trailing newline.
5240         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
5241         Add trailing newline.
5242         * doc/gccint/gimple/exception-handling.rst:
5243         Add trailing newline.
5244         * doc/gccint/gimple/gimple-instruction-set.rst:
5245         Add trailing newline.
5246         * doc/gccint/gimple/gimple-sequences.rst:
5247         Add trailing newline.
5248         * doc/gccint/gimple/manipulating-gimple-statements.rst:
5249         Add trailing newline.
5250         * doc/gccint/gimple/operands.rst:
5251         Add trailing newline.
5252         * doc/gccint/gimple/sequence-iterators.rst:
5253         Add trailing newline.
5254         * doc/gccint/gimple/statement-and-operand-traversals.rst:
5255         Add trailing newline.
5256         * doc/gccint/gimple/temporaries.rst:
5257         Add trailing newline.
5258         * doc/gccint/gimple/tuple-representation.rst:
5259         Add trailing newline.
5260         * doc/gccint/gimple/tuple-specific-accessors.rst:
5261         Add trailing newline.
5262         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
5263         Add trailing newline.
5264         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
5265         Add trailing newline.
5266         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
5267         Add trailing newline.
5268         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
5269         Add trailing newline.
5270         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
5271         Add trailing newline.
5272         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
5273         Add trailing newline.
5274         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
5275         Add trailing newline.
5276         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
5277         Add trailing newline.
5278         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
5279         Add trailing newline.
5280         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
5281         Add trailing newline.
5282         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
5283         Add trailing newline.
5284         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
5285         Add trailing newline.
5286         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
5287         Add trailing newline.
5288         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
5289         Add trailing newline.
5290         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
5291         Add trailing newline.
5292         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
5293         Add trailing newline.
5294         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
5295         Add trailing newline.
5296         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
5297         Add trailing newline.
5298         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
5299         Add trailing newline.
5300         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
5301         Add trailing newline.
5302         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
5303         Add trailing newline.
5304         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
5305         Add trailing newline.
5306         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
5307         Add trailing newline.
5308         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
5309         Add trailing newline.
5310         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
5311         Add trailing newline.
5312         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
5313         Add trailing newline.
5314         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
5315         Add trailing newline.
5316         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
5317         Add trailing newline.
5318         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
5319         Add trailing newline.
5320         * doc/gccint/gnu-free-documentation-license.rst:
5321         Add trailing newline.
5322         * doc/gccint/guidelines-for-diagnostics.rst:
5323         Add trailing newline.
5324         * doc/gccint/guidelines-for-options.rst:
5325         Add trailing newline.
5326         * doc/gccint/host-common.rst:
5327         Add trailing newline.
5328         * doc/gccint/host-configuration.rst:
5329         Add trailing newline.
5330         * doc/gccint/host-filesystem.rst:
5331         Add trailing newline.
5332         * doc/gccint/host-makefile-fragments.rst:
5333         Add trailing newline.
5334         * doc/gccint/host-misc.rst:
5335         Add trailing newline.
5336         * doc/gccint/index.rst:
5337         Add trailing newline.
5338         * doc/gccint/indices-and-tables.rst:
5339         Add trailing newline.
5340         * doc/gccint/interfacing-to-gcc-output.rst:
5341         Add trailing newline.
5342         * doc/gccint/introduction.rst:
5343         Add trailing newline.
5344         * doc/gccint/language-front-ends-in-gcc.rst:
5345         Add trailing newline.
5346         * doc/gccint/link-time-optimization.rst:
5347         Add trailing newline.
5348         * doc/gccint/link-time-optimization/design-overview.rst:
5349         Add trailing newline.
5350         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
5351         Add trailing newline.
5352         * doc/gccint/link-time-optimization/lto-file-sections.rst:
5353         Add trailing newline.
5354         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
5355         Add trailing newline.
5356         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
5357         Add trailing newline.
5358         * doc/gccint/machine-descriptions.rst:
5359         Add trailing newline.
5360         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
5361         Add trailing newline.
5362         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
5363         Add trailing newline.
5364         * doc/gccint/machine-descriptions/conditional-execution.rst:
5365         Add trailing newline.
5366         * doc/gccint/machine-descriptions/constant-definitions.rst:
5367         Add trailing newline.
5368         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
5369         Add trailing newline.
5370         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
5371         Add trailing newline.
5372         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
5373         Add trailing newline.
5374         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
5375         Add trailing newline.
5376         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
5377         Add trailing newline.
5378         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
5379         Add trailing newline.
5380         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
5381         Add trailing newline.
5382         * doc/gccint/machine-descriptions/instruction-attributes.rst:
5383         Add trailing newline.
5384         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
5385         Add trailing newline.
5386         * doc/gccint/machine-descriptions/iterators.rst:
5387         Add trailing newline.
5388         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
5389         Add trailing newline.
5390         * doc/gccint/machine-descriptions/operand-constraints.rst:
5391         Add trailing newline.
5392         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
5393         Add trailing newline.
5394         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
5395         Add trailing newline.
5396         * doc/gccint/machine-descriptions/predicates.rst:
5397         Add trailing newline.
5398         * doc/gccint/machine-descriptions/rtl-template.rst:
5399         Add trailing newline.
5400         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
5401         Add trailing newline.
5402         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
5403         Add trailing newline.
5404         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
5405         Add trailing newline.
5406         * doc/gccint/makefile-fragments.rst:
5407         Add trailing newline.
5408         * doc/gccint/match-and-simplify.rst:
5409         Add trailing newline.
5410         * doc/gccint/memory-management-and-type-information.rst:
5411         Add trailing newline.
5412         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
5413         Add trailing newline.
5414         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
5415         Add trailing newline.
5416         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
5417         Add trailing newline.
5418         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
5419         Add trailing newline.
5420         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
5421         Add trailing newline.
5422         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
5423         Add trailing newline.
5424         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
5425         Add trailing newline.
5426         * doc/gccint/option-file-format.rst:
5427         Add trailing newline.
5428         * doc/gccint/option-properties.rst:
5429         Add trailing newline.
5430         * doc/gccint/option-specification-files.rst:
5431         Add trailing newline.
5432         * doc/gccint/passes-and-files-of-the-compiler.rst:
5433         Add trailing newline.
5434         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
5435         Add trailing newline.
5436         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
5437         Add trailing newline.
5438         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
5439         Add trailing newline.
5440         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
5441         Add trailing newline.
5442         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
5443         Add trailing newline.
5444         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
5445         Add trailing newline.
5446         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
5447         Add trailing newline.
5448         * doc/gccint/plugins.rst:
5449         Add trailing newline.
5450         * doc/gccint/plugins/building-gcc-plugins.rst:
5451         Add trailing newline.
5452         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
5453         Add trailing newline.
5454         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
5455         Add trailing newline.
5456         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
5457         Add trailing newline.
5458         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
5459         Add trailing newline.
5460         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
5461         Add trailing newline.
5462         * doc/gccint/plugins/loading-plugins.rst:
5463         Add trailing newline.
5464         * doc/gccint/plugins/plugin-api.rst:
5465         Add trailing newline.
5466         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
5467         Add trailing newline.
5468         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
5469         Add trailing newline.
5470         * doc/gccint/rtl-representation.rst:
5471         Add trailing newline.
5472         * doc/gccint/rtl-representation/access-to-operands.rst:
5473         Add trailing newline.
5474         * doc/gccint/rtl-representation/access-to-special-operands.rst:
5475         Add trailing newline.
5476         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
5477         Add trailing newline.
5478         * doc/gccint/rtl-representation/bit-fields.rst:
5479         Add trailing newline.
5480         * doc/gccint/rtl-representation/comparison-operations.rst:
5481         Add trailing newline.
5482         * doc/gccint/rtl-representation/constant-expression-types.rst:
5483         Add trailing newline.
5484         * doc/gccint/rtl-representation/conversions.rst:
5485         Add trailing newline.
5486         * doc/gccint/rtl-representation/declarations.rst:
5487         Add trailing newline.
5488         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
5489         Add trailing newline.
5490         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
5491         Add trailing newline.
5492         * doc/gccint/rtl-representation/insns.rst:
5493         Add trailing newline.
5494         * doc/gccint/rtl-representation/machine-modes.rst:
5495         Add trailing newline.
5496         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
5497         Add trailing newline.
5498         * doc/gccint/rtl-representation/reading-rtl.rst:
5499         Add trailing newline.
5500         * doc/gccint/rtl-representation/registers-and-memory.rst:
5501         Add trailing newline.
5502         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
5503         Add trailing newline.
5504         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
5505         Add trailing newline.
5506         * doc/gccint/rtl-representation/rtl-object-types.rst:
5507         Add trailing newline.
5508         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
5509         Add trailing newline.
5510         * doc/gccint/rtl-representation/side-effect-expressions.rst:
5511         Add trailing newline.
5512         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
5513         Add trailing newline.
5514         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
5515         Add trailing newline.
5516         * doc/gccint/rtl-representation/vector-operations.rst:
5517         Add trailing newline.
5518         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
5519         Add trailing newline.
5520         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
5521         Add trailing newline.
5522         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
5523         Add trailing newline.
5524         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
5525         Add trailing newline.
5526         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
5527         Add trailing newline.
5528         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
5529         Add trailing newline.
5530         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
5531         Add trailing newline.
5532         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
5533         Add trailing newline.
5534         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
5535         Add trailing newline.
5536         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
5537         Add trailing newline.
5538         * doc/gccint/source-tree-structure-and-build-system.rst:
5539         Add trailing newline.
5540         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
5541         Add trailing newline.
5542         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
5543         Add trailing newline.
5544         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
5545         Add trailing newline.
5546         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
5547         Add trailing newline.
5548         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
5549         Add trailing newline.
5550         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
5551         Add trailing newline.
5552         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
5553         Add trailing newline.
5554         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
5555         Add trailing newline.
5556         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
5557         Add trailing newline.
5558         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
5559         Add trailing newline.
5560         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
5561         Add trailing newline.
5562         * doc/gccint/standard-header-file-directories.rst:
5563         Add trailing newline.
5564         * doc/gccint/static-analyzer.rst:
5565         Add trailing newline.
5566         * doc/gccint/target-macros.rst:
5567         Add trailing newline.
5568         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
5569         Add trailing newline.
5570         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
5571         Add trailing newline.
5572         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
5573         Add trailing newline.
5574         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
5575         Add trailing newline.
5576         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
5577         Add trailing newline.
5578         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
5579         Add trailing newline.
5580         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
5581         Add trailing newline.
5582         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
5583         Add trailing newline.
5584         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5585         Add trailing newline.
5586         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5587         Add trailing newline.
5588         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5589         Add trailing newline.
5590         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5591         Add trailing newline.
5592         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
5593         Add trailing newline.
5594         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
5595         Add trailing newline.
5596         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
5597         Add trailing newline.
5598         * doc/gccint/target-macros/position-independent-code.rst:
5599         Add trailing newline.
5600         * doc/gccint/target-macros/register-usage.rst:
5601         Add trailing newline.
5602         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
5603         Add trailing newline.
5604         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5605         Add trailing newline.
5606         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
5607         Add trailing newline.
5608         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
5609         Add trailing newline.
5610         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5611         Add trailing newline.
5612         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5613         Add trailing newline.
5614         * doc/gccint/target-macros/support-for-nested-functions.rst:
5615         Add trailing newline.
5616         * doc/gccint/target-macros/the-global-targetm-variable.rst:
5617         Add trailing newline.
5618         * doc/gccint/target-makefile-fragments.rst:
5619         Add trailing newline.
5620         * doc/gccint/testsuites.rst:
5621         Add trailing newline.
5622         * doc/gccint/testsuites/ada-language-testsuites.rst:
5623         Add trailing newline.
5624         * doc/gccint/testsuites/c-language-testsuites.rst:
5625         Add trailing newline.
5626         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
5627         Add trailing newline.
5628         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
5629         Add trailing newline.
5630         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
5631         Add trailing newline.
5632         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
5633         Add trailing newline.
5634         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
5635         Add trailing newline.
5636         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
5637         Add trailing newline.
5638         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
5639         Add trailing newline.
5640         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
5641         Add trailing newline.
5642         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
5643         Add trailing newline.
5644         * doc/gccint/testsuites/support-for-testing-gcov.rst:
5645         Add trailing newline.
5646         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
5647         Add trailing newline.
5648         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
5649         Add trailing newline.
5650         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
5651         Add trailing newline.
5652         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
5653         Add trailing newline.
5654         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
5655         Add trailing newline.
5656         * doc/gccint/the-gcc-low-level-runtime-library.rst:
5657         Add trailing newline.
5658         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
5659         Add trailing newline.
5660         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
5661         Add trailing newline.
5662         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
5663         Add trailing newline.
5664         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
5665         Add trailing newline.
5666         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
5667         Add trailing newline.
5668         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
5669         Add trailing newline.
5670         * doc/gccint/the-language.rst:
5671         Add trailing newline.
5672         * doc/gccint/user-experience-guidelines.rst:
5673         Add trailing newline.
5674         * doc/install/binaries.rst:
5675         Add trailing newline.
5676         * doc/install/building.rst:
5677         Add trailing newline.
5678         * doc/install/building/building-a-cross-compiler.rst:
5679         Add trailing newline.
5680         * doc/install/building/building-a-native-compiler.rst:
5681         Add trailing newline.
5682         * doc/install/building/building-in-parallel.rst:
5683         Add trailing newline.
5684         * doc/install/building/building-the-ada-compiler.rst:
5685         Add trailing newline.
5686         * doc/install/building/building-the-d-compiler.rst:
5687         Add trailing newline.
5688         * doc/install/building/building-with-profile-feedback.rst:
5689         Add trailing newline.
5690         * doc/install/configuration.rst:
5691         Add trailing newline.
5692         * doc/install/copyright.rst:
5693         Add trailing newline.
5694         * doc/install/downloading-gcc.rst:
5695         Add trailing newline.
5696         * doc/install/final-installation.rst:
5697         Add trailing newline.
5698         * doc/install/gnu-free-documentation-license.rst:
5699         Add trailing newline.
5700         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
5701         Add trailing newline.
5702         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
5703         Add trailing newline.
5704         * doc/install/how-to-interpret-test-results.rst:
5705         Add trailing newline.
5706         * doc/install/index.rst:
5707         Add trailing newline.
5708         * doc/install/indices-and-tables.rst:
5709         Add trailing newline.
5710         * doc/install/installing-gcc.rst:
5711         Add trailing newline.
5712         * doc/install/passing-options-and-running-multiple-testsuites.rst:
5713         Add trailing newline.
5714         * doc/install/prerequisites.rst:
5715         Add trailing newline.
5716         * doc/install/submitting-test-results.rst:
5717         Add trailing newline.
5718         * doc/install/testing.rst:
5719         Add trailing newline.
5721 2022-11-09  Martin Liska  <mliska@suse.cz>
5723         * opts.cc (get_option_html_page): Port to sphinx URLs.
5724         (get_option_url): Likewise.
5725         (test_get_option_html_page): Likewise.
5727 2022-11-09  Jakub Jelinek  <jakub@redhat.com>
5729         PR tree-optimization/107569
5730         * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
5731         from the negatives frange before unioning it into r.
5733 2022-11-09  Martin Liska  <mliska@suse.cz>
5735         * Makefile.in: Add vpath default for .rst files.
5736         * config/avr/avr-devices.cc: For port RST.
5737         * config/avr/avr-mcus.def: Update path.
5738         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
5739         * config/avr/gen-avr-mmcu-rst.cc: ...here.
5740         * config/avr/t-avr: Update to rst.
5741         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
5743 2022-11-09  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5745         * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
5747 2022-11-09  Xi Ruoyao  <xry111@xry111.site>
5749         * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
5750         Avoid signed overflow.
5752 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
5754         * range-op-float.cc (foperator_plus::op1_range): New.
5755         (foperator_plus::op2_range): New.
5756         (foperator_minus::op1_range): New.
5757         (foperator_minus::op2_range): New.
5759 2022-11-09  Martin Liska  <mliska@suse.cz>
5761         * Makefile.in: Support installation if sphinx-build is missing.
5763 2022-11-09  Martin Liska  <mliska@suse.cz>
5765         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5766         Port to RST.
5767         * doc/gccint/target-macros/storage-layout.rst: Likewise.
5768         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
5769         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
5771 2022-11-09  Martin Liska  <mliska@suse.cz>
5773         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
5774         Do not include tm.rst.in.
5775         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5776         Likewise.
5777         * doc/gccint/target-macros/run-time-target-specification.rst:
5778         Likewise.
5780 2022-11-09  Martin Liska  <mliska@suse.cz>
5782         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
5783         Fix cross manual refs.
5784         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
5785         Likewise.
5787 2022-11-09  Martin Liska  <mliska@suse.cz>
5789         * Makefile.in: Support --with-sphinx-build.
5790         * configure.ac:
5791         * configure: Regenerate.
5793 2022-11-09  Martin Liska  <mliska@suse.cz>
5795         * target.def: Use proper lexers for target macros.
5796         * doc/gccint/target-macros/tm.rst.in: Re-generate.
5798 2022-11-09  Martin Liska  <mliska@suse.cz>
5800         * doc/analyzer.texi: Removed.
5801         * doc/avr-mmcu.texi: Removed.
5802         * doc/bugreport.texi: Removed.
5803         * doc/cfg.texi: Removed.
5804         * doc/collect2.texi: Removed.
5805         * doc/compat.texi: Removed.
5806         * doc/configfiles.texi: Removed.
5807         * doc/configterms.texi: Removed.
5808         * doc/contrib.texi: Removed.
5809         * doc/contribute.texi: Removed.
5810         * doc/cpp.texi: Removed.
5811         * doc/cppdiropts.texi: Removed.
5812         * doc/cppenv.texi: Removed.
5813         * doc/cppinternals.texi: Removed.
5814         * doc/cppopts.texi: Removed.
5815         * doc/cppwarnopts.texi: Removed.
5816         * doc/extend.texi: Removed.
5817         * doc/fragments.texi: Removed.
5818         * doc/frontends.texi: Removed.
5819         * doc/gcc.texi: Removed.
5820         * doc/gccint.texi: Removed.
5821         * doc/gcov-dump.texi: Removed.
5822         * doc/gcov-tool.texi: Removed.
5823         * doc/gcov.texi: Removed.
5824         * doc/generic.texi: Removed.
5825         * doc/gimple.texi: Removed.
5826         * doc/gnu.texi: Removed.
5827         * doc/gty.texi: Removed.
5828         * doc/headerdirs.texi: Removed.
5829         * doc/hostconfig.texi: Removed.
5830         * doc/implement-c.texi: Removed.
5831         * doc/implement-cxx.texi: Removed.
5832         * doc/include/fdl.texi: Removed.
5833         * doc/include/funding.texi: Removed.
5834         * doc/include/gcc-common.texi: Removed.
5835         * doc/include/gpl_v3.texi: Removed.
5836         * doc/install.texi: Removed.
5837         * doc/interface.texi: Removed.
5838         * doc/invoke.texi: Removed.
5839         * doc/languages.texi: Removed.
5840         * doc/libgcc.texi: Removed.
5841         * doc/loop.texi: Removed.
5842         * doc/lto-dump.texi: Removed.
5843         * doc/lto.texi: Removed.
5844         * doc/makefile.texi: Removed.
5845         * doc/match-and-simplify.texi: Removed.
5846         * doc/md.texi: Removed.
5847         * doc/objc.texi: Removed.
5848         * doc/optinfo.texi: Removed.
5849         * doc/options.texi: Removed.
5850         * doc/passes.texi: Removed.
5851         * doc/plugins.texi: Removed.
5852         * doc/poly-int.texi: Removed.
5853         * doc/portability.texi: Removed.
5854         * doc/rtl.texi: Removed.
5855         * doc/service.texi: Removed.
5856         * doc/sourcebuild.texi: Removed.
5857         * doc/standards.texi: Removed.
5858         * doc/tm.texi: Removed.
5859         * doc/tree-ssa.texi: Removed.
5860         * doc/trouble.texi: Removed.
5861         * doc/ux.texi: Removed.
5862         * doc/tm.texi.in: Removed.
5864 2022-11-09  Martin Liska  <mliska@suse.cz>
5866         * doc/gccint/target-macros/tm.rst.in: New file.
5868 2022-11-09  Martin Liska  <mliska@suse.cz>
5870         * Makefile.in: Support Sphinx based documentation.
5871         * configure: Regenerate.
5872         * configure.ac: Support Sphinx based documentation.
5873         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
5875 2022-11-09  Martin Liska  <mliska@suse.cz>
5877         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
5878         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
5879         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
5880         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
5881         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
5882         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
5883         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
5884         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
5885         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
5886         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
5887         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
5888         Likewise.
5889         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5890         Likewise.
5891         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5892         Likewise.
5893         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5894         Likewise.
5895         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5896         Likewise.
5897         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
5898         Likewise.
5899         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
5900         Likewise.
5901         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
5902         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
5903         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
5904         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
5905         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
5906         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
5907         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
5908         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
5909         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
5910         Likewise.
5911         * doc/gccint/target-macros/register-classes.rst: Likewise.
5912         * doc/gccint/target-macros/register-usage.rst: Likewise.
5913         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
5914         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5915         Likewise.
5916         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
5917         Likewise.
5918         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
5919         Likewise.
5920         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
5921         Likewise.
5922         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
5923         Likewise.
5924         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
5925         Likewise.
5926         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
5927         Likewise.
5928         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
5929         Likewise.
5930         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5931         Likewise.
5932         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
5933         Likewise.
5934         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5935         Likewise.
5936         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
5937         Likewise.
5938         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
5939         Likewise.
5940         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
5941         Likewise.
5942         * doc/gccint/target-macros/storage-layout.rst: Likewise.
5943         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
5945 2022-11-09  Martin Liska  <mliska@suse.cz>
5947         * common/common-target.def: Port to RST.
5948         * target.def: Port to RST.
5950 2022-11-09  Martin Liska  <mliska@suse.cz>
5952         * doc/cpp/character-sets.rst: New file.
5953         * doc/cpp/conditional-syntax.rst: New file.
5954         * doc/cpp/conditional-uses.rst: New file.
5955         * doc/cpp/conditionals.rst: New file.
5956         * doc/cpp/conf.py: New file.
5957         * doc/cpp/copyright.rst: New file.
5958         * doc/cpp/deleted-code.rst: New file.
5959         * doc/cpp/diagnostics.rst: New file.
5960         * doc/cpp/environment-variables.rst: New file.
5961         * doc/cpp/gnu-free-documentation-license.rst: New file.
5962         * doc/cpp/header-files.rst: New file.
5963         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
5964         * doc/cpp/header-files/computed-includes.rst: New file.
5965         * doc/cpp/header-files/include-operation.rst: New file.
5966         * doc/cpp/header-files/include-syntax.rst: New file.
5967         * doc/cpp/header-files/once-only-headers.rst: New file.
5968         * doc/cpp/header-files/search-path.rst: New file.
5969         * doc/cpp/header-files/system-headers.rst: New file.
5970         * doc/cpp/header-files/wrapper-headers.rst: New file.
5971         * doc/cpp/implementation-defined-behavior.rst: New file.
5972         * doc/cpp/implementation-details.rst: New file.
5973         * doc/cpp/implementation-limits.rst: New file.
5974         * doc/cpp/index.rst: New file.
5975         * doc/cpp/indices-and-tables.rst: New file.
5976         * doc/cpp/initial-processing.rst: New file.
5977         * doc/cpp/invocation.rst: New file.
5978         * doc/cpp/line-control.rst: New file.
5979         * doc/cpp/macros.rst: New file.
5980         * doc/cpp/macros/concatenation.rst: New file.
5981         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
5982         * doc/cpp/macros/function-like-macros.rst: New file.
5983         * doc/cpp/macros/macro-arguments.rst: New file.
5984         * doc/cpp/macros/macro-pitfalls.rst: New file.
5985         * doc/cpp/macros/object-like-macros.rst: New file.
5986         * doc/cpp/macros/predefined-macros.rst: New file.
5987         * doc/cpp/macros/stringizing.rst: New file.
5988         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
5989         * doc/cpp/macros/variadic-macros.rst: New file.
5990         * doc/cpp/obsolete-features.rst: New file.
5991         * doc/cpp/other-directives.rst: New file.
5992         * doc/cpp/overview.rst: New file.
5993         * doc/cpp/pragmas.rst: New file.
5994         * doc/cpp/preprocessor-output.rst: New file.
5995         * doc/cpp/the-preprocessing-language.rst: New file.
5996         * doc/cpp/tokenization.rst: New file.
5997         * doc/cpp/traditional-lexical-analysis.rst: New file.
5998         * doc/cpp/traditional-macros.rst: New file.
5999         * doc/cpp/traditional-miscellany.rst: New file.
6000         * doc/cpp/traditional-mode.rst: New file.
6001         * doc/cpp/traditional-warnings.rst: New file.
6002         * doc/cppinternals/conf.py: New file.
6003         * doc/cppinternals/copyright.rst: New file.
6004         * doc/cppinternals/cppinternals.rst: New file.
6005         * doc/cppinternals/cpplib.rst: New file.
6006         * doc/cppinternals/files.rst: New file.
6007         * doc/cppinternals/index.rst: New file.
6008         * doc/cppinternals/indices-and-tables.rst: New file.
6009         * doc/cppinternals/internal-representation-of-macros.rst: New file.
6010         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
6011         * doc/cppinternals/lexing-a-line.rst: New file.
6012         * doc/cppinternals/lexing-a-token.rst: New file.
6013         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
6014         * doc/cppinternals/macro-expansion-overview.rst: New file.
6015         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
6016         * doc/cppinternals/multiple-include-optimization.rst: New file.
6017         * doc/cppinternals/overview.rst: New file.
6018         * doc/cppinternals/representation-of-line-numbers.rst: New file.
6019         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
6020         * doc/gcc/binary-compatibility.rst: New file.
6021         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
6022         * doc/gcc/c-implementation-defined-behavior.rst: New file.
6023         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
6024         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
6025         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
6026         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
6027         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
6028         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
6029         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
6030         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
6031         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
6032         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
6033         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
6034         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
6035         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
6036         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
6037         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
6038         New file.
6039         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
6040         * doc/gcc/conditionally-supported-behavior.rst: New file.
6041         * doc/gcc/conf.py: New file.
6042         * doc/gcc/contributing-to-gcc-development.rst: New file.
6043         * doc/gcc/contributors-to-gcc.rst: New file.
6044         * doc/gcc/copyright.rst: New file.
6045         * doc/gcc/exception-handling.rst: New file.
6046         * doc/gcc/extensions-to-the-c++-language.rst: New file.
6047         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
6048         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
6049         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
6050         New file.
6051         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
6052         New file.
6053         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
6054         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
6055         New file.
6056         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
6057         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
6058         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
6059         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
6060         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
6061         New file.
6062         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
6063         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
6064         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
6065         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
6066         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
6067         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
6068         New file.
6069         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
6070         New file.
6071         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
6072         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
6073         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
6074         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
6075         New file.
6076         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
6077         New file.
6078         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
6079         New file.
6080         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
6081         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
6082         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
6083         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
6084         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
6085         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
6086         New file.
6087         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
6088         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
6089         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
6090         New file.
6091         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
6092         New file.
6093         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
6094         New file.
6095         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
6096         New file.
6097         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
6098         New file.
6099         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
6100         New file.
6101         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
6102         New file.
6103         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
6104         New file.
6105         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
6106         New file.
6107         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
6108         New file.
6109         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
6110         New file.
6111         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
6112         New file.
6113         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
6114         New file.
6115         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
6116         New file.
6117         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
6118         New file.
6119         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
6120         New file.
6121         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
6122         New file.
6123         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
6124         New file.
6125         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
6126         New file.
6127         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
6128         New file.
6129         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
6130         New file.
6131         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
6132         New file.
6133         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
6134         New file.
6135         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
6136         New file.
6137         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
6138         New file.
6139         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
6140         New file.
6141         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
6142         New file.
6143         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
6144         New file.
6145         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
6146         New file.
6147         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
6148         New file.
6149         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
6150         New file.
6151         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
6152         New file.
6153         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
6154         New file.
6155         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
6156         New file.
6157         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
6158         New file.
6159         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
6160         New file.
6161         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
6162         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
6163         New file.
6164         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
6165         New file.
6166         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
6167         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
6168         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
6169         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
6170         New file.
6171         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
6172         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
6173         New file.
6174         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
6175         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
6176         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
6177         New file.
6178         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
6179         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
6180         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
6181         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
6182         New file.
6183         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
6184         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
6185         New file.
6186         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
6187         New file.
6188         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
6189         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
6190         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
6191         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
6192         New file.
6193         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
6194         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
6195         New file.
6196         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
6197         New file.
6198         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
6199         New file.
6200         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
6201         New file.
6202         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
6203         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
6204         New file.
6205         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
6206         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
6207         New file.
6208         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
6209         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
6210         New file.
6211         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
6212         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
6213         New file.
6214         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
6215         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
6216         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
6217         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
6218         New file.
6219         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
6220         New file.
6221         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
6222         New file.
6223         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
6224         New file.
6225         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
6226         New file.
6227         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
6228         New file.
6229         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
6230         New file.
6231         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
6232         New file.
6233         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
6234         New file.
6235         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
6236         New file.
6237         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
6238         New file.
6239         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
6240         New file.
6241         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
6242         New file.
6243         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
6244         New file.
6245         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
6246         New file.
6247         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
6248         New file.
6249         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
6250         New file.
6251         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
6252         New file.
6253         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
6254         New file.
6255         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
6256         New file.
6257         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
6258         New file.
6259         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
6260         New file.
6261         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
6262         New file.
6263         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
6264         New file.
6265         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
6266         New file.
6267         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
6268         New file.
6269         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
6270         New file.
6271         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
6272         New file.
6273         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
6274         New file.
6275         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
6276         New file.
6277         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
6278         New file.
6279         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
6280         New file.
6281         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
6282         New file.
6283         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
6284         New file.
6285         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
6286         New file.
6287         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
6288         New file.
6289         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
6290         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
6291         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
6292         New file.
6293         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
6294         New file.
6295         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
6296         New file.
6297         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
6298         New file.
6299         * doc/gcc/funding.rst: New file.
6300         * doc/gcc/gcc-command-options.rst: New file.
6301         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
6302         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
6303         * doc/gcc/gcc-command-options/description.rst: New file.
6304         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
6305         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
6306         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
6307         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
6308         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
6309         New file.
6310         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
6311         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
6312         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
6313         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
6314         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
6315         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
6316         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
6317         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
6318         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
6319         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
6320         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
6321         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
6322         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
6323         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
6324         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
6325         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
6326         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
6327         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
6328         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
6329         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
6330         New file.
6331         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
6332         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
6333         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
6334         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
6335         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
6336         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
6337         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
6338         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
6339         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
6340         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
6341         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
6342         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
6343         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
6344         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
6345         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
6346         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
6347         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
6348         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
6349         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
6350         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
6351         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
6352         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
6353         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
6354         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
6355         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
6356         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
6357         New file.
6358         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
6359         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
6360         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
6361         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
6362         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
6363         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
6364         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
6365         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
6366         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
6367         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
6368         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
6369         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
6370         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
6371         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
6372         * doc/gcc/gcc-command-options/option-summary.rst: New file.
6373         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
6374         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
6375         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
6376         New file.
6377         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
6378         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
6379         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
6380         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
6381         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
6382         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
6383         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
6384         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
6385         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
6386         New file.
6387         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
6388         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
6389         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
6390         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
6391         New file.
6392         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
6393         * doc/gcc/gcc.rst: New file.
6394         * doc/gcc/gcov-dump.rst: New file.
6395         * doc/gcc/gcov-tool.rst: New file.
6396         * doc/gcc/gcov.rst: New file.
6397         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
6398         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
6399         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
6400         * doc/gcc/gcov/invoking-gcov.rst: New file.
6401         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
6402         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
6403         * doc/gcc/general-public-license-3.rst: New file.
6404         * doc/gcc/gnu-free-documentation-license.rst: New file.
6405         * doc/gcc/gnu-objective-c-features.rst: New file.
6406         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
6407         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
6408         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
6409         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
6410         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
6411         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
6412         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
6413         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
6414         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
6415         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
6416         * doc/gcc/gnu.rst: New file.
6417         * doc/gcc/have-you-found-a-bug.rst: New file.
6418         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
6419         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
6420         * doc/gcc/index.rst: New file.
6421         * doc/gcc/indices-and-tables.rst: New file.
6422         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
6423         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
6424         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
6425         New file.
6426         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
6427         New file.
6428         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
6429         New file.
6430         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
6431         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
6432         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
6433         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
6434         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
6435         New file.
6436         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
6437         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
6438         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
6439         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
6440         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
6441         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
6442         New file.
6443         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
6444         * doc/gcc/lto-dump.rst: New file.
6445         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
6446         * doc/gcc/reporting-bugs.rst: New file.
6447         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
6448         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
6449         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
6450         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
6451         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
6452         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
6453         New file.
6454         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
6455         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
6456         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
6457         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
6458         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
6459         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
6460         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
6461         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
6462         New file.
6463         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
6464         * doc/gccint/analyzer-internals.rst: New file.
6465         * doc/gccint/collect2.rst: New file.
6466         * doc/gccint/conf.py: New file.
6467         * doc/gccint/contributing-to-gcc-development.rst: New file.
6468         * doc/gccint/contributors-to-gcc.rst: New file.
6469         * doc/gccint/control-flow-graph.rst: New file.
6470         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
6471         * doc/gccint/control-flow-graph/edges.rst: New file.
6472         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
6473         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
6474         * doc/gccint/control-flow-graph/profile-information.rst: New file.
6475         * doc/gccint/copyright.rst: New file.
6476         * doc/gccint/debugging-the-analyzer.rst: New file.
6477         * doc/gccint/funding.rst: New file.
6478         * doc/gccint/gcc-and-portability.rst: New file.
6479         * doc/gccint/general-public-license-3.rst: New file.
6480         * doc/gccint/generic.rst: New file.
6481         * doc/gccint/generic/attributes-in-trees.rst: New file.
6482         * doc/gccint/generic/c-and-c++-trees.rst: New file.
6483         * doc/gccint/generic/declarations.rst: New file.
6484         * doc/gccint/generic/deficiencies.rst: New file.
6485         * doc/gccint/generic/expressions.rst: New file.
6486         * doc/gccint/generic/functions.rst: New file.
6487         * doc/gccint/generic/language-dependent-trees.rst: New file.
6488         * doc/gccint/generic/overview.rst: New file.
6489         * doc/gccint/generic/statements.rst: New file.
6490         * doc/gccint/generic/types.rst: New file.
6491         * doc/gccint/gimple-api.rst: New file.
6492         * doc/gccint/gimple.rst: New file.
6493         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
6494         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
6495         * doc/gccint/gimple/exception-handling.rst: New file.
6496         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
6497         * doc/gccint/gimple/gimple-sequences.rst: New file.
6498         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
6499         * doc/gccint/gimple/operands.rst: New file.
6500         * doc/gccint/gimple/sequence-iterators.rst: New file.
6501         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
6502         * doc/gccint/gimple/temporaries.rst: New file.
6503         * doc/gccint/gimple/tuple-representation.rst: New file.
6504         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
6505         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
6506         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
6507         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
6508         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
6509         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
6510         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
6511         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
6512         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
6513         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
6514         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
6515         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
6516         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
6517         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
6518         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
6519         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
6520         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
6521         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
6522         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
6523         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
6524         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
6525         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
6526         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
6527         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
6528         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
6529         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
6530         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
6531         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
6532         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
6533         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
6534         * doc/gccint/gnu-free-documentation-license.rst: New file.
6535         * doc/gccint/guidelines-for-diagnostics.rst: New file.
6536         * doc/gccint/guidelines-for-options.rst: New file.
6537         * doc/gccint/host-common.rst: New file.
6538         * doc/gccint/host-configuration.rst: New file.
6539         * doc/gccint/host-filesystem.rst: New file.
6540         * doc/gccint/host-makefile-fragments.rst: New file.
6541         * doc/gccint/host-misc.rst: New file.
6542         * doc/gccint/index.rst: New file.
6543         * doc/gccint/indices-and-tables.rst: New file.
6544         * doc/gccint/interfacing-to-gcc-output.rst: New file.
6545         * doc/gccint/introduction.rst: New file.
6546         * doc/gccint/language-front-ends-in-gcc.rst: New file.
6547         * doc/gccint/link-time-optimization.rst: New file.
6548         * doc/gccint/link-time-optimization/design-overview.rst: New file.
6549         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
6550         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
6551         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
6552         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
6553         New file.
6554         * doc/gccint/machine-descriptions.rst: New file.
6555         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
6556         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
6557         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
6558         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
6559         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
6560         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
6561         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
6562         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
6563         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
6564         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
6565         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
6566         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
6567         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
6568         * doc/gccint/machine-descriptions/iterators.rst: New file.
6569         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
6570         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
6571         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
6572         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
6573         New file.
6574         * doc/gccint/machine-descriptions/predicates.rst: New file.
6575         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
6576         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
6577         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
6578         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
6579         * doc/gccint/makefile-fragments.rst: New file.
6580         * doc/gccint/match-and-simplify.rst: New file.
6581         * doc/gccint/memory-management-and-type-information.rst: New file.
6582         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
6583         New file.
6584         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
6585         New file.
6586         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
6587         New file.
6588         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
6589         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
6590         New file.
6591         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
6592         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
6593         New file.
6594         * doc/gccint/option-file-format.rst: New file.
6595         * doc/gccint/option-properties.rst: New file.
6596         * doc/gccint/option-specification-files.rst: New file.
6597         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
6598         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
6599         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
6600         New file.
6601         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
6602         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
6603         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
6604         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
6605         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
6606         * doc/gccint/plugins.rst: New file.
6607         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
6608         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
6609         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
6610         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
6611         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
6612         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
6613         * doc/gccint/plugins/loading-plugins.rst: New file.
6614         * doc/gccint/plugins/plugin-api.rst: New file.
6615         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
6616         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
6617         * doc/gccint/rtl-representation.rst: New file.
6618         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
6619         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
6620         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
6621         * doc/gccint/rtl-representation/bit-fields.rst: New file.
6622         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
6623         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
6624         * doc/gccint/rtl-representation/conversions.rst: New file.
6625         * doc/gccint/rtl-representation/declarations.rst: New file.
6626         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
6627         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
6628         * doc/gccint/rtl-representation/insns.rst: New file.
6629         * doc/gccint/rtl-representation/machine-modes.rst: New file.
6630         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
6631         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
6632         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
6633         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
6634         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
6635         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
6636         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
6637         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
6638         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
6639         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
6640         * doc/gccint/rtl-representation/vector-operations.rst: New file.
6641         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
6642         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
6643         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
6644         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
6645         New file.
6646         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
6647         New file.
6648         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
6649         New file.
6650         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
6651         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
6652         New file.
6653         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
6654         New file.
6655         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
6656         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
6657         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
6658         New file.
6659         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
6660         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
6661         New file.
6662         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
6663         New file.
6664         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
6665         New file.
6666         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
6667         New file.
6668         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
6669         New file.
6670         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
6671         New file.
6672         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
6673         New file.
6674         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
6675         New file.
6676         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
6677         New file.
6678         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
6679         New file.
6680         * doc/gccint/standard-header-file-directories.rst: New file.
6681         * doc/gccint/static-analyzer.rst: New file.
6682         * doc/gccint/target-macros.rst: New file.
6683         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
6684         * doc/gccint/target-macros/addressing-modes.rst: New file.
6685         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
6686         * doc/gccint/target-macros/anchored-addresses.rst: New file.
6687         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
6688         * doc/gccint/target-macros/condition-code-status.rst: New file.
6689         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
6690         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
6691         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
6692         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
6693         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
6694         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
6695         New file.
6696         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
6697         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
6698         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
6699         New file.
6700         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
6701         New file.
6702         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
6703         New file.
6704         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
6705         New file.
6706         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
6707         New file.
6708         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
6709         New file.
6710         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
6711         New file.
6712         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
6713         New file.
6714         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
6715         New file.
6716         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
6717         New file.
6718         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
6719         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
6720         * doc/gccint/target-macros/emulating-tls.rst: New file.
6721         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
6722         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
6723         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
6724         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
6725         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
6726         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
6727         New file.
6728         * doc/gccint/target-macros/position-independent-code.rst: New file.
6729         * doc/gccint/target-macros/register-classes.rst: New file.
6730         * doc/gccint/target-macros/register-usage.rst: New file.
6731         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
6732         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
6733         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
6734         New file.
6735         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
6736         New file.
6737         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
6738         New file.
6739         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
6740         New file.
6741         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
6742         New file.
6743         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
6744         New file.
6745         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
6746         New file.
6747         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
6748         New file.
6749         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
6750         New file.
6751         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
6752         New file.
6753         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
6754         New file.
6755         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
6756         New file.
6757         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
6758         New file.
6759         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
6760         New file.
6761         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
6762         New file.
6763         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
6764         New file.
6765         * doc/gccint/target-macros/storage-layout.rst: New file.
6766         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
6767         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
6768         * doc/gccint/target-makefile-fragments.rst: New file.
6769         * doc/gccint/testsuites.rst: New test.
6770         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
6771         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
6772         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
6773         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
6774         New test.
6775         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
6776         New test.
6777         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
6778         New test.
6779         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
6780         New test.
6781         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
6782         New test.
6783         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
6784         New test.
6785         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
6786         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
6787         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
6788         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
6789         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
6790         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
6791         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
6792         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
6793         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
6794         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
6795         New file.
6796         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
6797         New file.
6798         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
6799         New file.
6800         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
6801         New file.
6802         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
6803         New file.
6804         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
6805         New file.
6806         * doc/gccint/the-language.rst: New file.
6807         * doc/gccint/user-experience-guidelines.rst: New file.
6808         * doc/install/binaries.rst: New file.
6809         * doc/install/building.rst: New file.
6810         * doc/install/building/building-a-cross-compiler.rst: New file.
6811         * doc/install/building/building-a-native-compiler.rst: New file.
6812         * doc/install/building/building-in-parallel.rst: New file.
6813         * doc/install/building/building-the-ada-compiler.rst: New file.
6814         * doc/install/building/building-the-d-compiler.rst: New file.
6815         * doc/install/building/building-with-profile-feedback.rst: New file.
6816         * doc/install/conf.py: New file.
6817         * doc/install/configuration.rst: New file.
6818         * doc/install/copyright.rst: New file.
6819         * doc/install/downloading-gcc.rst: New file.
6820         * doc/install/final-installation.rst: New file.
6821         * doc/install/gnu-free-documentation-license.rst: New file.
6822         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
6823         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
6824         * doc/install/how-to-interpret-test-results.rst: New file.
6825         * doc/install/index.rst: New file.
6826         * doc/install/indices-and-tables.rst: New file.
6827         * doc/install/installing-gcc.rst: New file.
6828         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
6829         * doc/install/prerequisites.rst: New file.
6830         * doc/install/submitting-test-results.rst: New file.
6831         * doc/install/testing.rst: New file.
6833 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
6835         * range-op-float.cc (class foperator_minus): New.
6836         (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
6838 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
6840         * range-op-float.cc (range_operator_float::fold_range): Abstract
6841         out from foperator_plus.
6842         (range_operator_float::rv_fold): New.
6843         (foperator_plus::fold_range): Remove.
6844         (foperator_plus::rv_fold): New.
6845         (propagate_nans): Remove.
6846         * range-op.h (class range_operator_float): Add rv_fold.
6848 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
6850         * range-op-float.cc (foperator_plus::fold_range): Set NAN for
6851         addition of different signed infinities.
6852         (range_op_float_tests): New test.
6854 2022-11-09  liuhongt  <hongtao.liu@intel.com>
6856         PR target/107540
6857         * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
6858         type from sselog to sselog1.
6859         (avx_movddup256<mask_name>): Ditto.
6861 2022-11-08  David Faust  <david.faust@oracle.com>
6863         * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
6864         (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
6865         bpf_builtins for error checks.
6866         (bpf_core_walk): Use values of enum bpf_builtins.
6867         (bpf_core_newdecl): Likewise.
6868         (bpf_expand_builtin): Likewise.
6870 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
6872         PR tree-optimization/24021
6873         * range-op-float.cc (propagate_nans): New.
6874         (frange_nextafter): New.
6875         (frange_arithmetic): New.
6876         (class foperator_plus): New.
6877         (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
6879 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
6881         * real.cc (real_isdenormal): New.
6882         (encode_ieee_single): Call real_isdenormal.
6883         (encode_ieee_double): Same.
6884         (encode_ieee_extended): Same.
6885         (encode_ieee_quad): Same.
6886         (encode_ieee_half): Same.
6887         (encode_arm_bfloat_half): Same.
6888         * real.h (real_isdenormal): Add mode argument.  Rewrite for
6889         normalized values.
6890         * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
6891         real_isdenormal.
6893 2022-11-08  Richard Biener  <rguenther@suse.de>
6895         PR tree-optimization/107389
6896         * gimple-low.cc (lower_builtin_assume_aligned): New.
6897         (lower_stmt): Call it.
6899 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
6901         * range-op.cc (operator_div::fold_range): Call
6902         update_known_bitmask.
6903         * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
6904         2 as a right shift.
6906 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
6908         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
6909         of GCN_BUILTIN_LDEXPV to V64DFmode.
6911 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
6913         * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
6914         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
6915         GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
6917 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
6919         * range-op.cc (irange_to_masked_value): New.
6920         (update_known_bitmask): New.
6921         (operator_mult::fold_range): Call update_known_bitmask.
6923 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
6925         PR tree-optimization/107547
6926         * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
6927         of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}.  Handle
6928         BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
6930 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
6932         PR target/107546
6933         * config/i386/predicates.md (vector_or_const_vector_operand): New
6934         predicate.
6935         * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
6936         vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
6937         vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
6938         predicate instead of nonimmediate_operand and
6939         vector_or_const_vector_operand instead of vector_operand.
6940         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
6941         LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
6942         into LE/LEU or GT/GTU with larger or smaller by one cop1 if
6943         there is no wrap-around.  Force CONST_VECTOR cop0 or cop1 into
6944         REG.  Formatting fix.
6946 2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
6948         PR rtl-optimization/107482
6949         * ira-color.cc (assign_hard_reg): Only call
6950         update_costs_from_copies when retry_p is false.
6952 2022-11-08  konglin1  <lingling.kong@intel.com>
6954         Revert:
6955         2022-11-07  konglin1  <lingling.kong@intel.com>
6957         * config/i386/i386.opt:Add -mprefer-remote-atomic.
6958         * config/i386/sync.md (atomic_<plus_logic><mode>):
6959         New define_expand.
6960         (atomic_add<mode>): Rename to below one.
6961         (atomic_add<mode>_1): To this.
6962         (atomic_<logic><mode>): Ditto.
6963         (atomic_<logic><mode>_1): Ditto.
6964         * doc/invoke.texi: Add -mprefer-remote-atomic.
6966 2022-11-08  Haochen Jiang  <haochen.jiang@intel.com>
6968         * config/i386/i386-options.cc (m_CORE_ATOM): New.
6969         * config/i386/x86-tune.def
6970         (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
6971         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
6972         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
6973         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
6974         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
6975         (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
6976         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
6977         (X86_TUNE_USE_LEAVE): Ditto.
6978         (X86_TUNE_PUSH_MEMORY): Ditto.
6979         (X86_TUNE_USE_INCDEC): Ditto.
6980         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
6981         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
6982         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
6983         (X86_TUNE_USE_SAHF): Ditto.
6984         (X86_TUNE_USE_BT): Ditto.
6985         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
6986         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
6987         (X86_TUNE_AVOID_MFENCE): Ditto.
6988         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
6989         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
6990         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
6991         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
6992         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
6993         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
6994         (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
6995         (X86_TUNE_USE_GATHER_2PARTS): Ditto.
6996         (X86_TUNE_USE_GATHER_4PARTS): Ditto.
6997         (X86_TUNE_USE_GATHER): Ditto.
6999 2022-11-08  Andrew MacLeod  <amacleod@redhat.com>
7001         PR tree-optimization/104530
7002         * gimple-range-cache.cc (ranger_cache::register_inferred_value):
7003         New.  Split from:
7004         (ranger_cache::apply_inferred_ranges): Move setting cache to
7005         separate function.
7006         * gimple-range-cache.h (register_inferred_value): New prototype.
7007         * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
7008         * gimple-range-infer.h (has_range_p): New prototype.
7009         * gimple-range.cc (register_transitive_inferred_ranges): New.
7010         * gimple-range.h (register_transitive_inferred_ranges): New proto.
7011         * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
7012         ranges at the end of the block before folding final stmt.
7014 2022-11-07  David Faust  <david.faust@oracle.com>
7016         * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
7018 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
7020         PR tree-optimization/55157
7021         * range-op.cc (operator_mult::wi_fold): Optimize multiplications
7022         by powers of 2.
7024 2022-11-07  H.J. Lu  <hjl.tools@gmail.com>
7026         PR middle-end/102566
7027         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
7028         if (_5 < 0) and if (_5 >= 0).
7030 2022-11-07  Richard Purdie  <richard.purdie@linuxfoundation.org>
7032         * file-prefix-map.cc (remap_filename): Handle NULL filenames.
7034 2022-11-07  Alexander Monakov  <amonakov@ispras.ru>
7036         PR tree-optimization/107505
7037         * tree-ssa-sink.cc (statement_sink_location): Additionally
7038         reject ECF_RETURNS_TWICE calls.
7040 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
7042         PR tree-optimization/107541
7043         * range-op.cc (operator_div::fold_range): Restrict power of 2
7044         optimization to positive numbers.
7046 2022-11-07  Richard Biener  <rguenther@suse.de>
7048         * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
7049         (unswitch_predicate::unswitch_predicate): Initialize count.
7050         (init_loop_unswitch_info): First collect candidates and
7051         determine the outermost loop to unswitch.
7052         (tree_ssa_unswitch_loops): First perform all guard hoisting,
7053         then perform unswitching on innermost loop predicates.
7054         (find_unswitching_predicates_for_bb): Keep track of the
7055         most profitable predicate to unswitch on.
7056         (tree_unswitch_single_loop): Unswitch given predicate if
7057         not NULL.
7059 2022-11-07  Martin Liska  <mliska@suse.cz>
7060             Gerald Pfeifer  <gerald@pfeifer.com>
7062         * doc/invoke.texi: Improve wording.
7064 2022-11-07  Martin Liska  <mliska@suse.cz>
7066         * range-op.cc: Add final override keywords.
7068 2022-11-07  Kewen Lin  <linkw@linux.ibm.com>
7070         PR tree-optimization/107412
7071         * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
7072         (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
7073         mask_p indicating it's for mask or length, and add some handlings for
7074         IFN LEN_{LOAD,STORE}.
7075         (gimple_fold_mask_load): Rename to ...
7076         (gimple_fold_partial_load): ... this, add one parameter mask_p.
7077         (gimple_fold_mask_store): Rename to ...
7078         (gimple_fold_partial_store): ... this, add one parameter mask_p.
7079         (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
7080         and adjust calls on gimple_fold_mask_load_store_mem_ref to
7081         gimple_fold_partial_load_store_mem_ref.
7083 2022-11-07  Hu, Lin1  <lin1.hu@intel.com>
7085         * common/config/i386/cpuinfo.h
7086         (get_intel_cpu): Handle Grand Ridge.
7087         * common/config/i386/i386-common.cc
7088         (processor_names): Add grandridge.
7089         (processor_alias_table): Ditto.
7090         * common/config/i386/i386-cpuinfo.h:
7091         (enum processor_types): Add INTEL_GRANDRIDGE.
7092         * config.gcc: Add -march=grandridge.
7093         * config/i386/driver-i386.cc (host_detect_local_cpu):
7094         Handle grandridge.
7095         * config/i386/i386-c.cc (ix86_target_macros_internal):
7096         Ditto.
7097         * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
7098         (processor_cost_table): Add grandridge.
7099         * config/i386/i386.h (enum processor_type):
7100         Add PROCESSOR_GRANDRIDGE.
7101         (PTA_GRANDRIDGE): Ditto.
7102         * doc/extend.texi: Add grandridge.
7103         * doc/invoke.texi: Ditto.
7105 2022-11-07  konglin1  <lingling.kong@intel.com>
7107         * config/i386/i386.opt:Add -mprefer-remote-atomic.
7108         * config/i386/sync.md (atomic_<plus_logic><mode>):
7109         New define_expand.
7110         (atomic_add<mode>): Rename to below one.
7111         (atomic_add<mode>_1): To this.
7112         (atomic_<logic><mode>): Ditto.
7113         (atomic_<logic><mode>_1): Ditto.
7114         * doc/invoke.texi: Add -mprefer-remote-atomic.
7116 2022-11-07  konglin1  <lingling.kong@intel.com>
7118         * common/config/i386/cpuinfo.h (get_available_features):
7119         Detect raoint.
7120         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
7121         OPTION_MASK_ISA2_RAOINT_UNSET): New.
7122         (ix86_handle_option): Handle -mraoint.
7123         * common/config/i386/i386-cpuinfo.h (enum processor_features):
7124         Add FEATURE_RAOINT.
7125         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7126         raoint.
7127         * config.gcc: Add raointintrin.h
7128         * config/i386/cpuid.h (bit_RAOINT): New.
7129         * config/i386/i386-builtin.def (BDESC): Add new builtins.
7130         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7131         __RAOINT__.
7132         * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
7133         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
7134         Add -mraoint.
7135         * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
7136         * config/i386/i386.opt: Add option -mraoint.
7137         * config/i386/x86gprintrin.h: Include raointintrin.h.
7138         * doc/extend.texi: Document raoint.
7139         * doc/invoke.texi: Document -mraoint.
7140         * doc/sourcebuild.texi: Document target raoint.
7141         * config/i386/raointintrin.h: New file.
7143 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
7145         * common/config/i386/cpuinfo.h
7146         (get_intel_cpu): Handle Granite Rapids.
7147         * common/config/i386/i386-common.cc:
7148         (processor_names): Add graniterapids.
7149         (processor_alias_table): Ditto.
7150         * common/config/i386/i386-cpuinfo.h
7151         (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
7152         * config.gcc: Add -march=graniterapids.
7153         * config/i386/driver-i386.cc (host_detect_local_cpu):
7154         Handle graniterapids.
7155         * config/i386/i386-c.cc (ix86_target_macros_internal):
7156         Ditto.
7157         * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
7158         (processor_cost_table): Add graniterapids.
7159         * config/i386/i386.h (enum processor_type):
7160         Add PROCESSOR_GRANITERAPIDS.
7161         (PTA_GRANITERAPIDS): Ditto.
7162         * doc/extend.texi: Add graniterapids.
7163         * doc/invoke.texi: Ditto.
7165 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
7166             Hongtao Liu  <hongtao.liu@intel.com>
7168         * common/config/i386/cpuinfo.h (get_available_features):
7169         Detect PREFETCHI.
7170         * common/config/i386/i386-common.cc
7171         (OPTION_MASK_ISA2_PREFETCHI_SET,
7172         OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
7173         (ix86_handle_option): Handle -mprefetchi.
7174         * common/config/i386/i386-cpuinfo.h
7175         (enum processor_features): Add FEATURE_PREFETCHI.
7176         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
7177         for prefetchi.
7178         * config.gcc: Add prfchiintrin.h.
7179         * config/i386/cpuid.h (bit_PREFETCHI): New.
7180         * config/i386/i386-builtin-types.def:
7181         Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
7182         and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
7183         * config/i386/i386-builtin.def (BDESC): Add new builtins.
7184         * config/i386/i386-c.cc (ix86_target_macros_internal):
7185         Define __PREFETCHI__.
7186         * config/i386/i386-expand.cc: Handle new builtins.
7187         * config/i386/i386-isa.def (PREFETCHI):
7188         Add DEF_PTA(PREFETCHI).
7189         * config/i386/i386-options.cc
7190         (ix86_valid_target_attribute_inner_p): Handle prefetchi.
7191         * config/i386/i386.md (prefetchi): New define_insn.
7192         * config/i386/i386.opt: Add option -mprefetchi.
7193         * config/i386/predicates.md (local_func_symbolic_operand):
7194         New predicates.
7195         * config/i386/x86gprintrin.h: Include prfchiintrin.h.
7196         * config/i386/xmmintrin.h (enum _mm_hint): New enum for
7197         prefetchi.
7198         (_mm_prefetch): Handle the highest bit of enum.
7199         * doc/extend.texi: Document prefetchi.
7200         * doc/invoke.texi: Document -mprefetchi.
7201         * doc/sourcebuild.texi: Document target prefetchi.
7202         * config/i386/prfchiintrin.h: New file.
7204 2022-11-06  Uroš Bizjak  <ubizjak@gmail.com>
7206         * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
7207         mode when checking vec_set_optab.
7209 2022-11-06  Xi Ruoyao  <xry111@xry111.site>
7211         * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
7212         (type): Add fcopysign.
7213         (copysign<mode>3): New instruction template.
7215 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
7217         * multiple_target.cc (expand_target_clones): Free memory.
7219 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
7221         * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
7222         * multiple_target.cc (create_dispatcher_calls): Likewise.
7224 2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
7226         PR c/41041
7227         * doc/cppopts.texi: Document -fwide-exec-charset defaults
7228         correctly.
7230 2022-11-05  Alexandre Oliva  <oliva@adacore.com>
7232         * common.opt (fmultiflags): New.
7233         * doc/invoke.texi: Document it.
7234         * gcc.cc (driver_self_specs): Discard it.
7235         * opts.cc (common_handle_option): Ignore it in the driver.
7237 2022-11-04  Jeff Chapman II  <jchapman@lock3software.com>
7238             Jason Merrill   <jason@redhat.com>
7240         * input.cc (get_source_text_between): New fn.
7241         * input.h (get_source_text_between): Declare.
7243 2022-11-04  Aldy Hernandez  <aldyh@redhat.com>
7245         PR tree-optimization/107342
7246         * range-op.cc (operator_mult::fold_range): New.
7247         (operator_div::fold_range): New.
7249 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
7251         * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
7252         Do not take into account operand 2.
7253         (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
7255 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
7257         * expr.cc (emit_group_store): Do not use subword paradoxical subregs
7259 2022-11-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7261         * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
7262         extensions comment.
7264 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
7266         * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
7267         * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
7268         [ACCEL_COMPILER]: Remove.
7269         * config/i386/intelmic-mkoffload.cc: Remove.
7270         * config/i386/intelmic-offload.h: Likewise.
7271         * config/i386/t-intelmic: Likewise.
7272         * config/i386/t-omp-device: Likewise.
7273         * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
7274         * configure: Regenerate.
7275         * doc/install.texi (--enable-offload-targets=[...]): Update.
7276         * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
7278 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
7280         * Makefile.in (OBJS): Remove 'dbxout.o'.
7281         * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
7282         * dbxout.cc: Remove.
7283         * dbxout.h: Likewise.
7284         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
7285         Default to 'default_asm_out_constructor',
7286         'default_asm_out_destructor'.
7287         * targhooks.cc (default_asm_out_constructor)
7288         (default_asm_out_destructor): New.
7289         * targhooks.h (default_asm_out_constructor)
7290         (default_asm_out_destructor): Declare.
7292 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
7294         * Makefile.in (OBJS): Add 'dbxout.o'.
7295         * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
7296         * dbxout.cc: New.
7297         * dbxout.h: Likewise.
7298         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
7299         Default to 'default_stabs_asm_out_constructor',
7300         'default_stabs_asm_out_destructor'.
7302 2022-11-04  Hongyu Wang  <hongyu.wang@intel.com>
7303             Haochen Jiang  <haochen.jiang@intel.com>
7305         * common/config/i386/cpuinfo.h (get_available_features): Detect
7306         amx-fp16.
7307         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
7308         OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
7309         (ix86_handle_option): Handle -mamx-fp16.
7310         * common/config/i386/i386-cpuinfo.h (enum processor_features):
7311         Add FEATURE_AMX_FP16.
7312         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7313         amx-fp16.
7314         * config.gcc: Add amxfp16intrin.h.
7315         * config/i386/cpuid.h (bit_AMX_FP16): New.
7316         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7317         __AMX_FP16__.
7318         * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
7319         * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
7320         (ix86_valid_target_attribute_inner_p): Add new ATTR.
7321         (ix86_option_override_internal): Handle AMX-FP16.
7322         * config/i386/i386.opt: Add -mamx-fp16.
7323         * config/i386/immintrin.h: Include amxfp16intrin.h.
7324         * doc/extend.texi: Document -mamx-fp16.
7325         * doc/invoke.texi: Document amx-fp16.
7326         * doc/sourcebuild.texi: Document amx_fp16.
7327         * config/i386/amxfp16intrin.h: New file.
7329 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
7331         * common/config/i386/cpuinfo.h (get_intel_cpu):
7332         Add Sierra Forest.
7333         * common/config/i386/i386-common.cc
7334         (processor_names): Add Sierra Forest.
7335         (processor_alias_table): Ditto.
7336         * common/config/i386/i386-cpuinfo.h
7337         (enum processor_types): Add INTEL_SIERRAFOREST.
7338         * config.gcc: Add -march=sierraforest.
7339         * config/i386/driver-i386.cc (host_detect_local_cpu):
7340         Handle Sierra Forest.
7341         * config/i386/i386-c.cc (ix86_target_macros_internal):
7342         Ditto.
7343         * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
7344         (processor_cost_table): Add sierra forest.
7345         * config/i386/i386.h (enum processor_type):
7346         Add PROCESSOR_SIERRA_FOREST.
7347         (PTA_SIERRAFOREST): Ditto.
7348         * doc/extend.texi: Add sierra forest.
7349         * doc/invoke.texi: Ditto.
7351 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
7353         * common/config/i386/cpuinfo.h (get_available_features):
7354         Detect cmpccxadd.
7355         * common/config/i386/i386-common.cc
7356         (OPTION_MASK_ISA2_CMPCCXADD_SET,
7357         OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
7358         (ix86_handle_option): Handle -mcmpccxadd.
7359         * common/config/i386/i386-cpuinfo.h (enum processor_features):
7360         Add FEATURE_CMPCCXADD.
7361         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7362         cmpccxadd.
7363         * config.gcc: Add cmpccxaddintrin.h.
7364         * config/i386/cpuid.h (bit_CMPCCXADD): New.
7365         * config/i386/i386-builtin-types.def:
7366         Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
7367         and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
7368         * config/i386/i386-builtin.def (BDESC): Add new builtins.
7369         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7370         __CMPCCXADD__.
7371         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
7372         Add new parameter to indicate constant position.
7373         Handle INT_FTYPE_PINT_INT_INT_INT
7374         and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
7375         * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
7376         * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
7377         (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
7378         * config/i386/i386.opt: Add option -mcmpccxadd.
7379         * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
7380         * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
7381         * doc/extend.texi: Document cmpccxadd.
7382         * doc/invoke.texi: Document -mcmpccxadd.
7383         * doc/sourcebuild.texi: Document target cmpccxadd.
7384         * config/i386/cmpccxaddintrin.h: New file.
7386 2022-11-03  Jason Merrill  <jason@redhat.com>
7388         * doc/invoke.texi: -fconcepts no longer implies
7389         -fconcepts-ts before C++20.
7391 2022-11-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
7393         * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
7394         (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
7395         <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
7396         *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
7397         assembler output.
7399 2022-11-03  Andrew MacLeod  <amacleod@redhat.com>
7401         * gimple-range.cc (gimple_ranger::update_stmt): New.
7402         * gimple-range.h (gimple_ranger::update_stmt): New prototype.
7403         * tree-ssa-operands.cc (update_stmt_operands): Notify range
7404         query that stmt has changed.
7405         * value-query.h (range_query::update_stmt): New.
7407 2022-11-03  David Malcolm  <dmalcolm@redhat.com>
7409         * make-unique.h: New file.
7411 2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
7413         PR target/107404
7414         * config/i386/i386.md (eliminate reg-reg move by inverting the
7415         condition of a cmove #2 peephole2): Check if eliminated move
7416         initialized a register, used in the moved instruction.
7418 2022-11-03  Andrew Stubbs  <ams@codesourcery.com>
7420         PR target/107510
7421         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
7422         UNSPEC_SMIN_DPP_SHR conditionals.
7424 2022-11-02  Christoph Müllner  <christoph.muellner@vrull.eu>
7426         * common/config/riscv/riscv-common.cc: Add zawrs extension.
7427         * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
7428         (TARGET_ZAWRS): New.
7429         * config/riscv/riscv.opt: New.
7431 2022-11-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
7433         PR driver/93371
7434         * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
7436 2022-11-02  Aldy Hernandez  <aldyh@redhat.com>
7438         * value-range.cc (frange::contains_p): Fix signed zero handling.
7439         (range_tests_signed_zeros): New test.
7441 2022-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7443         * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
7445 2022-11-02  Xionghu Luo  <xionghuluo@tencent.com>
7447         PR target/100866
7448         * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
7449         (altivec_vrl<VI_char>): ...this.
7450         * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
7451         target is Power8 and mode is V8HI.
7453 2022-11-01  David Seifert  <soap@gentoo.org>
7455         * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
7456         * configure: Regenerate.
7458 2022-11-01  Richard Purdie  <richard.purdie@linuxfoundation.org>
7460         * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
7462 2022-11-01  Aldy Hernandez  <aldyh@redhat.com>
7464         PR tree-optimization/107490
7465         * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
7466         NANs.
7467         (foperator_unordered_lt::op2_range): Same.
7468         (foperator_unordered_le::op1_range): Same.
7469         (foperator_unordered_le::op2_range): Same.
7470         (foperator_unordered_gt::op1_range): Same.
7471         (foperator_unordered_gt::op2_range): Same.
7472         (foperator_unordered_ge::op1_range): Same.
7473         (foperator_unordered_ge::op2_range): Same.
7475 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
7477         PR tree-optimization/107497
7478         * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
7479         Check that ssa-name still exists before accessing it.
7481 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
7483         * params.opt (param_vrp1_mode): Make ranger default.
7485 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
7487         * tree-vrp.cc (class remove_unreachable): New.
7488         (remove_unreachable::maybe_register_block): New.
7489         (remove_unreachable::remove_and_update_globals): New.
7490         (rvrp_folder::rvrp_folder): Initialize m_unreachable.
7491         (rvrp_folder::post_fold_bb): Maybe register unreachable block.
7492         (rvrp_folder::m_unreachable): New member.
7493         (execute_ranger_vrp): Add final_pass flag, remove unreachables.
7495 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
7497         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
7498         exit block to be specified.
7499         (ranger_cache::range_from_dom): If exit block is specified, use
7500         the immediate predecessor instead of the dominator to start.
7501         * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
7502         for exit block.
7504 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
7506         * value-range.cc (irange::intersect_nonzero_bits): If new
7507         non-zero mask is the same as original, flag no change.
7509 2022-11-01  Alexander Monakov  <amonakov@ispras.ru>
7511         PR target/87832
7512         * config/i386/znver.md (znver1_idiv): New automaton.
7513         (znver1-idiv): New unit.
7514         (znver1_idiv_DI): Correct unit and cycles in the reservation.
7515         (znver1_idiv_SI): Ditto.
7516         (znver1_idiv_HI): Ditto.
7517         (znver1_idiv_QI): Ditto.
7518         (znver1_idiv_mem_DI): Ditto.
7519         (znver1_idiv_mem_SI): Ditto.
7520         (znver1_idiv_mem_HI): Ditto.
7521         (znver1_idiv_mem_QI): Ditto.
7522         (znver3_idiv_DI): Ditto.
7523         (znver3_idiv_SI): Ditto.
7524         (znver3_idiv_HI): Ditto.
7525         (znver3_idiv_QI): Ditto.
7526         (znver3_idiv_mem_DI): Ditto.
7527         (znver3_idiv_mem_SI): Ditto.
7528         (znver3_idiv_mem_HI): Ditto.
7529         (znver3_idiv_mem_QI): Ditto.
7531 2022-11-01  liuhongt  <hongtao.liu@intel.com>
7533         PR target/107057
7534         * config/i386/sse.md (*vec_interleave_highv2df): Remove
7535         constraint 1.
7536         (*vec_interleave_lowv2df): Ditto.
7537         (vec_concatv2df): Ditto.
7538         (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
7539         (avx512f_unpcklpd512<mask_name>): .. this.
7540         (avx512f_movddup512<mask_name>): Change to define_insn.
7541         (avx_movddup256<mask_name>): Ditto.
7542         (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
7543         to ..
7544         (avx_unpcklpd256<mask_name>): .. this.
7545         * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
7546         Disallow MEM_P (op1) && MEM_P (op2).
7548 2022-11-01  liuhongt  <hongtao.liu@intel.com>
7550         PR target/55583
7551         * config/i386/i386.md (*x86_64_shld_1): Rename to ..
7552         (x86_64_shld_1): .. this.
7553         (*x86_shld_1): Rename to ..
7554         (x86_shld_1): .. this.
7555         (*x86_64_shrd_1): Rename to ..
7556         (x86_64_shrd_1): .. this.
7557         (*x86_shrd_1): Rename to ..
7558         (x86_shrd_1): .. this.
7559         (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
7560         (*x86_shld_shrd_1_nozext): Ditto.
7561         (*x86_64_shrd_shld_1_nozext): Ditto.
7562         (*x86_shrd_shld_1_nozext): Ditto.
7564 2022-11-01  Cui,Lili  <lili.cui@intel.com>
7566         * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
7567         judgement for INLINE_HINT_known_hot hint.
7569 2022-10-31  Guillermo E. Martinez  <guillermo.e.martinez@oracle.com>
7571         * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
7572         enumerator type btf_enum{,64}.
7573         (btf_asm_type): Update btf_kflag according to enumeration type sign
7574         using dtd_enum_unsigned field for both:  BTF_KIND_ENUM{,64}.
7575         (btf_asm_enum_const): New argument to represent the size of
7576         the BTF enum type, writing the enumerator constant value for
7577         32 bits, if it's 64 bits then explicitly writes lower 32-bits
7578         value and higher 32-bits value.
7579         (output_asm_btf_enum_list): Add enumeration size argument.
7580         * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
7581         basic information.
7582         (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
7583         dtd structure containing enumeration information.
7584         (ctf_add_enumerator): Update comment mention support for BTF
7585         enumeration in 64-bits.
7586         * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
7587         for enumeration type and use it in ctf_add_enum.
7588         * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
7589         use 32/64 bits enumerators.
7590         information.
7591         (ctf_dtdef): New field to describe enum signedness.
7593 2022-10-31  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7595         * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
7596         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
7597         * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
7598         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
7600 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
7602         * config/gcn/gcn-valu.md (fminmaxop): New iterator.
7603         (<fexpander><mode>3): New define_expand.
7604         (<fexpander><mode>3<exec>): Likewise.
7605         (reduc_<fexpander>_scal_<mode>): Likewise.
7606         * config/gcn/gcn.md (fexpander): New attribute.
7608 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
7610         * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
7611         (V64_DI): Likewise.
7612         (V64_1REG): Likewise.
7613         (V64_INT_1REG): Likewise.
7614         (V64_2REG): Likewise.
7615         (V64_ALL): Likewise.
7616         (V64_FP): Likewise.
7617         (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
7618         (fold_left_plus_<mode>): Use V_FP.
7619         (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
7620         (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
7621         (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
7622         (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
7623         (*plus_carry_dpp_shr_<mode>): Use V_DI.
7624         (mov_from_lane63_<mode>): Delete.
7625         (mov_from_lane63_<mode>): Delete.
7626         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
7627         * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
7629 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
7631         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
7632         Set base_type as ARG_UNUSED.
7634 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
7636         * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
7637         BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
7638         BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
7639         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
7640         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
7641         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
7642         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
7643         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
7644         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
7645         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
7646         BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
7647         BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
7648         BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
7649         BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
7650         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
7651         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
7652         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
7653         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
7654         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
7655         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
7656         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
7657         * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
7658         CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
7659         (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
7660         BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
7661         BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
7662         BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
7663         BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
7664         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
7665         * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
7666         fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
7667         CASE_CFN_* is present.
7668         * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
7669         Likewise.
7670         * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
7671         * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
7672         tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
7673         tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
7674         Likewise.
7676 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
7678         * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
7679         * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
7680         * fold-const-call.cc (fold_const_call_sss): Handle
7681         CFN_BUILT_IN_NEXTAFTERF16B.
7683 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
7685         * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
7686         BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
7687         New DEF_PRIMITIVE_TYPE.
7688         (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
7689         BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
7690         BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
7691         BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
7692         BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
7693         BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
7694         BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
7695         BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
7696         DEF_FUNCTION_TYPE_1.
7697         (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
7698         BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
7699         BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
7700         BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
7701         BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
7702         BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
7703         BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
7704         BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
7705         BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
7706         BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
7707         BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
7708         BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
7709         BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
7710         BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
7711         BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
7712         DEF_FUNCTION_TYPE_2.
7713         (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
7714         BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
7715         BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
7716         BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
7717         BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
7718         BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
7719         BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
7720         * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
7721         FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
7722         LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
7723         NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
7724         Define and undefine later.
7725         (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
7726         (INF_TYPE): Define at a later line.
7727         (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
7728         BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
7729         BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
7730         BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
7731         BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
7732         BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
7733         BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
7734         BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
7735         BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
7736         BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
7737         BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
7738         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
7739         (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
7740         DEF_GCC_FLOATN_NX_BUILTINS.
7741         * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
7742         cases when CASE_CFN_* is present.
7743         (fold_const_call_sss): Likewise.
7744         * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
7745         CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
7746         (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
7747         builtins next to CASE_FLT_FN.
7748         * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
7749         next to CASE_CFN_*: for various builtins.
7750         * tree-call-cdce.cc (can_test_argument_range): Add
7751         CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
7752         (edom_only_function): Likewise.
7754 2022-10-31  konglin1  <lingling.kong@intel.com>
7756         * common/config/i386/i386-common.cc
7757         (OPTION_MASK_ISA2_AVXNECONVERT_SET,
7758         OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
7759         (ix86_handle_option): Handle -mavxneconvert, unset
7760         avxneconvert when avx2 is disabled.
7761         * common/config/i386/i386-cpuinfo.h (processor_types): Add
7762         FEATURE_AVXNECONVERT.
7763         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
7764         avxneconvert.
7765         * common/config/i386/cpuinfo.h (get_available_features):
7766         Detect avxneconvert.
7767         * config.gcc: Add avxneconvertintrin.h
7768         * config/i386/avxneconvertintrin.h: New.
7769         * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
7770         Unified builtin with avxneconvert.
7771         (_mm_cvtneps_pbh): Ditto.
7772         * config/i386/cpuid.h (bit_AVXNECONVERT): New.
7773         * config/i386/i386-builtin-types.def: Add
7774         DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
7775         DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
7776         DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
7777         DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
7778         DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
7779         DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
7780         DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
7781         DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
7782         DEF_FUNCTION_TYPE (V4SF, PCV8BF),
7783         DEF_FUNCTION_TYPE (V4SF, PCV8HF),
7784         DEF_FUNCTION_TYPE (V8SF, PCV16HF),
7785         DEF_FUNCTION_TYPE (V8SF, PCV16BF),
7786         * config/i386/i386-builtin.def: Add new builtins.
7787         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
7788         __AVXNECONVERT__.
7789         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
7790         Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
7791         V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
7792         V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
7793         * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
7794         * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
7795         (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
7796         * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
7797         * config/i386/i386.opt: Add option -mavxneconvert.
7798         * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
7799         * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
7800         (vbcstnesh2ps_<mode>): Ditto.
7801         (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
7802         (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
7803         (vcvtneps2bf16_v4sf): Ditto.
7804         (*vcvtneps2bf16_v4sf): Ditto.
7805         (vcvtneps2bf16_v8sf): Ditto.
7806         * doc/invoke.texi: Document -mavxneconvert.
7807         * doc/extend.texi: Document avxneconvert.
7808         * doc/sourcebuild.texi: Document target avxneconvert.
7810 2022-10-31  konglin1  <lingling.kong@intel.com>
7812         * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
7813         (_mm_cvtsbh_ss): Ditto.
7814         (_mm512_cvtne2ps_pbh): Ditto.
7815         (_mm512_mask_cvtne2ps_pbh): Ditto.
7816         (_mm512_maskz_cvtne2ps_pbh): Ditto.
7817         * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
7818         (_mm256_cvtne2ps_pbh): Ditto.
7819         (_mm256_mask_cvtne2ps_pbh): Ditto.
7820         (_mm256_maskz_cvtne2ps_pbh): Ditto.
7821         (_mm_cvtne2ps_pbh): Ditto.
7822         (_mm_mask_cvtne2ps_pbh): Ditto.
7823         (_mm_maskz_cvtne2ps_pbh): Ditto.
7824         (_mm_cvtness_sbh): Ditto.
7825         * config/i386/i386-builtin-types.def (V8BF): Add new
7826         DEF_VECTOR_TYPE for BFmode.
7827         (V16BF): Ditto.
7828         (V32BF): Ditto.
7829         * config/i386/i386-builtin.def (BDESC): Fixed builtins.
7830         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
7831         avx512bf16 ix86_builtin_func_type included HI to BF.
7832         * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
7833         * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
7834         vector.
7835         (avx512f_cvtneps2bf16_v4sf): New define_expand.
7836         (*avx512f_cvtneps2bf16_v4sf): New define_insn.
7837         (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
7838         (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
7839         (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
7841 2022-10-31  liuhongt  <hongtao.liu@intel.com>
7843         PR target/107261
7844         * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
7845         * config/i386/i386.cc (classify_argument): Handle V4BFmode and
7846         V2BFmode.
7847         (ix86_convert_const_vector_to_integer): Ditto.
7848         * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
7849         V2BFmode.
7850         (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
7851         (VALID_MMX_REG_MODE): Add V4BFmode.
7852         * config/i386/i386.md (mode): Add V4BF and V2BF.
7853         (MODE_SIZE): Ditto.
7854         * config/i386/mmx.md (MMXMODE) Add V4BF.
7855         (V_32): Add V2BF.
7856         (V_16_32_64): Add V4BF and V2BF.
7857         (mmxinsnmode): Add V4BF and V2BF.
7858         (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
7860 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
7862         * configure.ac (sjlj-exceptions): Restore dropped line.
7863         * configure: Regenerate.
7865 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
7867         * alias.cc (init_alias_analysis): Do not record sets to the hard
7868         frame pointer if the frame pointer has not been eliminated.
7870 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
7872         * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
7873         (TARGET_D_MINFO_SECTION_START): ...this.
7874         (TARGET_D_MINFO_END_NAME): Rename to ...
7875         (TARGET_D_MINFO_SECTION_END): ... this.
7876         * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
7877         (TARGET_D_MINFO_START_NAME): Remove.
7878         (TARGET_D_MINFO_END_NAME): Remove.
7879         * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
7880         (TARGET_D_MINFO_START_NAME): Remove.
7881         (TARGET_D_MINFO_END_NAME): Remove.
7882         * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
7883         (TARGET_D_MINFO_START_NAME): Remove.
7884         (TARGET_D_MINFO_END_NAME): Remove.
7885         * doc/tm.texi: Regenerate.
7886         * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
7887         (TARGET_D_MINFO_SECTION_START): ...this.
7888         (TARGET_D_MINFO_END_NAME): Rename to ...
7889         (TARGET_D_MINFO_SECTION_END): ...this.
7891 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
7893         * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
7894         kopensolaris-d.o, and gnu-d.o.  Split out cygwin-d.o from winnt-d.o.
7895         * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7896         * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7897         * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7898         * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7899         * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7900         * config/i386/t-cygming: Add cygwin-d.o.
7901         * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
7902         MinGW-specific version condition.
7903         * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7904         * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7905         * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
7906         * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
7907         * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
7908         * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
7909         kopensolaris-d.o.
7910         * config/t-linux: Add linux-d.o.
7911         * config/glibc-d.cc: Remove file.
7912         * config/gnu-d.cc: New file.
7913         * config/i386/cygwin-d.cc: New file.
7914         * config/kfreebsd-d.cc: New file.
7915         * config/kopensolaris-d.cc: New file.
7916         * config/linux-d.cc: New file.
7918 2022-10-29  Jeff Law  <jeffreyalaw@gmail.com>
7920         * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
7921         an unsigned int
7922         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
7924 2022-10-28  Joseph Myers  <joseph@codesourcery.com>
7926         * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
7927         Check TYPE_NO_NAMED_ARGS_STDARG_P.
7928         * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
7929         * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
7930         * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
7931         * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
7932         * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
7933         Likewise.
7934         * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
7935         * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
7936         * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
7937         * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
7938         * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
7939         * config/loongarch/loongarch.cc
7940         (loongarch_setup_incoming_varargs): Likewise.
7941         * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
7942         * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
7943         * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
7944         * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
7945         * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
7946         * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
7947         * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
7948         * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
7949         * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
7950         * config/visium/visium.cc (visium_setup_incoming_varargs):
7951         Likewise.
7952         * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
7953         flag_allow_parameterless_variadic_functions.
7954         * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
7955         not document option.
7956         * function.cc (assign_parms): Call assign_parms_setup_varargs for
7957         TYPE_NO_NAMED_ARGS_STDARG_P case.
7958         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
7959         variadic macro.  Pass second argument of 0 to __builtin_va_start.
7960         * target.def (setup_incoming_varargs): Update documentation.
7961         * doc/tm.texi: Regenerate.
7962         * tree-core.h (struct tree_type_common): Add
7963         no_named_args_stdarg_p.
7964         * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
7965         TYPE_NO_NAMED_ARGS_STDARG_P.
7966         * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
7967         TYPE_NO_NAMED_ARGS_STDARG_P.
7968         * tree.cc (type_cache_hasher::equal): Compare
7969         TYPE_NO_NAMED_ARGS_STDARG_P.
7970         (build_function_type): Add argument no_named_args_stdarg_p.
7971         (build_function_type_list_1, build_function_type_array_1)
7972         (reconstruct_complex_type): Update calls to build_function_type.
7973         (stdarg_p, prototype_p): Return true for (...) functions.
7974         (gimple_canonical_types_compatible_p): Compare
7975         TYPE_NO_NAMED_ARGS_STDARG_P.
7976         * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
7977         (build_function_type): Update prototype.
7979 2022-10-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7981         PR tree-optimization/107346
7982         * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
7983         that aren't multiples of BITS_PER_UNIT.
7985 2022-10-28  Richard Biener  <rguenther@suse.de>
7987         PR tree-optimization/107407
7988         * tree-ssa-dse.cc (dse_classify_store): Perform backedge
7989         varying index check when collecting PHI uses rather than
7990         after optimizing processing of the candidate defs.
7992 2022-10-28  Richard Biener  <rguenther@suse.de>
7994         PR tree-optimization/107447
7995         * tree-ssa-loop-im.cc (determine_max_movement): Do not
7996         hoist returns-twice calls.
7998 2022-10-28  Richard Biener  <rguenther@suse.de>
8000         PR tree-optimization/107435
8001         * tree-vect-loop.cc (vectorizable_recurr): Convert initial
8002         value to vector component type.
8004 2022-10-28  Julian Brown  <julian@codesourcery.com>
8005             Thomas Schwinge  <thomas@codesourcery.com>
8007         PR middle-end/90115
8008         * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
8009         privatization candidates.
8011 2022-10-28  Martin Liska  <mliska@suse.cz>
8013         PR sanitizer/107298
8014         * doc/invoke.texi: Document sanitizers can trigger warnings.
8016 2022-10-28  Thomas Schwinge  <thomas@codesourcery.com>
8018         * doc/makefile.texi (Makefile Targets): Document
8019         'distclean-stage[N]'.
8021 2022-10-28  Aldy Hernandez  <aldyh@redhat.com>
8023         * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
8025 2022-10-27  Eric Botcazou  <ebotcazou@adacore.com>
8027         * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
8029 2022-10-27  H.J. Lu  <hjl.tools@gmail.com>
8031         PR target/107172
8032         * config/i386/i386.md (UNSPEC_CC_NE): New.
8033         Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
8035 2022-10-27  Andrew Pinski  <apinski@marvell.com>
8037         * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
8038         (replace_phi_edge_with_variable):
8039         New argument, dce_ssa_names. Call simple_dce_from_worklist.
8040         (match_simplify_replacement): If we inserted a sequence,
8041         mark the lhs of the new sequence to be possible dce.
8042         Always move the statement and mark the lhs (if it is a name)
8043         as possible to remove.
8045 2022-10-27  Richard Sandiford  <richard.sandiford@arm.com>
8047         * config/aarch64/aarch64-protos.h: Replace constexpr with
8048         CONSTEXPR.
8049         * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
8050         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
8051         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
8052         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
8053         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
8054         * config/aarch64/aarch64.cc: Likewise.
8055         * config/aarch64/driver-aarch64.cc: Likewise
8057 2022-10-27  Aldy Hernandez  <aldyh@redhat.com>
8059         PR tree-optimization/107394
8060         * value-range-storage.cc (frange_storage_slot::get_frange): Use
8061         frange constructor.
8063 2022-10-27  Thomas Schwinge  <thomas@codesourcery.com>
8065         * optc-save-gen.awk: Clarify 'Init' option property usage for
8066         streaming optimization.
8068 2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
8069             Yvan ROUX  <yvan.roux@foss.st.com>
8071         * ira.cc: Resize array after reg number increased.
8073 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
8074             Sinan Lin  <sinan@isrc.iscas.ac.cn>
8076         * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
8077         use while Zfinx is enable.
8078         * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
8079         registers use when Zdinx enable in RV32 cases.
8080         (riscv_option_override): New target enable MASK_FDIV.
8081         (riscv_libgcc_floating_mode_supported_p): New error info when
8082         use incompatible arch&abi.
8083         (riscv_excess_precision): New target enable FLOAT16.
8085 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
8087         * config/riscv/iterators.md (TARGET_ZFINX):New target.
8088         (TARGET_ZDINX): Ditto.
8089         (TARGET_ZHINX): Ditto.
8090         * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
8091         (riscv_atomic_assign_expand_fenv): Ditto.
8092         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
8093         * config/riscv/riscv.md: Ditto.
8095 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
8096             Sinan Lin  <sinan@isrc.iscas.ac.cn>
8098         * common/config/riscv/riscv-common.cc: New extensions.
8099         * config/riscv/arch-canonicalize: New imply relations.
8100         * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
8101         (MASK_ZDINX): Ditto.
8102         (MASK_ZHINX): Ditto.
8103         (MASK_ZHINXMIN): Ditto.
8104         (TARGET_ZFINX): New target.
8105         (TARGET_ZDINX): Ditto.
8106         (TARGET_ZHINX): Ditto.
8107         (TARGET_ZHINXMIN): Ditto.
8108         * config/riscv/riscv.opt: New target variable.
8110 2022-10-26  David Faust  <david.faust@oracle.com>
8112         * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
8113         (enum bpf_builtins): Add new builtin.
8114         (bpf_init_builtins): Likewise.
8115         (bpf_core_field_info): New function.
8116         (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
8117         relocation to...
8118         (maybe_make_core_relo): ... here. New function.
8119         (bpf_resolve_overloaded_builtin): Accomodate new builtin.
8120         (bpf_core_newdecl): Likewise.
8121         (bpf_core_walk): Likewise.
8122         (bpf_core_is_maybe_aggregate_access): Improve logic.
8123         (struct core_walk_data): New.
8124         * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
8125         relocation kinds.
8126         * config/bpf/coreout.h: Analogous change.
8127         * doc/extend.texi: Document BPF __builtin_preserve_field_info.
8129 2022-10-26  Marek Polacek  <polacek@redhat.com>
8131         PR c++/106393
8132         * doc/invoke.texi: Document -Wdangling-reference.
8134 2022-10-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
8136         * config/xtensa/xtensa.md (movdi):
8137         Copy operands[0...1] to ops[0...3] and then use the latter before
8138         calling xtensa_split_DI_reg_imm() and emitting insns.
8140 2022-10-26  Alexander Monakov  <amonakov@ispras.ru>
8142         PR other/107353
8143         * ipa-visibility.cc (function_and_variable_visibility):
8144         Conditionally upgrade TLS model instead of asserting.
8146 2022-10-26  Andrew MacLeod  <amacleod@redhat.com>
8148         * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
8149         stmt is non-negative and adjust the range.
8151 2022-10-26  Martin Liska  <mliska@suse.cz>
8153         * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
8154         (reset_cpu_feature): New.
8155         (get_zhaoxin_cpu): Use reset_cpu_feature.
8157 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8159         * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
8161 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8163         PR target/107357
8164         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
8165         (ADJUST_NUNITS): Adjust according to -march.
8166         (ADJUST_BYTESIZE): Ditto.
8167         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
8168         Remove.
8169         (riscv_v_ext_vector_mode_p): Change function implementation.
8170         * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
8171         Change to riscv_v_ext_vector_mode_p.
8172         (register_builtin_type): Ditto.
8173         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
8174         modes.
8175         (ENTRY): Ditto.
8176         (riscv_v_ext_enabled_vector_mode_p): Remove.
8177         (riscv_v_adjust_nunits): New function.
8178         (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
8179         * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
8181 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8183         * config.gcc (riscv*): Add riscv-v.o to extra_objs.
8184         * config/riscv/constraints.md (vu): New constraint.
8185         (vi): Ditto.
8186         (Wc0): Ditto.
8187         (Wc1): Ditto.
8188         * config/riscv/predicates.md (vector_length_operand): New.
8189         (reg_or_mem_operand): Ditto.
8190         (vector_move_operand): Ditto.
8191         (vector_mask_operand): Ditto.
8192         (vector_merge_operand): Ditto.
8193         * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
8194         (riscv_vector::const_vec_all_same_in_range_p): Ditto.
8195         (riscv_vector::legitimize_move): Ditto.
8196         (tail_policy): Ditto.
8197         (mask_policy): Ditto.
8198         * config/riscv/riscv-v.cc: New.
8199         * config/riscv/riscv-vector-builtins-bases.cc
8200         (vsetvl::expand): Refactor how LMUL encoding.
8201         * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
8202         print and mask operand print.
8203         (riscv_regmode_natural_size): New.
8204         * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
8205         * config/riscv/riscv.md (mode): Add vector modes.
8206         * config/riscv/t-riscv (riscv-v.o) New.
8207         * config/riscv/vector-iterators.md: New.
8208         * config/riscv/vector.md (vundefined<mode>): New.
8209         (mov<mode>): New.
8210         (*mov<mode>): New.
8211         (@vsetvl<mode>_no_side_effects): New.
8212         (@pred_mov<mode>): New.
8214 2022-10-26  Monk Chiang  <monk.chiang@sifive.com>
8216         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
8217         Add svinval and svnapot extension.
8218         (riscv_ext_flag_table): Ditto.
8219         * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
8220         (MASK_SVNAPOT): Ditto.
8221         (TARGET_SVINVAL): Ditto.
8222         (TARGET_SVNAPOT): Ditto.
8223         * config/riscv/riscv.opt (riscv_sv_subext): New.
8225 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8227         * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
8229 2022-10-26  Martin Liska  <mliska@suse.cz>
8231         * configure: Regenerate.
8233 2022-10-26  Aldy Hernandez  <aldyh@redhat.com>
8235         * value-range.cc (frange::set): Use HONOR_*.
8236         (frange::verify_range): Same.
8237         * value-range.h (frange_val_min): Same.
8238         (frange_val_max): Same.
8240 2022-10-26  Jiufu Guo  <guojiufu@linux.ibm.com>
8242         PR target/106460
8243         * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
8244         for HIGH code rtx.
8246 2022-10-26  Kito Cheng  <kito.cheng@sifive.com>
8248         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
8249         Add `h`.
8250         (riscv_supported_std_ext): Ditto.
8251         (multi_letter_subset_rank): Remove `h`.
8252         (riscv_subset_list::parse_std_ext): Handle `h` as single letter
8253         extension.
8254         (riscv_subset_list::parse): Ditto.
8256 2022-10-25  Eugene Rozenfeld  <erozen@microsoft.com>
8258         * auto-profile.cc (get_combined_location): Include discriminator in the
8259         returned combined location.
8260         (read_function_instance): Read discriminators from profiles.
8262 2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
8264         PR target/107304
8265         * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
8266         field with vector raw mode.
8268 2022-10-25  Segher Boessenkool  <segher@kernel.crashing.org>
8270         * config/rs6000/rs6000.md (CCEITHER): Delete.
8271         (CCANY): New.
8272         (un): Delete.
8273         (isel_<un>signed_<GPR:mode>): Rename to...
8274         (isel_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
8275         (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
8276         (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
8277         (setbc_<un>signed_<GPR:mode>): Rename to...
8278         (setbc_<CCANY:mode>_<GPR:mode>C): ... this.  Adjust."
8279         (*setbcr_<un>signed_<GPR:mode>): Rename to ...
8280         (*setbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
8281         (*setnbc_<un>signed_<GPR:mode>): Rename to ...
8282         (*setnbc_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
8283         (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
8284         (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
8285         (eq<mode>3 for GPR): Adjust.
8286         (ne<mode>3 for GPR): Adjust.
8287         * config/rs6000/rs6000-string.cc (do_isel): Adjust.
8288         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
8290 2022-10-25  Richard Biener  <rguenther@suse.de>
8292         PR tree-optimization/107176
8293         PR tree-optimization/66375
8294         PR tree-optimization/42512
8295         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
8296         the PR66375 fix, do not not associate PLUS_EXPR to be able
8297         to use tail-recursion.
8298         (follow_ssa_edge_binary): Likewise.
8299         (interpret_loop_phi): Revert PR42512 fix, do not throw
8300         away analyze_evolution_in_loop result after the fact.
8301         (follow_ssa_edge_expr): When reaching halting_phi initalize
8302         the evolution to the symbolic value of the PHI result.
8303         (add_to_evolution_1): When adding the first evolution verify
8304         we can handle the expression wrapping the symbolic evolution
8305         and replace that in full using the initial condition.
8306         (class scev_dfs): New, contains ...
8307         (follow_ssa_edge_expr, follow_ssa_edge_binary,
8308         follow_ssa_edge_in_condition_phi_branch,
8309         follow_ssa_edge_in_condition_phi,
8310         follow_ssa_edge_inner_loop_phi,
8311         add_to_evolution, add_to_evolution_1): ... these with
8312         loop and halting_phi arguments in class data.
8313         (scev_dfs::get_ev): New toplevel DFS entry, start with
8314         a chrec_dont_know evolution.
8315         (analyze_evolution_in_loop): Use scev_dfs.
8317 2022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
8319         * profile.cc (branch_prob): Be prepared for ignored functions with
8320         DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
8322 2022-10-25  Richard Biener  <rguenther@suse.de>
8324         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
8325         STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
8327 2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
8329         * common/config/i386/i386-common.cc (processor_alias_table): Use
8330         CPU_ZNVER3 for znver4.
8331         * config/i386/znver.md: Remove znver4 reservations.
8333 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
8335         * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
8336         and There -> These.
8338 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
8340         PR tree-optimization/107368
8341         * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
8342         conditions call gimple_boolify on the condition.
8344 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
8346         * config.gcc: add -with-compact-branches=policy build option.
8347         * doc/install.texi: Likewise.
8348         * config/mips/mips.h: Likewise.
8350 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
8352         * config/mips/mips.cc (mips_option_override): not trigger error
8353         for compact-branches=always for pre-R6.
8354         * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
8355         compact-branches=always for pre-R6.
8356         (TARGET_CB_NEVER): Likewise.
8357         (TARGET_CB_ALWAYS): Likewise.
8358         (struct mips_cpu_info): define macros for compact branch policy.
8359         * doc/invoke.texi: Document "always" with pre-R6.
8361 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
8363         PR tree-optimization/107369
8364         * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
8365         IFN_ASSUME the same as for -O0.
8367 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
8369         * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
8370         * configure: Regenerated.
8371         * config.in: Regenerated.
8372         * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
8373         if ENABLE_MULTIARCH is defined.
8374         * config/mips/t-linux64: define correct multiarch path when
8375         multiarch is enabled.
8377 2022-10-25  Richard Biener  <rguenther@suse.de>
8379         PR tree-optimization/100756
8380         * tree-ssa-loop-niter.cc (expand_simple_operations): Also
8381         expand multiplications by invariants.
8383 2022-10-25  Kewen Lin  <linkw@linux.ibm.com>
8385         PR tree-optimization/107338
8386         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
8387         shfit_n calculation before the adjustments for widening loads.
8389 2022-10-25  Martin Liska  <mliska@suse.cz>
8391         * common/config/riscv/riscv-common.cc
8392         (riscv_get_valid_option_values): Get out of ifdef.
8394 2022-10-25  Martin Liska  <mliska@suse.cz>
8396         PR target/107364
8397         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
8398         Fix pedantic warning.
8400 2022-10-24  Martin Liska  <mliska@suse.cz>
8402         PR analyzer/107366
8403         * diagnostic-format-sarif.cc
8404         (sarif_builder::maybe_make_physical_location_object): Gracefully
8405         reject locations with NULL filename.
8407 2022-10-24  David Malcolm  <dmalcolm@redhat.com>
8409         PR analyzer/106300
8410         * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
8411         "pipe2" to the list of functions the analyzer has hardcoded
8412         knowledge of.
8414 2022-10-24  Jason Merrill  <jason@redhat.com>
8416         * tree.h (build_string_literal): New one-argument overloads that
8417         take tree (identifier) and const char *.
8418         * builtins.cc (fold_builtin_FILE)
8419         (fold_builtin_FUNCTION)
8420         * gimplify.cc (gimple_add_init_for_auto_var)
8421         * vtable-verify.cc (verify_bb_vtables): Simplify calls.
8423 2022-10-24  Martin Liska  <mliska@suse.cz>
8425         PR target/107364
8426         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
8427         Reorder enum values as BUILTIN_VENDOR_MAX should not point
8428         in the middle of the valid enum values.
8430 2022-10-24  Marek Polacek  <polacek@redhat.com>
8432         PR c++/107276
8433         * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
8434         when the type is erroneous.
8436 2022-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
8438         PR target/106583
8439         * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
8440         Add support for a bitmask immediate with 2 MOVKs.
8441         (aarch64_check_bitmask): New function after refactorization.
8442         (aarch64_bitmask_imm): Simplify replication of small modes.
8443         Split function into 64-bit only version for efficiency.
8444         (aarch64_move_imm): Move near other immediate functions.
8445         (aarch64_uimm12_shift): Likewise.
8446         (aarch64_clamp_to_uimm12_shift): Likewise.
8447         (aarch64_movk_shift): Likewise.
8448         (aarch64_replicate_bitmask_imm): Likewise.
8449         (aarch64_and_split_imm1): Likewise.
8450         (aarch64_and_split_imm2): Likewise.
8451         (aarch64_and_bitmask_imm): Likewise.
8452         (aarch64_movw_imm): Likewise.
8454 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
8456         PR tree-optimization/107355
8457         * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
8459 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
8461         PR middle-end/107236
8462         * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
8463         in DECL_CONTEXT and not to cfun->decl.
8464         * cgraphclones.cc (cgraph_node::create_clone): Copy also the
8465         node's calls_declare_variant_alt value.
8467 2022-10-24  Kito Cheng  <kito.cheng@sifive.com>
8469         * common/config/riscv/riscv-common.cc (riscv_tunes): New.
8470         (riscv_get_valid_option_values): New.
8471         (TARGET_GET_VALID_OPTION_VALUES): New.
8472         * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
8473         for tune here.
8474         (RISCV_CORE): Fix comment.
8475         * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
8476         riscv-cores.def.
8478 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
8480         PR tree-optimization/107365
8481         * value-range.cc (frange::verify_range): Predicate NAN check in
8482         VARYING range on HONOR_NANS instead of flag_finite_math_only.
8483         (range_tests_floats): Same.
8484         (range_tests_floats_various): New.
8485         (range_tests): Call range_tests_floats_various.
8487 2022-10-24  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
8488             Yvan ROUX  <yvan.roux@foss.st.com>
8490         * lto-wrapper.cc: Quote paths in makefile.
8492 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8494         * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
8496 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8498         * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
8499         with constexpr throughout.
8500         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
8501         * config/riscv/riscv-vector-builtins.cc
8502         (struct registered_function_hasher): Likewise.
8503         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
8504         Likewise.
8506 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8508         * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
8510 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8512         * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
8514 2022-10-22  Michael Eager  <eager@eagercon.com>
8516         * config/microblaze/microblaze.cc
8517         (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
8518         (microblaze_address_insns): Replace abort() with gcc_unreachable().
8519         (print_operand_address): Same.
8520         (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
8521         (get_branch_target): Replace abort() with gcc_unreachable().
8523 2022-10-22  Aldy Hernandez  <aldyh@redhat.com>
8525         * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
8526         with !flag_finite_math_only.
8528 2022-10-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
8530         * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
8531         Remove register A0 from FIXED_REGS if the CALL0 ABI.
8532         (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
8533         unconditionally after restoring callee-saved registers for
8534         sibling-call functions, in order to prevent misleading that
8535         register A0 is free to use.
8537 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
8539         PR target/107322
8540         * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
8541         BFmode comparisons promote arguments to SFmode and recurse.
8542         (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
8543         if comparison operands are BFmode and operands[1] is not
8544         ix86_fp_comparison_operator.
8546 2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
8548         * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
8549         * common/config/i386/i386-common.cc (processor_names): Add znver4.
8550         (processor_alias_table): Add znver4 and modularize old znvers.
8551         * common/config/i386/i386-cpuinfo.h (processor_subtypes):
8552         AMDFAM19H_ZNVER4.
8553         * config.gcc (x86_64-*-* |...): Likewise.
8554         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
8555         -march=native recognize znver4 cpus.
8556         * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
8557         * config/i386/i386-options.cc (m_ZNVER4): New definition.
8558         (m_ZNVER): Include m_ZNVER4.
8559         (processor_cost_table): Add znver4.
8560         * config/i386/i386.cc (ix86_reassociation_width): Likewise.
8561         * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
8562         (PTA_ZNVER1): New definition.
8563         (PTA_ZNVER2): Likewise.
8564         (PTA_ZNVER3): Likewise.
8565         (PTA_ZNVER4): Likewise.
8566         * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
8567         md file.
8568         * config/i386/x86-tune-costs.h (znver4_cost): New definition.
8569         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
8570         (ix86_adjust_cost): Likewise.
8571         * config/i386/znver1.md: Rename to znver.md.
8572         * config/i386/znver.md: Add new reservations for znver4.
8573         * doc/extend.texi: Add details about znver4.
8574         * doc/invoke.texi: Likewise.
8576 2022-10-21  Richard Biener  <rguenther@suse.de>
8578         PR tree-optimization/107323
8579         * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
8580         New function.
8581         (loop_distribution::break_alias_scc_partitions): Revert
8582         postorder save/restore from the PR94125 fix.  Instead
8583         make sure to not ignore edges from SCCs we are going to
8584         merge.
8586 2022-10-21  Monk Chiang  <monk.chiang@sifive.com>
8588         * config/riscv/riscv.md: Add atomic type attribute.
8589         * config/riscv/sync.md: Add atomic type for atomic instructions.
8591 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
8593         PR tree-optimization/54346
8594         * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
8595         Optimize nested VEC_PERM_EXPRs even if target can't handle the
8596         new one provided we don't increase number of VEC_PERM_EXPRs the
8597         target can't handle.
8599 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8601         * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
8602         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
8603         (DEF_RVV_FUNCTION): Ditto.
8604         (handle_pragma_vector): Add intrinsic framework.
8605         * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
8606         * config/riscv/riscv.md: include vector.md.
8607         * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
8608         * config/riscv/riscv-vector-builtins-bases.cc: New file.
8609         * config/riscv/riscv-vector-builtins-bases.h: New file.
8610         * config/riscv/riscv-vector-builtins-functions.def: New file.
8611         * config/riscv/riscv-vector-builtins-shapes.cc: New file.
8612         * config/riscv/riscv-vector-builtins-shapes.h: New file.
8613         * config/riscv/riscv-vector-builtins-types.def: New file.
8614         * config/riscv/vector.md: New file.
8616 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8618         * config.gcc: Add gt files since function_instance is GTY ((user)).
8619         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
8620         (riscv_builtin_decl): Ditto.
8621         (riscv_expand_builtin): Ditto.
8622         * config/riscv/riscv-protos.h (builtin_decl): New function.
8623         (expand_builtin): Ditto.
8624         (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
8625         * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
8626         (struct registered_function_hasher): New struct.
8627         (DEF_RVV_OP_TYPE): New macro.
8628         (DEF_RVV_TYPE): Ditto.
8629         (DEF_RVV_PRED_TYPE): Ditto.
8630         (GTY): New declaration.
8631         (add_attribute): New function.
8632         (check_required_extensions): Ditto.
8633         (rvv_arg_type_info::get_tree_type): Ditto.
8634         (function_instance::function_instance): Ditto.
8635         (function_instance::operator==): Ditto.
8636         (function_instance::any_type_float_p): Ditto.
8637         (function_instance::get_return_type): Ditto.
8638         (function_instance::get_arg_type): Ditto.
8639         (function_instance::hash): Ditto.
8640         (function_instance::call_properties): Ditto.
8641         (function_instance::reads_global_state_p): Ditto.
8642         (function_instance::modifies_global_state_p): Ditto.
8643         (function_instance::could_trap_p): Ditto.
8644         (function_builder::function_builder): Ditto.
8645         (function_builder::~function_builder): Ditto.
8646         (function_builder::allocate_argument_types): Ditto.
8647         (function_builder::register_function_group): Ditto.
8648         (function_builder::append_name): Ditto.
8649         (function_builder::finish_name): Ditto.
8650         (function_builder::get_attributes): Ditto.
8651         (function_builder::add_function): Ditto.
8652         (function_builder::add_unique_function): Ditto.
8653         (function_call_info::function_call_info): Ditto.
8654         (function_expander::function_expander): Ditto.
8655         (function_expander::add_input_operand): Ditto.
8656         (function_expander::generate_insn): Ditto.
8657         (registered_function_hasher::hash): Ditto.
8658         (registered_function_hasher::equal): Ditto.
8659         (builtin_decl): Ditto.
8660         (expand_builtin): Ditto.
8661         (gt_ggc_mx): Define for using GCC garbage collect.
8662         (gt_pch_nx): Define for using GCC garbage collect.
8663         * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
8664         (DEF_RVV_PRED_TYPE): Ditto.
8665         (vbool64_t): Add suffix.
8666         (vbool32_t): Ditto.
8667         (vbool16_t): Ditto.
8668         (vbool8_t): Ditto.
8669         (vbool4_t): Ditto.
8670         (vbool2_t): Ditto.
8671         (vbool1_t): Ditto.
8672         (vint8mf8_t): Ditto.
8673         (vuint8mf8_t): Ditto.
8674         (vint8mf4_t): Ditto.
8675         (vuint8mf4_t): Ditto.
8676         (vint8mf2_t): Ditto.
8677         (vuint8mf2_t): Ditto.
8678         (vint8m1_t): Ditto.
8679         (vuint8m1_t): Ditto.
8680         (vint8m2_t): Ditto.
8681         (vuint8m2_t): Ditto.
8682         (vint8m4_t): Ditto.
8683         (vuint8m4_t): Ditto.
8684         (vint8m8_t): Ditto.
8685         (vuint8m8_t): Ditto.
8686         (vint16mf4_t): Ditto.
8687         (vuint16mf4_t): Ditto.
8688         (vint16mf2_t): Ditto.
8689         (vuint16mf2_t): Ditto.
8690         (vint16m1_t): Ditto.
8691         (vuint16m1_t): Ditto.
8692         (vint16m2_t): Ditto.
8693         (vuint16m2_t): Ditto.
8694         (vint16m4_t): Ditto.
8695         (vuint16m4_t): Ditto.
8696         (vint16m8_t): Ditto.
8697         (vuint16m8_t): Ditto.
8698         (vint32mf2_t): Ditto.
8699         (vuint32mf2_t): Ditto.
8700         (vint32m1_t): Ditto.
8701         (vuint32m1_t): Ditto.
8702         (vint32m2_t): Ditto.
8703         (vuint32m2_t): Ditto.
8704         (vint32m4_t): Ditto.
8705         (vuint32m4_t): Ditto.
8706         (vint32m8_t): Ditto.
8707         (vuint32m8_t): Ditto.
8708         (vint64m1_t): Ditto.
8709         (vuint64m1_t): Ditto.
8710         (vint64m2_t): Ditto.
8711         (vuint64m2_t): Ditto.
8712         (vint64m4_t): Ditto.
8713         (vuint64m4_t): Ditto.
8714         (vint64m8_t): Ditto.
8715         (vuint64m8_t): Ditto.
8716         (vfloat32mf2_t): Ditto.
8717         (vfloat32m1_t): Ditto.
8718         (vfloat32m2_t): Ditto.
8719         (vfloat32m4_t): Ditto.
8720         (vfloat32m8_t): Ditto.
8721         (vfloat64m1_t): Ditto.
8722         (vfloat64m2_t): Ditto.
8723         (vfloat64m4_t): Ditto.
8724         (vfloat64m8_t): Ditto.
8725         (vv): Ditto.
8726         (vx): Ditto.
8727         (v): Ditto.
8728         (wv): Ditto.
8729         (wx): Ditto.
8730         (x_x_v): Ditto.
8731         (vf2): Ditto.
8732         (vf4): Ditto.
8733         (vf8): Ditto.
8734         (vvm): Ditto.
8735         (vxm): Ditto.
8736         (x_x_w): Ditto.
8737         (v_v): Ditto.
8738         (v_x): Ditto.
8739         (vs): Ditto.
8740         (mm): Ditto.
8741         (m): Ditto.
8742         (vf): Ditto.
8743         (vm): Ditto.
8744         (wf): Ditto.
8745         (vfm): Ditto.
8746         (v_f): Ditto.
8747         (ta): Ditto.
8748         (tu): Ditto.
8749         (ma): Ditto.
8750         (mu): Ditto.
8751         (tama): Ditto.
8752         (tamu): Ditto.
8753         (tuma): Ditto.
8754         (tumu): Ditto.
8755         (tam): Ditto.
8756         (tum): Ditto.
8757         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
8758         (RVV_REQUIRE_RV64BIT): Ditto.
8759         (RVV_REQUIRE_ZVE64): Ditto.
8760         (RVV_REQUIRE_ELEN_FP_32): Ditto.
8761         (RVV_REQUIRE_ELEN_FP_64): Ditto.
8762         (enum operand_type_index): New enum.
8763         (DEF_RVV_OP_TYPE): New macro.
8764         (enum predication_type_index): New enum.
8765         (DEF_RVV_PRED_TYPE): New macro.
8766         (enum rvv_base_type): New enum.
8767         (struct rvv_builtin_suffixes): New struct.
8768         (struct rvv_arg_type_info): Ditto.
8769         (struct rvv_type_info): Ditto.
8770         (struct rvv_op_info): Ditto.
8771         (class registered_function): New class.
8772         (class function_base): Ditto.
8773         (class function_shape): Ditto.
8774         (struct function_group_info): New struct.
8775         (class GTY): New class.
8776         (class function_builder): Ditto.
8777         (class function_call_info): Ditto.
8778         (function_call_info::function_returns_void_p): New function.
8779         (class function_expander): New class.
8780         (function_instance::operator!=): New function.
8781         (function_expander::expand): Ditto.
8782         (function_expander::add_input_operand): Ditto.
8783         (function_base::call_properties): Ditto.
8785 2022-10-21  Haochen Jiang  <haochen.jiang@intel.com>
8787         * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
8788         (ssedvecmodelower): Rename from vi1si.
8789         (sdot_prod<mode>): New define_expand.
8790         (udot_prod<mode>): Ditto.
8792 2022-10-21  Kong Lingling  <lingling.kong@intel.com>
8793             Hongyu Wang  <hongyu.wang@intel.com>
8794             Haochen Jiang  <haochen.jiang@intel.com>
8796         * common/config/i386/cpuinfo.h (get_available_features): Detect
8797         avxvnniint8.
8798         * common/config/i386/i386-common.cc
8799         (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
8800         (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
8801         (ix86_handle_option): Handle -mavxvnniint8.
8802         * common/config/i386/i386-cpuinfo.h (enum processor_features):
8803         Add FEATURE_AVXVNNIINT8.
8804         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8805         avxvnniint8.
8806         * config.gcc: Add avxvnniint8intrin.h.
8807         * config/i386/avxvnniint8intrin.h: New file.
8808         * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
8809         * config/i386/i386-builtin.def: Add new builtins.
8810         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8811         __AVXVNNIINT8__.
8812         * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
8813         (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
8814         * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
8815         * config/i386/i386.opt: Add option -mavxvnniint8.
8816         * config/i386/immintrin.h: Include avxvnniint8intrin.h.
8817         * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
8818         UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
8819         UNSPEC_VPMADDWDACCSSD): Rename according to new style.
8820         (vpdp<vpdotprodtype>_<mode>): New define_insn.
8821         * doc/extend.texi: Document avxvnniint8.
8822         * doc/invoke.texi: Document -mavxvnniint8.
8823         * doc/sourcebuild.texi: Document target avxvnniint8.
8825 2022-10-21  Hongyu Wang  <hongyu.wang@intel.com>
8827         * common/config/i386/i386-common.cc
8828         (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
8829         OPTION_MASK_ISA2_AVX2_UNSET): New macro.
8830         (ix86_handle_option): Handle -mavxifma.
8831         * common/config/i386/i386-cpuinfo.h (processor_types): Add
8832         FEATURE_AVXIFMA.
8833         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8834         avxifma.
8835         * common/config/i386/cpuinfo.h (get_available_features):
8836         Detect avxifma.
8837         * config.gcc: Add avxifmaintrin.h
8838         * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
8839         to macro.
8840         (_mm_madd52hi_epu64): Likewise.
8841         (_mm256_madd52lo_epu64): Likewise.
8842         (_mm256_madd52hi_epu64): Likewise.
8843         * config/i386/avxifmaintrin.h: New header.
8844         * config/i386/cpuid.h (bit_AVXIFMA): New.
8845         * config/i386/i386-builtin.def: Add new builtins, and correct
8846         pattern names for AVX512IFMA.
8847         * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
8848         builtins like AVX-VNNI.
8849         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8850         __AVXIFMA__.
8851         * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
8852         Relax ISA masks for AVXIFMA.
8853         * config/i386/i386-isa.def: Add AVXIFMA.
8854         * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
8855         (ix86_valid_target_attribute_inner_p): Handle avxifma.
8856         * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
8857         * config/i386/i386.opt: Add option -mavxifma.
8858         * config/i386/immintrin.h: Inculde avxifmaintrin.h.
8859         * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
8860         Remove.
8861         (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
8862         (vpamdd52huq<mode>_maskz): Rename to ...
8863         (vpmadd52huq<mode>_maskz): ... this.
8864         (vpamdd52luq<mode>_maskz): Rename to ...
8865         (vpmadd52luq<mode>_maskz): ... this.
8866         (vpmadd52<vpmadd52type><mode>): New define_insn.
8867         (vpmadd52<vpmadd52type>v8di): Likewise.
8868         (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
8869         (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
8870         (vpmadd52<vpmadd52type><mode>_mask): ... this.
8871         * doc/invoke.texi: Document -mavxifma.
8872         * doc/extend.texi: Document avxifma.
8873         * doc/sourcebuild.texi: Document target avxifma.
8875 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8877         PR c++/106654
8878         * value-query.cc (get_range_global): Handle non integer ranges for
8879         default def SSA names.
8881 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8883         * range-op-float.cc (foperator_unordered_lt::op1_range): New.
8884         (foperator_unordered_lt::op2_range): New.
8886 2022-10-20  Artem Klimov  <jakmobius@gmail.com>
8887             Alexander Monakov   <amonakov@gcc.gnu.org>
8889         PR middle-end/99619
8890         * ipa-visibility.cc (function_and_variable_visibility): Promote
8891         TLS access model afer visibility optimizations.
8892         * varasm.cc (have_optimized_refs): New helper.
8893         (optimize_dyn_tls_for_decl_p): New helper. Use it ...
8894         (decl_default_tls_model): ... here in place of 'optimize' check.
8896 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8898         * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
8899         false side with a NAN operand.
8900         (foperator_unordered_le::op2_range): Same.
8901         (foperator_unordered_gt::op1_range): Same.
8902         (foperator_unordered_gt::op2_range): Same.
8903         (foperator_unordered_ge::op1_range): Same.
8904         (foperator_unordered_ge::op2_range): Same.
8905         (foperator_unordered_equal::op1_range): Same.
8907 2022-10-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8909         PR tree-optimization/107326
8910         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
8911         vectype when widening container.
8913 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8915         * value-range.h (frange::set_varying): Do not set NAN flags for
8916         !HONOR_NANS.
8917         * value-range.cc (frange::normalize_kind): Adjust for no NAN when
8918         !HONOR_NANS.
8919         (frange::verify_range): Same.
8920         * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
8922 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
8924         * range-op-float.cc (finite_operand_p): Remove.
8925         (finite_operands_p): Rename to...
8926         (maybe_isnan): ...this.
8927         (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
8928         (foperator_equal::fold_range): Same.
8929         (foperator_equal::op1_range): Same.
8930         (foperator_not_equal::fold_range): Same.
8931         (foperator_lt::fold_range): Same.
8932         (foperator_le::fold_range): Same.
8933         (foperator_gt::fold_range): Same.
8934         (foperator_ge::fold_range): Same.
8936 2022-10-20  Jakub Jelinek  <jakub@redhat.com>
8938         * passes.cc (pass_manager::register_pass): Fix a comment
8939         typo - copmilation -> compilation.
8941 2022-10-20  Richard Biener  <rguenther@suse.de>
8943         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
8944         Disallow latch PHI defs.
8945         (vectorizable_recurr): Revert previous change.
8947 2022-10-20  Julian Brown  <julian@codesourcery.com>
8949         PR target/105421
8950         * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
8951         argument forces FLAT addressing mode, not just
8952         pointer-to-non-aggregate.
8954 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
8956         * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
8957         * configure: Regenerate.
8959 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8961         * config/aarch64/aarch64-sve-builtins.h
8962         (gimple_folder::fold_to_cstu): New member function.
8963         * config/aarch64/aarch64-sve-builtins.cc
8964         (gimple_folder::fold_to_cstu): Define.
8965         * config/aarch64/aarch64-sve-builtins-base.cc
8966         (svcnt_bhwd_impl::fold): Use it.
8968 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8970         * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
8971         (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
8972         (unspec_based_function_rotated, unspec_based_function_exact_insn)
8973         (unspec_based_fused_function, unspec_based_fused_lane_function):
8974         Replace constructors with using directives.
8975         * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
8976         (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
8977         (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
8978         (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
8979         (svst234_impl, svundef_impl): Likewise.
8980         * config/aarch64/aarch64-sve-builtins-sve2.cc
8981         (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
8982         (svstnt1_scatter_truncate_impl): Likewise.
8984 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8986         * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
8987         with constexpr throughout.
8988         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
8989         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
8990         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
8991         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
8993 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
8995         * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
8996         merging alternative.
8997         (*aarch64_brk<brk_op>_ptest): Likewise.
8999 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
9001         * config/aarch64/iterators.md (SVE_BRKP): New iterator.
9002         * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
9003         (*aarch64_brkn_ptest): Likewise.
9004         (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
9005         (*aarch64_brk<brk_op>_ptest): Likewise.
9007 2022-10-20  Richard Biener  <rguenther@suse.de>
9009         PR c/107305
9010         PR c/107306
9011         * tree-cfg.h (verify_gimple_in_seq): Add parameter to
9012         indicate whether to emit an ICE.  Add return value.
9013         (verify_gimple_in_cfg): Likewise.
9014         * tree-cfg.cc (verify_gimple_in_seq): Likewise.
9015         (verify_gimple_in_cfg): Likewise.
9017 2022-10-20  Richard Biener  <rguenther@suse.de>
9019         PR tree-optimization/107240
9020         * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
9021         simplify shifted value first.
9023 2022-10-20  Andrew MacLeod  <amacleod@redhat.com>
9025         * gimple-range-gori.h (compute_operand_range): Make public.
9026         * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
9027         (gimple_infer_range::gimple_infer_range): Check for assume calls.
9028         * gimple-range-infer.h (check_assume_func): Add prototype.
9029         * gimple-range.cc (assume_query::assume_range_p): New.
9030         (assume_query::range_of_expr): New.
9031         (assume_query::assume_query): New.
9032         (assume_query::calculate_op): New.
9033         (assume_query::calculate_phi): New.
9034         (assume_query::check_taken_edge): New.
9035         (assume_query::calculate_stmt): New.
9036         (assume_query::dump): New.
9037         * gimple-range.h (class assume_query): New.
9038         * tree-vrp.cc (pass_assumptions::execute): Add processing.
9040 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
9042         * range-op-float.cc (build_le): Document result.
9043         (build_lt): Same.
9044         (build_ge): Same.
9045         (foperator_ge::op2_range): Check result of build_*.
9046         (foperator_unordered_le::op1_range): Same.
9047         (foperator_unordered_le::op2_range): Same.
9048         (foperator_unordered_gt::op1_range): Same.
9049         (foperator_unordered_gt::op2_range): Same.
9050         (foperator_unordered_ge::op1_range): Same.
9051         (foperator_unordered_ge::op2_range): Same.
9053 2022-10-19  Marek Polacek  <polacek@redhat.com>
9055         PR c++/85043
9056         * doc/invoke.texi: Update documentation of -Wuseless-cast.
9058 2022-10-19  Andrew MacLeod  <amacleod@redhat.com>
9060         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
9061         Value_Range not int_range_max.
9063 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
9065         PR tree-optimization/107312
9066         * range.h (range_true_and_false): Special case 1-bit signed types.
9067         * value-range.cc (range_tests_misc): New test.
9069 2022-10-19  LIU Hao  <lh_mouse@126.com>
9071         * config/i386/mingw-mcfgthread.h: New file
9072         * config/i386/mingw32.h: Add builtin macro and default libraries
9073         for mcfgthread when thread model is `mcf`
9074         * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
9075         is `mcf`
9076         * configure.ac: Recognize `mcf` as a valid thread model
9077         * config.in: Regenerate
9078         * configure: Regenerate
9080 2022-10-19  Lewis Hyatt  <lhyatt@gmail.com>
9082         * gengtype.cc (output_escaped_param): Add missing const.
9083         (get_string_option): Add missing check for option type.
9084         (walk_type): Support new "string_length" GTY option.
9085         (write_types_process_field): Likewise.
9086         * ggc-common.cc (gt_pch_note_object): Add optional length argument.
9087         * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
9088         (gt_pch_n_S2): Declare...
9089         * stringpool.cc (gt_pch_n_S2): ...new function.
9090         * doc/gty.texi: Document new GTY((string_length)) option.
9092 2022-10-19  Martin Liska  <mliska@suse.cz>
9094         * doc/extend.texi: Remove useless @tie{} directives.
9096 2022-10-19  Martin Jambor  <mjambor@suse.cz>
9098         PR tree-optimization/107206
9099         * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
9100         (analyze_access_subtree): Do not create replacements for accesses with
9101         this flag when not toally scalarizing.
9102         (propagate_subaccesses_from_lhs): Set the new flag.
9104 2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
9106         PR target/106355
9107         * config/s390/s390.cc (s390_call_saved_register_used): For a
9108         parameter with BLKmode fix determining number of consecutive
9109         registers.
9111 2022-10-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
9113         * config/xtensa/xtensa-protos.h
9114         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
9115         * config/xtensa/xtensa.cc
9116         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
9117         New functions.
9118         (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
9119         (xt_true_regnum): Rework.
9120         * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
9121         Switch from CALL_USED_REGISTERS, and revise the comment.
9122         * config/xtensa/constraints.md (Y):
9123         Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
9124         * config/xtensa/predicates.md (move_operand): Ditto.
9125         * config/xtensa/xtensa.md: Add two new split patterns:
9126         - splits DImode immediate load into two SImode ones
9127         - puts out-of-constraint SImode constants into the constant pool
9128         * config/xtensa/xtensa.opt (-mlra): New target-specific option
9129         for testing purpose.
9131 2022-10-19  Robin Dapp  <rdapp@linux.ibm.com>
9133         * config/s390/s390.md: Move reload_completed and check operands for REG_P.
9135 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
9137         PR middle-end/107262
9138         * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
9139         of constants, use simplify_unary_operation if fromi has VOIDmode
9140         instead of recursive convert_mode_scalar.
9142 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
9144         PR tree-optimization/106990
9145         * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
9146         !TYPE_OVERFLOW_SANITIZED (type).
9148 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
9150         * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
9151         (ix86_bf16_type_node): New variable.
9152         (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
9153         from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
9154         rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
9155         to bfloat16_type_node.  Register __bf16 on ix86_bf16_type_node
9156         rather than bfloat16_type_node.  Don't initialize unused
9157         ix86_bf16_ptr_type_node.
9158         * config/i386/i386-builtin-types.def (BFLOAT16): Use
9159         ix86_bf16_type_node rather than bfloat16_type_node.
9161 2022-10-19  Richard Biener  <rguenther@suse.de>
9163         PR tree-optimization/106781
9164         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
9165         LHS removal from fixup_noreturn_call.
9167 2022-10-19  liuhongt  <hongtao.liu@intel.com>
9169         PR target/107271
9170         * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
9171         (expand_vec_perm_shufps_shufps): Call
9172         ix86_vec_perm_index_canon
9174 2022-10-18  Martin Jambor  <mjambor@suse.cz>
9176         * ipa-prop.h (ipa_agg_value): Remove type.
9177         (ipa_agg_value_set): Likewise.
9178         (ipa_copy_agg_values): Remove function.
9179         (ipa_release_agg_values): Likewise.
9180         (ipa_auto_call_arg_values) Add a forward declaration.
9181         (ipa_call_arg_values): Likewise.
9182         (class ipa_argagg_value_list): New constructors, added member function
9183         value_for_index_p.
9184         (class ipa_auto_call_arg_values): Removed the destructor and member
9185         function safe_aggval_at.  Use ipa_argagg_values for m_known_aggs.
9186         (class ipa_call_arg_values): Removed member function safe_aggval_at.
9187         Use ipa_argagg_values for m_known_aggs.
9188         (ipa_get_indirect_edge_target): Removed declaration.
9189         (ipa_find_agg_cst_for_param): Likewise.
9190         (ipa_find_agg_cst_from_init): New declaration.
9191         (ipa_agg_value_from_jfunc): Likewise.
9192         (ipa_agg_value_set_from_jfunc): Removed declaration.
9193         (ipa_push_agg_values_from_jfunc): New declaration.
9194         * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
9195         ipa_agg_value_from_jfunc, made public.
9196         (ipa_agg_value_set_from_jfunc): Removed.
9197         (ipa_push_agg_values_from_jfunc): New function.
9198         (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
9199         avs for this purpose too.
9200         (ipa_get_indirect_edge_target): Removed the overload working on
9201         ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
9202         one.
9203         (devirtualization_time_bonus): Use ipa_argagg_value_list and
9204         ipa_get_indirect_edge_target_1 instead of
9205         ipa_get_indirect_edge_target.
9206         (context_independent_aggregate_values): Removed function.
9207         (gather_context_independent_values): Work on ipa_argagg_value_list.
9208         (estimate_local_effects): Likewise, define some iterator variables
9209         only in the construct where necessary.
9210         (ipcp_discover_new_direct_edges): Adjust the call to
9211         ipa_get_indirect_edge_target_1.
9212         (push_agg_values_for_index_from_edge): Adjust the call
9213         ipa_agg_value_from_node which has been renamed to
9214         ipa_agg_value_from_jfunc.
9215         * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
9216         ipa_argagg_value_list.
9217         (evaluate_properties_for_edge): Replace manual filling in aggregate
9218         values with call to ipa_push_agg_values_from_jfunc.
9219         (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
9220         (ipa_cached_call_context::duplicate_from): Likewise.
9221         (ipa_cached_call_context::release): Likewise.
9222         (ipa_call_context::equal_to): Likewise.
9223         * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
9224         (ipa_find_agg_cst_for_param): Removed function.
9225         (ipa_find_agg_cst_from_jfunc_items): New function.
9226         (try_make_edge_direct_simple_call): Replace calls to
9227         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
9228         ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
9229         (try_make_edge_direct_virtual_call): Replace calls to
9230         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
9231         simple query of constant jump function and a call to
9232         ipa_find_agg_cst_from_jfunc_items.
9233         (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
9235 2022-10-18  Martin Jambor  <mjambor@suse.cz>
9237         * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
9238         (ipcp_transformation): Added forward declaration.
9239         (ipa_argagg_value): New type.
9240         (ipa_argagg_value_list): New type.
9241         (ipa_agg_replacement_value): Removed type.
9242         (ipcp_transformation): Switch from using ipa_agg_replacement_value
9243         to ipa_argagg_value_list.
9244         (ipa_get_agg_replacements_for_node): Removed.
9245         (ipa_dump_agg_replacement_values): Removed declaration.
9246         * ipa-cp.cc: Define INCLUDE_ALGORITHM.
9247         (values_equal_for_ipcp_p): Moved up in the file.
9248         (ipa_argagg_value_list::dump): New function.
9249         (ipa_argagg_value_list::debug): Likewise.
9250         (ipa_argagg_value_list::get_elt): Likewise.
9251         (ipa_argagg_value_list::get_elt_for_index): Likewise.
9252         (ipa_argagg_value_list::get_value): New overloaded functions.
9253         (ipa_argagg_value_list::superset_of_p): New function.
9254         (new ipa_argagg_value_list::push_adjusted_values): Likewise.
9255         (push_agg_values_from_plats): Likewise.
9256         (intersect_argaggs_with): Likewise.
9257         (get_clone_agg_value): Removed.
9258         (ipa_agg_value_from_node): Make last parameter const, use
9259         ipa_argagg_value_list to search values coming from clones.
9260         (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
9261         values coming from clones.
9262         (ipcp_discover_new_direct_edges): Pass around a vector of
9263         ipa_argagg_values rather than a link list of replacement values.
9264         (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
9265         values coming from clones.
9266         (create_specialized_node): Work with a vector of ipa_argagg_values
9267         rather than a link list of replacement values.
9268         (self_recursive_agg_pass_through_p): Make the pointer parameters
9269         const.
9270         (copy_plats_to_inter): Removed.
9271         (intersect_with_plats): Likewise.
9272         (agg_replacements_to_vector): Likewise.
9273         (intersect_with_agg_replacements): Likewise.
9274         (intersect_aggregates_with_edge): Likewise.
9275         (push_agg_values_for_index_from_edge): Likewise.
9276         (push_agg_values_from_edge): Likewise.
9277         (find_aggregate_values_for_callers_subset): Rewrite.
9278         (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
9279         (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
9280         aggregate values.
9281         (decide_about_value): Work with a vector of ipa_argagg_values rather
9282         than a link list of replacement values.
9283         (decide_whether_version_node): Likewise.
9284         (ipa_analyze_node): Check number of parameters, assert that there
9285         are no descriptors when bailing out.
9286         * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
9287         ipa_argagg_value.
9288         (ipa_node_params_t::duplicate): Removed superfluous handling of
9289         ipa_agg_replacement_values.  Name of src parameter removed because
9290         it is no longer used.
9291         (ipcp_transformation_t::duplicate): Replaced duplication of
9292         ipa_agg_replacement_values with copying vector m_agg_values.
9293         (ipa_dump_agg_replacement_values): Removed.
9294         (write_ipcp_transformation_info): Stream the new data-structure
9295         instead of the old.
9296         (read_ipcp_transformation_info): Likewise.
9297         (adjust_agg_replacement_values): Work with ipa_argagg_values instead
9298         of linked lists of ipa_agg_replacement_values, copy the items and
9299         truncate the vector as necessary to keep it sorted instead of marking
9300         items as invalid.  Return one bool if CFG should be updated.
9301         (ipcp_modif_dom_walker): Store ipcp_transformation instead of
9302         linked list of ipa_agg_replacement_values.
9303         (ipcp_modif_dom_walker::before_dom_children): Use
9304         ipa_argagg_value_list instead of walking a list of
9305         ipa_agg_replacement_values.
9306         (ipcp_transform_function): Switch to the new data structure, adjust
9307         dumping.
9309 2022-10-18  Richard Biener  <rguenther@suse.de>
9311         PR tree-optimization/107302
9312         * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
9313         placement for a PHI latch def.
9315 2022-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9317         PR tree-optimization/107275
9318         * tree-if-conv.cc (if_convertible_loop_p_1): Move
9319         find_data_references_in_loop call from here...
9320         (if_convertible_loop_p): And move data-reference vector initialization
9321         from here...
9322         (tree_if_conversion):... to here.
9324 2022-10-18  Jakub Jelinek  <jakub@redhat.com>
9326         PR c++/106654
9327         * gimple.def (GIMPLE_ASSUME): New statement kind.
9328         * gimple.h (struct gimple_statement_assume): New type.
9329         (is_a_helper <gimple_statement_assume *>::test,
9330         is_a_helper <const gimple_statement_assume *>::test): New.
9331         (gimple_build_assume): Declare.
9332         (gimple_has_substatements): Return true for GIMPLE_ASSUME.
9333         (gimple_assume_guard, gimple_assume_set_guard,
9334         gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
9335         New inline functions.
9336         * gsstruct.def (GSS_ASSUME): New.
9337         * gimple.cc (gimple_build_assume): New function.
9338         (gimple_copy): Handle GIMPLE_ASSUME.
9339         * gimple-pretty-print.cc (dump_gimple_assume): New function.
9340         (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
9341         * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
9342         * omp-low.cc (WALK_SUBSTMTS): Likewise.
9343         (lower_omp_1): Likewise.
9344         * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
9345         Likewise.
9346         * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
9347         * function.h (struct function): Add assume_function bitfield.
9348         * gimplify.cc (gimplify_call_expr): If the assumption isn't
9349         simple enough, expand it into GIMPLE_ASSUME wrapped block or
9350         for -O0 drop it.
9351         * gimple-low.cc: Include attribs.h.
9352         (create_assumption_fn): New function.
9353         (struct lower_assumption_data): New type.
9354         (find_assumption_locals_r, assumption_copy_decl,
9355         adjust_assumption_stmt_r, adjust_assumption_stmt_op,
9356         lower_assumption): New functions.
9357         (lower_stmt): Handle GIMPLE_ASSUME.
9358         * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
9359         IFN_ASSUME calls.
9360         * lto-streamer-out.cc (output_struct_function_base): Pack
9361         assume_function bit.
9362         * lto-streamer-in.cc (input_struct_function_base): And unpack it.
9363         * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
9364         has TREE_ASM_WRITTEN set and don't release its body.
9365         (symbol_table::compile): Allow assume functions not to have released
9366         body.
9367         * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
9368         * passes.cc (execute_one_pass): For TODO_discard_function don't
9369         release body of assume functions.
9370         * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
9371         of PROP_assumptions_done functions.
9372         * tree-pass.h (PROP_assumptions_done): Define.
9373         (TODO_discard_function): Adjust comment.
9374         (make_pass_assumptions): Declare.
9375         * passes.def (pass_assumptions): Add.
9376         * timevar.def (TV_TREE_ASSUMPTIONS): New.
9377         * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
9378         * tree-vrp.cc (pass_data_assumptions): New variable.
9379         (pass_assumptions): New class.
9380         (make_pass_assumptions): New function.
9382 2022-10-18  Richard Biener  <rguenther@suse.de>
9384         PR tree-optimization/107301
9385         * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
9386         Check whether we can duplicate the block.
9387         (find_implicit_erroneous_behavior): Likewise.
9389 2022-10-18  Andrew MacLeod  <amacleod@redhat.com>
9391         PR tree-optimization/107273
9392         * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
9393         instead of copying precison of each member.
9395 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
9397         PR target/101697
9398         * config/h8300/combiner.md: Replace '<' preincment constraint with
9399         ZA/Z1..ZH/Z7 combinations.
9400         * config/h8300/movepush.md: Similarly
9402 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
9404         * config/h8300/constraints.md (Za..Zh): New constraints for
9405         autoinc addresses using a specific register.
9406         * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
9407         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
9409 2022-10-17  Jeff Law  <jlaw@ventanamicro.com>
9411         * config/i386/cet.c: Remove accidental commit.
9412         * config/i386/driver-mingw32.c: Likewise.
9413         * config/i386/i386-builtins.c: Likewise.
9414         * config/i386/i386-d.c:  Likewise.
9415         * config/i386/i386-expand.c: Likewise.
9416         * config/i386/i386-features.c: Likewise.
9417         * config/i386/i386-options.c: Likewise.
9418         * config/i386/t-cet: Likewise.
9419         * config/i386/x86-tune-sched-atom.c: Likewise.
9420         * config/i386/x86-tune-sched-bd.c: Likewise.
9421         * config/i386/x86-tune-sched-core.c: Likewise.
9422         * config/i386/x86-tune-sched.c: Likewise.
9424 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
9426         * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
9427         Enable redundant extension elimination at -O2 and above.
9428         * config/i386/cet.c: New file.
9429         * config/i386/driver-mingw32.c: New file.
9430         * config/i386/i386-builtins.c: New file.
9431         * config/i386/i386-d.c: New file.
9432         * config/i386/i386-expand.c: New file.
9433         * config/i386/i386-features.c: New file.
9434         * config/i386/i386-options.c: New file.
9435         * config/i386/t-cet: New file.
9436         * config/i386/x86-tune-sched-atom.c: New file.
9437         * config/i386/x86-tune-sched-bd.c: New file.
9438         * config/i386/x86-tune-sched-core.c: New file.
9439         * config/i386/x86-tune-sched.c: New file.
9441 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
9443         * config/h8300/extensions.md (CCZN setting zero extended load): Add
9444         missing splitter.
9446 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
9448         PR tree-optimization/107293
9449         * tree-ssa-dom.cc
9450         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
9451         Check that condition post-dominates the definition point.
9453 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
9455         PR tree-optimization/107286
9456         * value-range.cc (range_tests_floats): Do not test for -Inf when
9457         flag_finite_math_only.
9459 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
9461         * gimple-range-fold.cc (fold_using_range::range_of_range_op):
9462         Provide relation_trio class.
9463         * gimple-range-gori.cc (gori_compute::refine_using_relation):
9464         Provide relation_trio class.
9465         (gori_compute::refine_using_relation): Ditto.
9466         (gori_compute::compute_operand1_range): Provide lhs_op2 and
9467         op1_op2 relations via relation_trio class.
9468         (gori_compute::compute_operand2_range): Ditto.
9469         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
9470         relation_trio instead of relation_kind.
9471         (gimple_range_op_handler::calc_op2): Ditto.
9472         (*::fold_range): Ditto.
9473         * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
9474         (gimple_range_op::calc_op2): Adjust prototypes.
9475         * range-op-float.cc (*::fold_range): Use relation_trio instead of
9476         relation_kind.
9477         (*::op1_range): Ditto.
9478         (*::op2_range): Ditto.
9479         * range-op.cc (*::fold_range): Use relation_trio instead of
9480         relation_kind.
9481         (*::op1_range): Ditto.
9482         (*::op2_range): Ditto.
9483         * range-op.h (class range_operator): Adjust prototypes.
9484         (class range_operator_float): Ditto.
9485         (class range_op_handler): Adjust prototypes.
9486         (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
9487         * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
9488         the enum.
9489         (relation_oracle::validate_relation): Use relation_trio in call
9490         to fold_range.
9491         * value-relation.h (enum relation_kind_t): Add VREL_LAST as
9492         final element.
9493         (class relation_trio): New.
9494         (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
9496 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
9498         * range-op-float.cc (foperator_not_equal::op1_range): Check for
9499         VREL_EQ after singleton.
9500         (foperator_unordered::op1_range): Set VARYING before calling
9501         clear_nan().
9502         (foperator_ordered::op1_range): Set rather than clear NAN if both
9503         operands are the same.
9505 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
9507         * value-relation.cc (value_relation::dump): Change message.
9508         * value-relation.h (value_relation::set_relation): If op1 is the
9509         same as op2 do not create a relation.
9511 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
9513         * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
9514         'case QImode:', etc.
9516 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
9518         * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
9520 2022-10-17  Richard Biener  <rguenther@suse.de>
9521             Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9523         PR tree-optimization/99409
9524         PR tree-optimization/99394
9525         * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
9526         (stmt_vec_info_type::recurr_info_type): Likewise.
9527         (vectorizable_recurr): New function.
9528         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
9529         function.
9530         (vect_analyze_scalar_cycles_1): Look for first order
9531         recurrences.
9532         (vect_analyze_loop_operations): Handle them.
9533         (vect_transform_loop): Likewise.
9534         (vectorizable_recurr): New function.
9535         (maybe_set_vectorized_backedge_value): Handle the backedge value
9536         setting in the first order recurrence PHI and the permutes.
9537         * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
9538         recurrences.
9539         (vect_transform_stmt): Likewise.
9540         (vect_is_simple_use): Likewise.
9541         (vect_is_simple_use): Likewise.
9542         * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
9543         (vect_build_slp_tree_2): Likewise.
9544         (vect_schedule_scc): Handle the backedge value setting in the
9545         first order recurrence PHI and the permutes.
9547 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9549         * config/riscv/t-riscv: Change Tab into 2 space.
9551 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9553         * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
9555 2022-10-17  Arsen Arsenovic  <arsen@aarsen.me>
9557         * config.gcc: --target=*-elf --without-{newlib,headers} should
9558         provide stdint.h.
9560 2022-10-17  Hu, Lin1  <lin1.hu@intel.com>
9562         * common/config/i386/cpuinfo.h:
9563         (get_intel_cpu): Handle Meteorlake.
9564         * common/config/i386/i386-common.cc:
9565         (processor_alias_table): Add Meteorlake.
9567 2022-10-17  Haochen Jiang  <haochen.jiang@intel.com>
9569         * common/config/i386/cpuinfo.h:
9570         (get_intel_cpu): Handle Raptorlake.
9571         * common/config/i386/i386-common.cc:
9572         (processor_alias_table): Add Raptorlake.
9574 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
9576         * config/h8300/constraints.md (Z0..Z7): New register
9577         constraints.
9578         * config/h8300/h8300.h (reg_class): Add new classes.
9579         (REG_CLASS_NAMES): Similarly.
9580         (REG_CLASS_CONTENTS): Similarly.
9582 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
9584         * config/h8300/constraints.md (Zz constraint): Renamed
9585         from "z".
9586         * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
9587         constraint to use Zz instead of Z.
9589 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
9591         * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
9593 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9595         * value-range.cc (frange::set): Implement distinction between
9596         HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
9598 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9600         * gimple-range-op.cc (class cfn_copysign): New.
9601         (gimple_range_op_handler::maybe_builtin_call): Add
9602         CFN_BUILT_IN_COPYSIGN*.
9604 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9606         * real.h (real_isdenormal): Check rvc_normal.
9607         * value-range.cc (range_tests_floats): New test.
9609 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9611         * gimple-range-op.cc
9612         (gimple_range_op_handler::maybe_builtin_call): Replace
9613         CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
9615 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9617         * value-range.cc (frange::set): Normalize ranges for both bounds.
9619 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9621         * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
9623 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
9625         * gimple-range-op.cc
9626         (gimple_range_op_handler::maybe_builtin_call): Add
9627         CFN_BUILT_IN_SIGNBIT[FL]* entries.
9629 2022-10-14  Richard Biener  <rguenther@suse.de>
9631         PR tree-optimization/107254
9632         * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
9633         For permutes also analyze live lanes.
9634         (vect_schedule_slp_node): For permutes also code generate
9635         live lane extracts.
9637 2022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
9639         PR target/107248
9640         * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
9641         blockage for leaf functions.
9642         (sparc_flat_expand_prologue): Emit frame instead of full blockage.
9643         (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
9644         (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
9646 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
9648         * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
9649         * tree.h (bfloat16_type_node): Define.
9650         * tree.cc (excess_precision_type): Promote bfloat16_type_mode
9651         like float16_type_mode.
9652         (build_common_tree_nodes): Initialize bfloat16_type_node if
9653         BFmode is supported.
9654         * expmed.h (maybe_expand_shift): Declare.
9655         * expmed.cc (maybe_expand_shift): No longer static.
9656         * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
9657         conversions.  If there is no optab, handle BF -> {DF,XF,TF,HF}
9658         conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
9659         -ffast-math generic implementation for BF -> SF and SF -> BF
9660         conversions.
9661         * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
9662         * builtins.def (BUILT_IN_NANSF16B): New builtin.
9663         * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
9664         * config/i386/i386.cc (classify_argument): Handle E_BCmode.
9665         (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
9666         for -msse2.
9667         (ix86_mangle_type): Mangle BFmode as DF16b.
9668         (ix86_invalid_conversion, ix86_invalid_unary_op,
9669         ix86_invalid_binary_op): Remove.
9670         (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
9671         TARGET_INVALID_BINARY_OP): Don't redefine.
9672         * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
9673         (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
9674         ix86_bf16_type_node, only create it if still NULL.
9675         * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
9676         * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
9678 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
9680         PR middle-end/323
9681         PR c++/107097
9682         * doc/invoke.texi (-fexcess-precision=standard): Mention that the
9683         option now also works in C++.
9685 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
9687         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
9688         early for calls made from thunks.
9690 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
9692         * expr.cc (emit_group_stote): Fix handling of modes of different
9693         sizes for big-endian targets in latest change and add commentary.
9695 2022-10-13  Martin Liska  <mliska@suse.cz>
9697         * output.h (assemble_vtv_preinit_initializer): Remove.
9698         * varasm.cc (assemble_vtv_preinit_initializer): Remove.
9700 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
9702         PR tree-optimization/102540
9703         PR tree-optimization/102872
9704         * gimple-range-cache.cc (ranger_cache::fill_block_cache):
9705         Handle partial equivs.
9706         (ranger_cache::range_from_dom): Cleanup dump output.
9708 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
9710         * range-op.cc (operator_cast::lhs_op1_relation): New.
9711         (operator_bitwise_and::lhs_op1_relation): New.
9713 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
9715         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
9716         iterator.
9717         * value-relation.cc
9718         (equiv_relation_iterator::equiv_relation_iterator): New.
9719         (equiv_relation_iterator::next): New.
9720         (equiv_relation_iterator::get_name): New.
9721         * value-relation.h (class relation_oracle): Privatize some methods.
9722         (class equiv_relation_iterator): New.
9723         (FOR_EACH_EQUIVALENCE): New.
9724         (FOR_EACH_PARTIAL_EQUIV): New.
9725         (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
9727 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
9729         * value-relation.cc (equiv_chain::dump): Don't print empty
9730         equivalences.
9731         (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
9732         (equiv_oracle::~equiv_oracle): Release the partial equiv table.
9733         (equiv_oracle::add_partial_equiv): New.
9734         (equiv_oracle::partial_equiv_set): New.
9735         (equiv_oracle::partial_equiv): New.
9736         (equiv_oracle::query_relation): Check for partial equivs too.
9737         (equiv_oracle::dump): Also dump partial equivs.
9738         (dom_oracle::register_relation): Handle partial equivs.
9739         (dom_oracle::query_relation): Check for partial equivs.
9740         * value-relation.h (enum relation_kind_t): Add partial equivs.
9741         (relation_partial_equiv_p): New.
9742         (relation_equiv_p): New.
9743         (class pe_slice): New.
9744         (class equiv_oracle): Add prototypes.
9745         (pe_to_bits): New.
9746         (bits_to_pe): New.
9747         (pe_min): New.
9749 2022-10-13  Richard Biener  <rguenther@suse.de>
9751         PR tree-optimization/107247
9752         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
9753         Reduce multi vector SLP reduction accumulators.  Check
9754         the adjusted number of accumulator vectors against
9755         one for the re-use in the epilogue.
9757 2022-10-13  Jakub Jelinek  <jakub@redhat.com>
9759         * genmodes.cc (emit_mode_wider): Emit previous content of
9760         mode_wider array into mode_next array and for mode_wider
9761         emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
9762         otherwise skip through modes with the same precision.
9763         * machmode.h (mode_next): Declare.
9764         (GET_MODE_NEXT_MODE): New inline function.
9765         (mode_iterator::get_next, mode_iterator::get_known_next): New
9766         function templates.
9767         (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
9768         (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
9769         (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
9770         (FOR_EACH_WIDER_MODE_FROM): Define.
9771         (FOR_EACH_NEXT_MODE): Define.
9772         * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
9773         instead of FOR_EACH_MODE_FROM.
9774         * optabs.cc (prepare_cmp_insn): Likewise.  Remove redundant
9775         !CLASS_HAS_WIDER_MODES_P check.
9776         (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
9777         FOR_EACH_MODE_FROM.
9778         * config/i386/i386-expand.cc (get_mode_wider_vector): Use
9779         GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
9781 2022-10-13  Wilco Dijkstra  <wdijkstr@arm.com>
9783         PR target/105773
9784         * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
9785         GT/LE for merging compare with zero into AND.
9786         (aarch64_get_condition_code_1): Add CC_NZVmode support.
9787         * config/aarch64/aarch64-modes.def: Add CC_NZV.
9788         * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
9790 2022-10-13  Richard Biener  <rguenther@suse.de>
9792         PR tree-optimization/107160
9793         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
9794         Do not register accumulator if we failed to reduce it
9795         to a single vector.
9797 2022-10-13  Aldy Hernandez  <aldyh@redhat.com>
9799         * range-op-float.cc (range_operator_float::op1_op2_relation): New.
9800         (class foperator_equal): Add using.
9801         (class foperator_not_equal): Same.
9802         (class foperator_lt): Same.
9803         (class foperator_le): Same.
9804         (class foperator_gt): Same.
9805         (class foperator_ge): Same.
9806         * range-op.cc (range_op_handler::op1_op2_relation): New.
9807         * range-op.h (range_operator_float::op1_op2_relation): New.
9809 2022-10-13  Richard Biener  <rguenther@suse.de>
9811         * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
9812         * match.pd: Replace 'return' statements in with expressions
9813         with appropriate variants.
9815 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9817         PR tree-optimization/107229
9818         * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
9820 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9822         PR tree-optimization/107226
9823         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
9824         BITFIELD_REF's with non integral typed first operands.
9826 2022-10-13  Joseph Myers  <joseph@codesourcery.com>
9828         * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
9829         (LDBL_IS_IEC_60559): Update comment.
9831 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9833         * range-op-float.cc (class foperator_negate): New.
9834         (floating_op_table::floating_op_table): Add NEGATE_EXPR
9835         (range_op_float_tests): Add negate tests.
9837 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9839         * config/riscv/riscv-vector-builtins.h: Remove unused macro.
9841 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9843         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
9844         clang-format.
9845         (add_vector_type_attribute): Ditto.
9846         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
9847         clang-format.
9848         * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
9849         clang-format.
9851 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9853         * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
9854         vector types.
9855         (build_const_pointer): New function.
9856         (register_builtin_type): Ditto.
9857         (DEF_RVV_TYPE): Simplify macro.
9858         (register_vector_type): Refine implementation.
9859         * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
9861 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9863         * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
9864         this to ....
9865         * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
9866         here.
9868 2022-10-12  Cui,Lili  <lili.cui@intel.com>
9870         * config/i386/driver-i386.cc (host_detect_local_cpu):
9871         Move sapphirerapids out of AVX512_VP2INTERSECT.
9872         * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
9873         * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
9875 2022-10-12  Martin Liska  <mliska@suse.cz>
9877         * gcov-io.cc (gcov_write_summary): Rename to ...
9878         (gcov_write_object_summary): ... this.
9879         * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
9880         (GCOV_TAG_SUMMARY_LENGTH): ... this.
9882 2022-10-12  Martin Liska  <mliska@suse.cz>
9884         * configure: Regenerate.
9886 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9888         * range-op-float.cc (frange_float): New.
9889         (range_op_float_tests): New.
9890         * range-op.cc (range_op_tests): Call range_op_float_tests.
9892 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9894         * value-range.h (frange::nan_signbit_p): New.
9896 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9898         * value-range.cc (frange::set_nonnegative): Pass bool to
9899         update_nan.
9900         * value-range.h: Disallow conversion to bool in update_nan().
9902 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9904         * value-range.h (frange::frange): Add constructor taking type.
9906 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
9908         * range-op-float.cc: Add relation_kind = VREL_VARYING to all
9909         methods.
9911 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9913         * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
9914         calling tracer.trailer().
9916 2022-10-11  Jakub Jelinek  <jakub@redhat.com>
9918         PR target/107185
9919         * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
9920         MASK_REGNO_P (REGNO (x)).
9922 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9924         * range-op-float.cc (class foperator_abs): New.
9925         (floating_op_table::floating_op_table): Add ABS_EXPR entry.
9927 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9929         * range-op-float.cc (foperator_unordered_le::op1_range): New.
9930         (foperator_unordered_le::op2_range): New.
9931         (foperator_unordered_gt::op1_range): New.
9932         (foperator_unordered_gt::op2_range): New.
9933         (foperator_unordered_ge::op1_range): New.
9934         (foperator_unordered_ge::op2_range): New.
9935         (foperator_unordered_equal::op1_range): New.
9937 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9939         * range-op-float.cc (class foperator_unordered_lt): New.
9940         (class foperator_relop_unknown): Remove
9941         (class foperator_unordered_le): New.
9942         (class foperator_unordered_gt): New.
9943         (class foperator_unordered_ge): New.
9944         (class foperator_unordered_equal): New.
9945         (floating_op_table::floating_op_table): Replace all UN_EXPR
9946         entries with their appropriate fop_unordered_* counterpart.
9948 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
9950         * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
9951         (operator_lt::op2_range): Same.
9952         (operator_le::op2_range): Same.
9953         (operator_gt::op2_range): Same.
9954         (operator_ge::op2_range): Same.
9956 2022-10-11  Richard Biener  <rguenther@suse.de>
9958         PR tree-optimization/107212
9959         * tree-vect-loop.cc (vectorizable_reduction): Make sure to
9960         set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
9961         reduction.
9962         (vectorizable_live_operation): Do not pun to the SLP
9963         node representative for reduction epilogue generation.
9965 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9967         * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
9969 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9971         * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
9972         * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
9973         (GEN_VNM): Add gathervNm_expr.
9974         (GEN_VN_NOEXEC): Add vec_seriesvNsi.
9975         (gcn_expand_vector_init): Add initialization of vectors from smaller
9976         vectors.
9978 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9980         * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
9981         * config/gcn/gcn-valu.md
9982         (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
9983         * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
9984         new overload variant.
9986 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9988         * config/gcn/gcn-valu.md
9989         (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
9990         (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
9991         * config/gcn/gcn.h (MODE_VF): New macro.
9993 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
9995         * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
9996         V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
9997         V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
9998         V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
9999         V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
10000         V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
10001         (ADJUST_ALIGNMENT): Likewise.
10002         * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
10003         (gcn_full_exec_reg): Delete.
10004         (gcn_scalar_exec): Delete.
10005         (gcn_scalar_exec_reg): Delete.
10006         (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
10007         (vgpr_2reg_mode_p): Likewise.
10008         (vgpr_vector_mode_p): Use VECTOR_MODE_P.
10009         * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
10010         V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
10011         V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
10012         Add additional vector modes.
10013         (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
10014         (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
10015         Add additional vector mode mappings.
10016         (mov<mode>): Implement vector length conversions.
10017         (ldexp<mode>3<exec>): Use VnSI.
10018         (frexp<mode>_exp2<exec>): Likewise.
10019         (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
10020         (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
10021         (fold_left_plus_<mode>): Use V64_FP.
10022         (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
10023         (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
10024         (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
10025         (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
10026         (*plus_carry_dpp_shr_<mode>): Use V64_DI.
10027         (mov_from_lane63_<mode>): Use V64_2REG.
10028         * config/gcn/gcn.cc (VnMODE): New function.
10029         (gcn_can_change_mode_class): Support multiple vector sizes.
10030         (gcn_modes_tieable_p): Likewise.
10031         (gcn_operand_part): Likewise.
10032         (gcn_scalar_exec): Delete function.
10033         (gcn_scalar_exec_reg): Delete function.
10034         (gcn_full_exec): Delete function.
10035         (gcn_full_exec_reg): Delete function.
10036         (gcn_inline_fp_constant_p): Support multiple vector sizes.
10037         (gcn_fp_constant_p): Likewise.
10038         (A): New macro.
10039         (GEN_VN_NOEXEC): New macro.
10040         (GEN_VNM_NOEXEC): New macro.
10041         (GEN_VN): New macro.
10042         (GEN_VNM): New macro.
10043         (GET_VN_FN): New macro.
10044         (CODE_FOR): New macro.
10045         (CODE_FOR_OP): New macro.
10046         (gen_mov_with_exec): Delete function.
10047         (gen_duplicate_load): Delete function.
10048         (gcn_expand_vector_init): Support multiple vector sizes.
10049         (strided_constant): Likewise.
10050         (gcn_addr_space_legitimize_address): Likewise.
10051         (gcn_expand_scalar_to_vector_address): Likewise.
10052         (gcn_expand_scaled_offsets): Likewise.
10053         (gcn_secondary_reload): Likewise.
10054         (gcn_valid_cvt_p): Likewise.
10055         (gcn_expand_builtin_1): Likewise.
10056         (gcn_make_vec_perm_address): Likewise.
10057         (gcn_vectorize_vec_perm_const): Likewise.
10058         (gcn_vector_mode_supported_p): Likewise.
10059         (gcn_autovectorize_vector_modes): New hook.
10060         (gcn_related_vector_mode): Support multiple vector sizes.
10061         (gcn_expand_dpp_shr_insn): Add FIXME comment.
10062         (gcn_md_reorg): Support multiple vector sizes.
10063         (print_reg): Likewise.
10064         (print_operand): Likewise.
10065         (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
10067 2022-10-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10069         * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
10070         here...
10071         (tree_if_conversion): ... to here.  Also call bitfield lowering when
10072         appropriate.
10073         (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
10074         need to lower bitfields.
10075         (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
10076         checked earlier.
10077         (get_bitfield_rep): New function.
10078         (lower_bitfield): Likewise.
10079         (bitfields_to_lower_p): Likewise.
10080         (need_to_lower_bitfields): New global boolean.
10081         (need_to_ifcvt): Likewise.
10082         * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
10083         message.
10084         * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
10085         parameter.
10086         (vect_recog_bitfield_ref_pattern): New.
10087         (vect_recog_bit_insert_pattern): New.
10089 2022-10-11  liuhongt  <hongtao.liu@intel.com>
10091         PR target/107093
10092         * config/i386/i386.md (*notxor<mode>_1): New post_reload
10093         define_insn_and_split.
10094         (*notxorqi_1): Ditto.
10096 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
10098         PR tree-optimization/107195
10099         * value-range.cc (irange::set_range_from_nonzero_bits): Set range
10100         to [0,0] when nonzero mask is 0.
10102 2022-10-11  Olivier Hainque  <hainque@adacore.com>
10104         * configure: Regenerate.
10106 2022-10-11  Olivier Hainque  <hainque@adacore.com>
10108         * config.gcc (*vxworks*): Add t-slibgcc fragment
10109         if enable_shared.
10111 2022-10-11  Olivier Hainque  <hainque@adacore.com>
10113         * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
10114         internal macros.
10115         (VXWORKS_LIBGCC_SPEC): Use them and document.
10117 2022-10-11  Martin Liska  <mliska@suse.cz>
10119         * gimple-range-op.cc: Add override keyword.
10121 2022-10-11  Eugene Rozenfeld  <erozen@microsoft.com>
10123         PR debug/107193
10124         * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
10125         out of the loop.
10127 2022-10-11  Liwei Xu  <liwei.xu@intel.com>
10128             liuhongt  <hongtao.liu@intel.com>
10130         PR tree-optimization/54346
10131         * match.pd: Merge the index of VCST then generates the new vec_perm.
10133 2022-10-11  Jeff Law  <jeffreyalaw@gmail.com>
10135         PR rtl-optimization/107182
10136         * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
10137         return, clear EDGE_CROSSING on the appropriate edge.
10139 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10141         * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
10142         from config/riscv/riscv-vector-builtins.h.
10143         (DEF_RVV_TYPE): Change USER_NAME to NAME.
10144         (register_vector_type): Change user_name to name.
10145         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
10146         USER_NAME to NAME.
10147         * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
10148         to riscv-vector-builtins.cc.
10149         (DEF_RVV_TYPE): Change USER_NAME to NAME.
10151 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10153         * config/riscv/riscv.md: Add vsetvl instruction type.
10155 2022-10-10  Nathan Sidwell  <nathan@acm.org>
10157         * common.opt (-fabi-version=): Document 18.
10158         * doc/invoke.texi (-fabi-version): Document 18.
10160 2022-10-10  Andrea Corallo  <andrea.corallo@arm.com>
10162         PR other/99723
10163         * toplev.cc (toplev::main): Don't run self tests in case of
10164         previous error.
10166 2022-10-10  Kito Cheng  <kito.cheng@sifive.com>
10168         * config/riscv/riscv-c.cc: Add newline to the end of file.
10170 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
10172         * range-op-float.cc (class foperator_identity): Make members public.
10173         (class foperator_equal): Same.
10174         (class foperator_not_equal): Same.
10175         (class foperator_lt): Same.
10176         (class foperator_le): Same.
10177         (class foperator_gt): Same.
10178         (class foperator_ge): Same.
10179         (class foperator_unordered): Same.
10180         (class foperator_ordered): Same.
10182 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
10184         * value-range.h (frange::maybe_isnan): New.
10186 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
10188         * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
10189         TRUE side for x != x.
10191 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
10193         * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
10194         operands are equal and result is TRUE.
10196 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
10198         * range.h (range_true): Return int_range<2>.
10199         (range_false): Same.
10200         (range_true_and_false): Same.
10202 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
10204         * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
10206 2022-10-10  liuhongt  <hongtao.liu@intel.com>
10208         PR target/107185
10209         * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
10210         predicate of operands[0] and operands[1].
10212 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
10214         * common/config/arc/arc-common.cc (arc_option_optimization_table):
10215         Remove Rcq and Rcw options.
10216         * config/arc/arc.opt (mRcq): Ignore option, preserve it for
10217         backwards compatibility.
10218         (mRcw): Likewise.
10219         * doc/invoke.texi (mRcw, mRcq): Update document.
10221 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
10223         * config/arc/arc.cc (arc_check_short_reg_p): New function.
10224         (arc_address_cost): Replace satisfies_constraint_Rcq with the
10225         above new function.
10226         (arc_output_addsi): Likewise.
10227         (split_addsi): Likewise.
10228         (split_subsi): Likewise.
10229         * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
10230         (movhi_insn): Likewise.
10231         (movsi_insn): Likewise.
10232         (tst_movb): Likewise.
10233         (tst): Likewise.
10234         (tst_bitfield): Likewise.
10235         (abssi2): Likewise.
10236         (addsi3_mixed): Likewise.
10237         (mulhisi3_reg): Likewise.
10238         (umulhisi3_reg): Likewise.
10239         (mulsi_600): Likewise.
10240         (mul64): Likewise.
10241         (subsi3_insn): Likewise.
10242         (bicsi3_insn): Likewise.
10243         (xorsi3): Likewise.
10244         (negsi2): Likewise.
10245         (one_cmplsi2): Likewise.
10246         (lshrsi3_insn): Likewise.
10247         (cmpsi_cc_insn_mixed): Likewise.
10248         (cmpsi_cc_zn_insn): Likewise.
10249         (btst): Likewise.
10250         (cmpsi_cc_z_insn): Likewise.
10251         (cmpsi_cc_c_insn): Likewise.
10252         (indirect_jump): Likewise.
10253         (casesi_jump): Likewise.
10254         (call_i): Likewise.
10255         (call_value_i): Likewise.
10256         (bbit): Likewise.
10257         (abssf2): Likewise.
10258         (ashlsi2_cnt1): Likewise.
10259         (lshrsi3_cnt1): Likewise.
10260         (ashrsi3_cnt1): Likewise.
10261         * config/arc/constraints.md (Rcq): Remove.
10263 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
10265         * config/arc/arc.md (smaxsi3): Remove Rcw.
10266         (sminsi3): Likewise.
10267         (addsi3_mixed): Likewise.
10268         (add_f_2): Likewise.
10269         (subsi3_insn): Likewise.
10270         (sub_f): Likewise.
10271         (sub_n): Likewise.
10272         (bset): Likewise.
10273         (bxor): Likewise.
10274         (bclr): Likewise.
10275         (bset_insn): Likewise.
10276         (bxor_insn): Likewise.
10277         (bclr_insn): Likewise.
10278         (bmsk_insn): Likewise.
10279         (bicsi3_insn): Likewise.
10280         (xorsi3): Likewise.
10281         (negsi2): Likewise.
10282         (lshrsi3_insn): Likewise.
10283         (abssf2): Likewise.
10284         (negsf2): Likewise.
10285         * config/arc/constraints.md(Rcw): Remove it.
10287 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
10289         * config/arc/arc.md(mulsi3_700): Remove Rcr.
10290         (mulsi3_highpart): Likewise.
10291         (umulsi3_highpart_i): Likewise.
10292         (umulsi3_highpart_int): Likewise.
10293         (macd): Likewise.
10294         (macdu): Likewise.
10295         * config/arc/constraints.md (Rcr): Remove it.
10297 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
10299         * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
10301 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
10303         PR target/106562
10304         * config/pru/pru-protos.h (pru_noteq_condition): New
10305         function declaration.
10306         * config/pru/pru.cc (pru_noteq_condition): New function.
10307         * config/pru/pru.md (cbranchdi4): Define new pattern.
10309 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
10311         * config/pru/pru.md (lshrdi3): New expand pattern.
10312         (ashldi3): Ditto.
10314 2022-10-09  YunQiang Su  <yunqiang.su@cipunited.com>
10316         * config.gcc: set with_arch to default_mips_arch if no defined.
10317         * config/mips/driver-native.cc (host_detect_local_cpu):
10318         try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
10319         pass -mnan=2008 if __mips_nan2008__ is defined.
10320         * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
10321         * configure.ac: detect sys/auxv.h and getauxval.
10322         * configure: regenerated.
10324 2022-10-07  Eugene Rozenfeld  <erozen@microsoft.com>
10326         * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
10327         on the same line within the same basic block.
10329 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
10331         PR tree-optimization/101836
10332         * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
10333         to determine a flexible array member reference.
10335 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
10337         * doc/extend.texi: Document strict_flex_array attribute.
10338         * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
10339         * print-tree.cc (print_node): Print new bit decl_not_flexarray.
10340         * tree-core.h (struct tree_decl_common): New bit field
10341         decl_not_flexarray.
10342         * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
10343         in new bit decl_not_flexarray.
10344         * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
10345         out new bit decl_not_flexarray.
10346         * tree.cc (array_at_struct_end_p): Update it with the new bit field
10347         decl_not_flexarray.
10348         * tree.h (DECL_NOT_FLEXARRAY): New flag.
10350 2022-10-07  Olivier Hainque  <hainque@adacore.com>
10352         * config/vxworks/_vxworks-versions.h: Use OS specific
10353         paths in #include of version.h.
10355 2022-10-07  Martin Liska  <mliska@suse.cz>
10357         * opts.cc (finish_options): Print sorry message only
10358         for -flive-patching=inline-only-static.
10360 2022-10-07  Jason Merrill  <jason@redhat.com>
10362         * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
10363         x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
10365 2022-10-07  Richard Biener  <rguenther@suse.de>
10367         PR tree-optimization/107153
10368         * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
10369         SSA form here.
10370         * tree-parloops.cc (gen_parallel_loop): Update SSA form
10371         after to-exit-first transform, no PHI insertion is necessary.
10372         (pass_parallelize_loops::execute): Force re-write of the
10373         virtual operand SSA web.
10375 2022-10-07  Jonathan Wakely  <jwakely@redhat.com>
10377         * value-range.cc (irange::irange_contains_p): Fix comment typo.
10379 2022-10-07  Eric Botcazou  <ebotcazou@adacore.com>
10381         * function.cc (thread_prologue_and_epilogue_insns): Update only
10382         entry and exit blocks when not optimizing.  Remove dead statement.
10384 2022-10-07  Aldy Hernandez  <aldyh@redhat.com>
10386         * value-range.cc (irange::irange_set): Convert nonzero mask to
10387         tree.
10388         (irange::irange_set_anti_range): Same.
10389         (irange::set): Same.
10390         (irange::verify_range): Same.
10391         (irange::contains_p): Same.
10392         (irange::invert): Same.
10393         (irange::set_range_from_nonzero_bits): Same.
10394         (irange::set_nonzero_bits): Same.
10395         (mask_to_wi): Same.
10396         (irange::intersect_nonzero_bits): Same.
10397         (irange::union_nonzero_bits): Same.
10398         * value-range.h (irange::varying_compatible_p): Same.
10399         (gt_ggc_mx): Same.
10400         (gt_pch_nx): Same.
10401         (irange::set_undefined): Same.
10402         (irange::set_varying): Same.
10404 2022-10-07  Martin Liska  <mliska@suse.cz>
10406         * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
10407         size to function parameter.
10408         (ix86_unary_operator_ok): Likewise.
10410 2022-10-07  Martin Liska  <mliska@suse.cz>
10412         * auto-profile.cc (get_inline_stack): Remove unused variable.
10414 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
10416         * ipa-prop.h (ipa_constant_data): Fix comment typo.
10417         * value-range.cc (irange::irange_contains_p): Likewise.
10418         * value-relation.cc (dom_oracle::set_one_relation): Likewise.
10419         * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
10420         * tree-inline.cc (remap_ssa_name): Likewise.
10422 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
10424         * attribs.h (is_attribute_namespace_p): New inline function.
10425         (lookup_attribute): Document meaning of ATTR_NS equal to "".
10426         * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
10427         (private_lookup_attribute): For ATTR_NS "" match either standard
10428         attribute or "gnu" namespace one.
10430 2022-10-07  Olivier Hainque  <hainque@adacore.com>
10432         * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
10433         4 to 3 for VxWorks >= 7.
10435 2022-10-07  Olivier Hainque  <hainque@adacore.com>
10437         * defaults.h (DWARF_DEFAULT_VERSION): Define if not
10438         defined already.
10439         * common.opt (gdwarf-): Use it.
10440         * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
10441         * doc/tm.texi: Update accordingly.
10442         * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
10443         * config/vxworks.cc: Remove code setting dwarf_version, now
10444         handled by the DWARF_DEFAULT_VERSION redefinition.
10446 2022-10-07  Olivier Hainque  <hainque@adacore.com>
10448         * ginclude/stddef.h: #undef offsetof before #define.
10450 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
10452         PR tree-optimization/107170
10453         * vr-values.cc (vr_values::range_of_expr):  Do not die on
10454         unsupported types.
10456 2022-10-06  Joseph Myers  <joseph@codesourcery.com>
10458         * doc/invoke.texi (-fno-asm): Update description of effects on
10459         typeof keyword.
10461 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
10463         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
10464         dependency that is a write-after-write if the access function is not
10465         affine or constant.
10467 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
10469         * df-scan.cc (df_ref_create_structure): Minor cleanup.
10471 2022-10-06  Richard Biener  <rguenther@suse.de>
10473         PR middle-end/107115
10474         * expr.cc (store_expr): Check mems_same_for_tbaa_p before
10475         eliding a seemingly redundant store.
10477 2022-10-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10479         * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
10480         New pattern.
10482 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
10484         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
10485         Ampere-1 core entry.
10487 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
10489         * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
10491 2022-10-06  Richard Biener  <rguenther@suse.de>
10493         PR tree-optimization/107107
10494         * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
10495         affect value-numbering when doing the tail merging
10496         MODIFY_EXPR lookup.
10498 2022-10-06  Claudiu Zissulescu  <claziss@synopsys.com>
10500         * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
10501         common-pave-size.
10503 2022-10-06  Jakub Jelinek  <jakub@redhat.com>
10505         PR c++/106654
10506         * internal-fn.def (ASSUME): New internal function.
10507         * internal-fn.h (expand_ASSUME): Declare.
10508         * internal-fn.cc (expand_ASSUME): Define.
10509         * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
10510         * fold-const.h (simple_condition_p): Declare.
10511         * fold-const.cc (simple_operand_p_2): Rename to ...
10512         (simple_condition_p): ... this.  Remove forward declaration.
10513         No longer static.  Adjust function comment and fix a typo in it.
10514         Adjust recursive call.
10515         (simple_operand_p): Adjust function comment.
10516         (fold_truth_andor): Adjust simple_operand_p_2 callers to call
10517         simple_condition_p.
10518         * doc/extend.texi: Document assume attribute.  Move fallthrough
10519         attribute example to its section.
10521 2022-10-06  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
10523         PR rtl-optimization/107088
10524         * cselib.cc (new_cselib_val): Skip BImode while keeping track of
10525         subvalue relations.
10527 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
10529         * value-range.cc (frange::set): Call set_nan unconditionally.
10530         (range_tests_nan): Adjust tests.
10531         (range_tests_signed_zeros): Same.
10532         (range_tests_floats): Same.
10533         * value-range.h (frange::update_nan): Guard with HONOR_NANS.
10534         (frange::set_nan): Set undefined if !HONOR_NANS.
10536 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
10538         * range-op-float.cc (foperator_lt::fold_range): Remove extra check
10539         to finite_operands_p.
10540         (foperator_le::fold_range): Same.
10541         (foperator_gt::fold_range): Same.
10542         (foperator_ge::fold_range): Same.
10544 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
10546         * value-range-pretty-print.cc (vrange_printer::print_real_value):
10547         Avoid printing INF and NAN twice.
10549 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
10551         * config/rs6000/constraints.md (wD): Delete.
10552         * doc/md.texi (Machine Constraints): Adjust.
10554 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
10556         * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
10557         define_expand.  Split the contents to...
10558         (*vsx_extract_<mode>_0): ... this.  Rewrite.
10559         (*vsx_extract_<mode>_1): ... and this.  Rewrite.
10561 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
10563         * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
10564         "wD" constraint.
10566 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
10568         PR analyzer/107060
10569         * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
10571 2022-10-05  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10573         * config.gcc: Add riscv_vector.h.
10574         * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
10575         * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
10576         (riscv_register_pragmas): Ditto.
10577         * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
10578         (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
10579         (mangle_builtin_type): Ditto.
10580         (verify_type_context): Ditto.
10581         (handle_pragma_vector): New function.
10582         * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
10583         (register_vector_type): New function.
10584         (init_builtins): Add RVV builtin types support.
10585         (handle_pragma_vector): New function.
10586         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
10587         name according to file name.
10588         (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
10589         (init_builtins): Remove declaration in riscv-vector-builtins.h.
10590         (mangle_builtin_type): Ditto.
10591         (verify_type_context): Ditto.
10592         * config/riscv/riscv.cc: Adjust for RVV builtin types support.
10593         * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
10594         * config/riscv/t-riscv: Remove redundant file including.
10595         * config/riscv/riscv_vector.h: New file.
10597 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
10599         * range-op.cc (operator_cast::fold_range): Handle truncating casts
10600         for nonzero masks.
10602 2022-10-05  Martin Liska  <mliska@suse.cz>
10604         PR c/107156
10605         * attribs.h (lookup_attribute_by_prefix): Support the attribute
10606         starting with underscore (_Noreturn).
10608 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
10610         PR tree-optimization/107052
10611         * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
10612         nonzero bit mask.
10614 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
10616         PR tree-optimization/107052
10617         * range-op.cc (operator_cast::fold_range): Set nonzero mask.
10619 2022-10-05  Eric Botcazou  <ebotcazou@adacore.com>
10621         PR tree-optimization/106698
10622         * pointer-query.cc (handle_array_ref): Fix handling of low bound.
10624 2022-10-05  Vineet Gupta  <vineetg@rivosinc.com>
10626         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
10627         Remove __riscv_cmodel_pic, that deprecated in last version.
10629 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
10631         PR analyzer/107072
10632         * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
10634 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
10636         * attribs.h (remove_attribute): Declare overload with additional
10637         attr_ns argument.
10638         (private_lookup_attribute): Declare overload with additional
10639         attr_ns and attr_ns_len arguments.
10640         (lookup_attribute): New overload with additional attr_ns argument.
10641         * attribs.cc (remove_attribute): New overload with additional
10642         attr_ns argument.
10643         (private_lookup_attribute): New overload with additional
10644         attr_ns and attr_ns_len arguments.
10646 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
10648         * attribs.cc (handle_ignored_attributes_option, decl_attributes,
10649         common_function_versions): Use auto_diagnostic_group.
10651 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
10653         * value-range.cc (irange::set_nonzero_bits): Remove assert.
10655 2022-10-04  Richard Sandiford  <richard.sandiford@arm.com>
10657         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
10658         * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
10659         * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
10660         (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
10661         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
10662         __ARM_FEATURE_RCPC when appropriate.
10664 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
10666         * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
10667         (-fopenmp-simd): Likewise; update permitted directives.
10669 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
10671         * doc/install.texi (Specific): Add missing items to bullet list.
10672         (amdgcn): Update LLVM requirements, use version not date for newlib.
10673         (nvptx): Use version not git hash for newlib.
10675 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
10677         * value-range-storage.cc (irange_storage_slot::set_irange): Remove
10678         special case.
10679         * value-range.cc (irange::irange_set): Adjust for nonzero mask
10680         being a wide int.
10681         (irange::irange_set_anti_range): Same.
10682         (irange::set): Same.
10683         (irange::verify_range): Same.
10684         (irange::legacy_equal_p): Same.
10685         (irange::operator==): Same.
10686         (irange::contains_p): Same.
10687         (irange::legacy_intersect): Same.
10688         (irange::legacy_union): Same.
10689         (irange::irange_single_pair_union): Call union_nonzero_bits.
10690         (irange::irange_union): Same.
10691         (irange::irange_intersect): Call intersect_nonzero_bits.
10692         (irange::intersect): Adjust for nonzero mask being a wide int.
10693         (irange::invert): Same.
10694         (irange::set_nonzero_bits): Same.
10695         (irange::get_nonzero_bits_from_range): New.
10696         (irange::set_range_from_nonzero_bits): New.
10697         (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
10698         int.
10699         (irange::intersect_nonzero_bits): Same.
10700         (irange::union_nonzero_bits): Same.
10701         (range_tests_nonzero_bits): Remove test.
10702         * value-range.h (irange::varying_compatible_p): Adjust for nonzero
10703         mask being a wide int.
10704         (gt_ggc_mx): Same.
10705         (gt_pch_nx): Same.
10706         (irange::set_undefined): Same.
10707         (irange::set_varying): Same.
10708         (irange::normalize_kind): Same.
10710 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
10712         PR tree-optimization/107130
10713         * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
10714         (class cfn_ffs): New.
10715         (gimple_range_op_handler::maybe_builtin_call): Separate out
10716         CASE_CFN_FFS into its own case.
10718 2022-10-03  Sergei Trofimovich  <siarheit@google.com>
10720         * config/i386/t-i386: Add build-time dependencies against
10721         i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
10722         i386-features.o.
10724 2022-10-03  Andrew Stubbs  <ams@codesourcery.com>
10726         * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
10727         operand 3.
10728         * doc/md.texi (while_ult): Document new operand 3 usage.
10729         * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
10730         maps to a non-vector mode.
10732 2022-10-03  Andrew MacLeod  <amacleod@redhat.com>
10734         PR tree-optimization/107109
10735         * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
10737 2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>
10739         * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
10740         clobber.
10741         (mve_vrev64q_m_f<mode>): Likewise.
10743 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
10745         * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
10746         (range_tests_nonzero_bits): New test.
10748 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
10750         * value-range.cc (irange::operator==): Early bail on m_num_ranges
10751         equal to 0.
10753 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
10755         * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
10756         check when comparing VR_VARYING ranges.
10758 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
10760         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
10761         incompatible ranges in ipa-prop.
10763 2022-10-02  Jakub Jelinek  <jakub@redhat.com>
10765         PR tree-optimization/107121
10766         * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
10767         DEFFERED_INIT -> DEFERRED_INIT.
10769 2022-10-02  Marc Poulhiès  <poulhies@adacore.com>
10771         * config/vxworks-driver.cc: New.
10772         * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
10773         * config/t-vxworks: Add vxworks-driver.o.
10774         * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
10776 2022-10-02  Olivier Hainque  <hainque@adacore.com>
10778         * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
10779         HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
10780         of ENABLE_SHARED_LIBGCC.
10782 2022-10-01  Stafford Horne  <shorne@gmail.com>
10784         * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
10785         HAVE_AS_TLS is defined.
10787 2022-10-01  Julian Brown  <julian@codesourcery.com>
10789         * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
10790         handling.
10792 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
10794         * config/h8300/h8300.md (HSI2): New iterator.
10795         (eqne_invert): Similarly.
10796         * config/h8300/testcompare.md (testhi_upper_z): New pattern.
10797         (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
10798         (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
10799         define_insn_and_splits and/or define_insns.
10800         (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
10801         (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
10803 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
10805         * tree-ssa-dom.cc (record_edge_info): Install correct version of
10806         patch.
10808 2022-10-01  Eugene Rozenfeld  <erozen@microsoft.com>
10810         * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
10812 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
10814         * tree-ssa-dom.cc (single_block_loop_p): New function.
10815         (record_edge_info): Also record equivalences for the outgoing
10816         edge of a single block loop where the condition is an invariant.
10818 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
10820         * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
10821         (free_all_edge_infos): Do not clear e->aux here.
10823 2022-09-30  H.J. Lu  <hjl.tools@gmail.com>
10825         * target.def (TARGET_C_EXCESS_PRECISION): Document
10826         -fexcess-precision=16.
10828 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
10830         * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
10832 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
10834         PR target/106815
10835         * config/riscv/riscv.cc (riscv_excess_precision): Add support
10836         for EXCESS_PRECISION_TYPE_FLOAT16.
10838 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
10840         PR c++/107080
10841         * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
10842         and _Float16 as DF16_.
10843         * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
10844         (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
10845         rather than mangling __fp16 as __fp16.
10847 2022-09-30  Lewis Hyatt  <lhyatt@gmail.com>
10849         PR preprocessor/69543
10850         * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
10851         information away from the diagnostic location.
10852         (maybe_warn_read_write_only): Likewise.
10853         (maybe_warn_operand): Likewise.
10855 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
10857         PR c++/107080
10858         * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
10859         as Dh and _Float16 as DF16_.
10861 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
10863         PR c++/107080
10864         * config/i386/i386.cc (ix86_mangle_type): Always return NULL
10865         for float128_type_node or float64x_type_node, don't check
10866         float128t_type_node later on.
10867         * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
10868         for float128_type_node or float64x_type_node.
10869         * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
10870         Don't check float128_type_node later on.
10871         * config/s390/s390.cc (s390_mangle_type): Don't use
10872         TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
10873         a few lines earlier.
10875 2022-09-30  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
10876             Yvan ROUX   <yvan.roux@foss.st.com>
10878         * doc/sourcebuild.texi: Document new vma_equals_lma effective
10879         target check.
10881 2022-09-30  Jiawei  <jiawei@iscas.ac.cn>
10883         * config/riscv/riscv.cc (riscv_file_start): New .option.
10884         * config/riscv/riscv.opt: New options.
10885         * doc/invoke.texi: New definations.
10887 2022-09-30  Kewen Lin  <linkw@linux.ibm.com>
10889         PR target/99888
10890         PR target/105649
10891         * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
10892         documentation for PowerPC ELFv2 ABI dual entry points.
10893         * config/rs6000/rs6000-internal.h
10894         (rs6000_print_patchable_function_entry): New function declaration.
10895         * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
10896         Support patchable-function-entry by emitting nops before and after
10897         local entry for the function that needs global entry.
10898         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
10899         the function that needs global entry till global entry has been
10900         emitted.
10901         * config/rs6000/rs6000.h (struct machine_function): New bool member
10902         global_entry_emitted.
10904 2022-09-30  Richard Biener  <rguenther@suse.de>
10906         PR tree-optimization/107095
10907         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
10908         for .MASK_STORE size.
10910 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10912         * range-op.cc (plus_minus_ranges): New.
10913         (adjust_op1_for_overflow): New.
10914         (operator_plus::op1_range): Use new adjustment.
10915         (operator_plus::op2_range): Ditto.
10916         (operator_minus::op1_range): Ditto.
10917         * value-relation.h (relation_lt_le_gt_ge_p): New.
10919 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10921         * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
10922         (gori_compute::compute_operand1_range): Invoke
10923         refine_using_relation when applicable.
10924         (gori_compute::compute_operand2_range): Ditto.
10925         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10927 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10929         * gimple-range-gori.cc (ori_compute::compute_operand_range):
10930         Create a relation record and pass it along when possible.
10931         (gori_compute::compute_operand1_range): Pass relation along.
10932         (gori_compute::compute_operand2_range): Ditto.
10933         (gori_compute::compute_operand1_and_operand2_range): Ditto.
10934         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
10935         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
10936         relation to op1_range call.
10937         (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
10938         * gimple-range-op.h (class gimple_range_op_handler): Adjust
10939         prototypes.
10941 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10943         * value-relation.cc (class value_relation): Move to .h file.
10944         (value_relation::set_relation): Ditto.
10945         (value_relation::value_relation): ditto.
10946         * value-relation.h (class value_relation): Move from .cc file.
10947         (value_relation::set_relation): Ditto
10948         (value_relation::value_relation): Ditto.
10950 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
10952         * range-op.cc (operator_minus::op2_range): Check for undefined.
10953         (operator_mult::op1_range): Ditto.
10954         (operator_exact_divide::op1_range): Ditto.
10955         (operator_lshift::op1_range): Ditto.
10956         (operator_rshift::op1_range): Ditto.
10957         (operator_cast::op1_range): Ditto.
10958         (operator_bitwise_and::op1_range): Ditto.
10959         (operator_bitwise_or::op1_range): Ditto.
10960         (operator_trunc_mod::op1_range): Ditto.
10961         (operator_trunc_mod::op2_range): Ditto.
10962         (operator_bitwise_not::op1_range): Ditto.
10963         (pointer_or_operator::op1_range): Ditto.
10964         (range_op_handler::op1_range): Ditto.
10965         (range_op_handler::op2_range): Ditto.
10967 2022-09-29  Andrew Stubbs  <ams@codesourcery.com>
10969         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
10970         Remove unused elt_bits variable.
10972 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10974         * config/vxworks.h: Add comment on our use of
10975         HAVE_INITFINI_ARRAY_SUPPORT.
10977 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10979         * config/aarch64/t-aarch64-vxworks: Request multilib
10980         variants for mcmodel=large.
10982 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10984         * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
10985         resetting to 0.
10987 2022-09-29  Olivier Hainque  <hainque@adacore.com>
10989         * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
10990         when ARM_UNWIND_INFO is set.
10992 2022-09-29  Julian Brown  <julian@codesourcery.com>
10994         PR middle-end/107028
10995         * gimplify.cc (omp_check_mapping_compatibility,
10996         oacc_resolve_clause_dependencies): New functions.
10997         (omp_accumulate_sibling_list): Remove redundant duplicate clause
10998         detection for OpenACC.
10999         (build_struct_sibling_lists): Skip deleted groups.  Don't build sibling
11000         list for struct variables that are fully mapped on the same directive
11001         for OpenACC.
11002         (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
11004 2022-09-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
11006         PR middle-end/25521
11007         * varasm.cc (categorize_decl_for_section): Place `const volatile'
11008         objects in read-only sections.
11009         (default_select_section): Likewise.
11011 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11013         * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
11014         of to_widest.
11016 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11018         * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
11019         (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
11020         (TARGET_AES, TARGET_SHA2): Likewise.  Remove TARGET_CRYPTO test.
11021         (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
11022         (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
11023         on TARGET_SVE.
11024         (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
11025         (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
11026         (TARGET_F32MM, TARGET_F64MM): Delete.
11027         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
11028         float macros with just TARGET_FLOAT rather than TARGET_FLOAT
11029         || TARGET_SIMD.
11030         * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
11031         only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
11032         (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
11033         rather than TARGET_SIMD && TARGET_AES.
11034         (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
11035         (*aarch64_crypto_aese_fused): Likewise.
11036         (*aarch64_crypto_aesd_fused): Likewise.
11037         (aarch64_crypto_pmulldi): Likewise.
11038         (aarch64_crypto_pmullv2di): Likewise.
11039         (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
11040         (aarch64_crypto_sha1hv4si): Likewise.
11041         (aarch64_be_crypto_sha1hv4si): Likewise.
11042         (aarch64_crypto_sha1su1v4si): Likewise.
11043         (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
11044         (aarch64_crypto_sha1su0v4si): Likewise.
11045         (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
11046         (aarch64_crypto_sha256su0v4si): Likewise.
11047         (aarch64_crypto_sha256su1v4si): Likewise.
11048         (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
11049         (aarch64_crypto_sha512su0qv2di): Likewise.
11050         (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
11051         (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
11052         (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
11053         (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
11054         (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
11055         (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
11056         * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
11057         (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
11058         (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
11060 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11062         * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
11063         * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
11064         (aarch64_isa_flags): Redefine as read-only macros.
11065         (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
11066         !TARGET_GENERAL_REGS_ONLY.
11067         * common/config/aarch64/aarch64-common.cc
11068         (aarch64_set_asm_isa_flags): New function.
11069         (aarch64_handle_option): Call it when updating -mgeneral-regs.
11070         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
11071         m_old_isa_flags with m_old_asm_isa_flags.
11072         (aarch64_set_asm_isa_flags): Declare.
11073         * config/aarch64/aarch64-builtins.cc
11074         (aarch64_simd_switcher::aarch64_simd_switcher)
11075         (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
11076         aarch64_asm_isa_flags instead of aarch64_isa_flags.
11077         * config/aarch64/aarch64-sve-builtins.cc
11078         (check_required_extensions): Use aarch64_asm_isa_flags instead
11079         of aarch64_isa_flags.
11080         * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
11081         (aarch64_override_options, aarch64_handle_attr_arch)
11082         (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
11083         aarch64_set_asm_isa_flags to set the ISA flags.
11084         (aarch64_option_print, aarch64_declare_function_name)
11085         (aarch64_start_file): Use aarch64_asm_isa_flags instead
11086         of aarch64_isa_flags.
11087         (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
11088         aarch64_isa_flags.
11090 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11092         * common/config/aarch64/aarch64-common.cc (all_extensions):
11093         Include the feature flag in flags_on and flags_off.
11094         (aarch64_parse_extension): Update accordingly.
11095         (aarch64_get_extension_string_for_isa_flags): Likewise.
11097 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11099         * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
11100         for feature flags throughout.
11101         * config/aarch64/aarch64-protos.h: Likewise.
11102         * config/aarch64/aarch64-sve-builtins.h: Likewise.
11103         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
11104         * config/aarch64/aarch64.cc: Likewise.
11105         * config/aarch64/aarch64.opt: Likewise.
11106         * config/aarch64/driver-aarch64.cc: Likewise.
11108 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11110         * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
11111         (processor_name_to_arch, arch_to_arch_name): Remove const from
11112         member variables.
11113         (all_extensions, all_cores, all_architectures): Make a constexpr.
11114         * config/aarch64/aarch64.cc (processor): Remove const from
11115         member variables.
11116         (all_architectures): Make a constexpr.
11117         * config/aarch64/driver-aarch64.cc (aarch64_core_data)
11118         (aarch64_arch_driver_info): Remove const from member variables.
11119         (aarch64_cpu_data, aarch64_arches): Make a constexpr.
11120         (get_arch_from_id): Return a pointer to const.
11121         (host_detect_local_cpu): Update accordingly.
11123 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11125         * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
11126         (arch_to_arch_name): Use const char * instead of std::string.
11128 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11130         * common/config/aarch64/aarch64-common.cc
11131         (TARGET_OPTION_INIT_STRUCT): Delete.
11132         (aarch64_option_extension): Remove is_synthetic_flag.
11133         (all_extensions): Update accordingly.
11134         (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
11135         (aarch64_option_init_struct, aarch64_contains_opt): Delete.
11136         (aarch64_get_extension_string_for_isa_flags): Rewrite to use
11137         all_extensions instead of all_extensions_on.
11139 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11141         * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
11142         * config/aarch64/aarch64-cores.def: Use the same format to specify
11143         lists of features.
11144         * config/aarch64/aarch64-arches.def: Likewise, moving that information
11145         from aarch64.h.
11146         * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
11147         * config/aarch64/aarch64.h (aarch64_feature): New class enum.
11148         Turn AARCH64_FL_* macros into constexprs, getting the definitions
11149         from aarch64-option-extensions.def.  Remove AARCH64_FL_FOR_* macros.
11150         * common/config/aarch64/aarch64-common.cc: Include
11151         aarch64-feature-deps.h.
11152         (all_extensions): Update for new .def format.
11153         (all_extensions_by_on, all_cores, all_architectures): Likewise.
11154         * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
11155         (aarch64_extensions): Update for new .def format.
11156         (aarch64_cpu_data, aarch64_arches): Likewise.
11157         * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
11158         (all_architectures, all_cores): Update for new .def format.
11159         * config/aarch64/aarch64-sve-builtins.cc
11160         (check_required_extensions): Likewise.
11161         * config/aarch64/aarch64-feature-deps.h: New file.
11163 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11165         * config/aarch64/aarch64-option-extensions.def: Move crypto
11166         after sha2.
11168 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11170         * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
11171         on fp as well as simd.
11172         (sha3): Likewise.
11173         (aes): Likewise.  Make +noaes disable crypto.
11174         (sha2): Likewise +nosha2.  Also make +nosha2 disable sha3 and
11175         sve2-sha3.
11176         (sve2-sha3): Depend on sha2 as well as sha3.
11178 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11180         PR target/107025
11181         * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
11182         (AARCH64_FL_FOR_V8_4A): Update accordingly.
11183         (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
11184         * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
11185         AARCH64_FL_RCPC8_4.
11187 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11189         * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
11190         from the flags field.
11191         * common/config/aarch64/aarch64-common.cc (all_cores): Add it
11192         here instead.
11193         * config/aarch64/aarch64.cc (all_cores): Likewise.
11194         * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
11196 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11198         * config.gcc: Remove dead aarch64-option-extensions.def code.
11199         * config/aarch64/aarch64-arches.def: Update comment.
11201 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11203         * config/aarch64/aarch64-arches.def: Add a leading "V" to the
11204         ARCH_IDENT fields.
11205         * config/aarch64/aarch64-cores.def: Update accordingly.
11206         * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
11207         * config/aarch64/aarch64.cc (all_cores): Likewise.
11208         * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
11209         leading "V".
11211 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11213         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
11214         (AARCH64_FL_FOR_V8A): ...this.
11215         (AARCH64_FL_FOR_ARCH8_1): Rename to...
11216         (AARCH64_FL_FOR_V8_1A): ...this.
11217         (AARCH64_FL_FOR_ARCH8_2): Rename to...
11218         (AARCH64_FL_FOR_V8_2A): ...this.
11219         (AARCH64_FL_FOR_ARCH8_3): Rename to...
11220         (AARCH64_FL_FOR_V8_3A): ...this.
11221         (AARCH64_FL_FOR_ARCH8_4): Rename to...
11222         (AARCH64_FL_FOR_V8_4A): ...this.
11223         (AARCH64_FL_FOR_ARCH8_5): Rename to...
11224         (AARCH64_FL_FOR_V8_5A): ...this.
11225         (AARCH64_FL_FOR_ARCH8_6): Rename to...
11226         (AARCH64_FL_FOR_V8_6A): ...this.
11227         (AARCH64_FL_FOR_ARCH8_7): Rename to...
11228         (AARCH64_FL_FOR_V8_7A): ...this.
11229         (AARCH64_FL_FOR_ARCH8_8): Rename to...
11230         (AARCH64_FL_FOR_V8_8A): ...this.
11231         (AARCH64_FL_FOR_ARCH8_R): Rename to...
11232         (AARCH64_FL_FOR_V8R): ...this.
11233         (AARCH64_FL_FOR_ARCH9): Rename to...
11234         (AARCH64_FL_FOR_V9A): ...this.
11235         (AARCH64_FL_FOR_ARCH9_1): Rename to...
11236         (AARCH64_FL_FOR_V9_1A): ...this.
11237         (AARCH64_FL_FOR_ARCH9_2): Rename to...
11238         (AARCH64_FL_FOR_V9_2A): ...this.
11239         (AARCH64_FL_FOR_ARCH9_3): Rename to...
11240         (AARCH64_FL_FOR_V9_3A): ...this.
11241         * common/config/aarch64/aarch64-common.cc (all_cores): Update
11242         accordingly.
11243         * config/aarch64/aarch64-arches.def: Likewise.
11244         * config/aarch64/aarch64-cores.def: Likewise.
11245         * config/aarch64/aarch64.cc (all_cores): Likewise.
11247 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11249         * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
11250         (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
11251         (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
11252         (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
11253         (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
11254         (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
11255         (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
11256         (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
11257         (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
11258         (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
11259         (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
11260         (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
11261         (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
11262         (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
11263         (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
11265 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11267         * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
11268         (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
11269         (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
11270         (AARCH64_ISA_V9_3): Add "A" to the end of the name.
11271         (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
11272         (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
11273         accordingly.
11274         * common/config/aarch64/aarch64-common.cc
11275         (aarch64_get_extension_string_for_isa_flags): Likewise.
11276         * config/aarch64/aarch64-c.cc
11277         (aarch64_define_unconditional_macros): Likewise.
11279 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
11281         * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
11283 2022-09-29  Jakub Jelinek  <jakub@redhat.com>
11285         PR bootstrap/107059
11286         * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
11287         isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
11288         before FIXED_INCLUDE_DIR entry with multilib flag 0.
11289         * gcc.cc (do_spec_1): If multiarch_dir, add
11290         include-fixed/multiarch_dir paths before include-fixed paths.
11292 2022-09-29  Martin Liska  <mliska@suse.cz>
11294         PR driver/106897
11295         * common.opt: Add -gz=zstd value.
11296         * configure.ac: Detect --compress-debug-sections=zstd
11297         for both linker and assembler.
11298         * configure: Regenerate.
11299         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
11300         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
11302 2022-09-29  Richard Biener  <rguenther@suse.de>
11304         PR tree-optimization/105646
11305         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
11306         the set of fallthru reachable blocks from function entry
11307         and use that to determine wlims.always_executed.
11309 2022-09-29  liuhongt  <hongtao.liu@intel.com>
11311         PR tree-optimization/107055
11312         * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
11313         nonlinear induction variables.
11314         * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
11315         functions.
11316         (vectorizable_nonlinear_induction): Put part codes into
11317         vect_can_peel_nonlinear_iv_p.
11318         * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
11320 2022-09-28  Eugene Rozenfeld  <erozen@microsoft.com>
11322         * basic-block.h: Remove discriminator from basic blocks.
11323         * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
11324         * final.cc (final_start_function_1): Switch from per-bb to per statement
11325         discriminator.
11326         (final_scan_insn_1): Don't keep track of basic block discriminators.
11327         (compute_discriminator): Switch from basic block discriminators to
11328         instruction discriminators.
11329         (insn_discriminator): New function to return instruction discriminator.
11330         (notice_source_line): Use insn_discriminator.
11331         * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
11332         basic block discriminators.
11333         * gimple-streamer-in.cc (input_bb): Remove reading of basic block
11334         discriminators.
11335         * gimple-streamer-out.cc (output_bb): Remove writing of basic block
11336         discriminators.
11337         * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
11338         (location_with_discriminator): New function to combine locus with
11339         a discriminator.
11340         (has_discriminator): New function to check if a location has a discriminator.
11341         (get_discriminator_from_loc): New function to get the discriminator
11342         from a location.
11343         * input.h: Declarations of new functions.
11344         * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
11345         (apply_location_cache): Keep track of current discriminator.
11346         (input_location_and_block): Read discriminator from stream.
11347         * lto-streamer-out.cc (clear_line_info): Set current discriminator to
11348         UINT_MAX.
11349         (lto_output_location_1): Write discriminator to stream.
11350         * lto-streamer.h: Add discriminator to cached_location.
11351         Add current_discr to lto_location_cache.
11352         Add current_discr to output_block.
11353         * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
11354         * rtl.h: Add extern declaration of insn_discriminator.
11355         * tree-cfg.cc (assign_discriminator): New function to assign a unique
11356         discriminator value to all statements in a basic block that have the given
11357         line number.
11358         (assign_discriminators): Assign discriminators to statement locations.
11359         * tree-pretty-print.cc (dump_location): Dump discriminators.
11360         * tree.cc (set_block): Preserve discriminator when setting block.
11361         (set_source_range): Preserve discriminator when setting source range.
11363 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
11365         PR target/107061
11366         * config/i386/predicates.md (encodekey128_operation): Check
11367         XMM4-XMM6 as clobbered.
11368         (encodekey256_operation): Likewise.
11369         * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
11370         (encodekey256u32): Likewise.
11372 2022-09-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11374         * config.gcc: Add riscv-vector-builtins.o.
11375         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
11376         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
11377         * config/riscv/riscv.cc (ENTRY): New macro.
11378         (riscv_v_ext_enabled_vector_mode_p): New function.
11379         (riscv_mangle_type): Add RVV mangle.
11380         (riscv_vector_mode_supported_p): Adjust RVV machine mode.
11381         (riscv_verify_type_context): Add context check for RVV.
11382         (riscv_vector_alignment): Add RVV alignment target hook support.
11383         (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
11384         (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
11385         (TARGET_VECTOR_ALIGNMENT): Ditto.
11386         * config/riscv/t-riscv: Add riscv-vector-builtins.o
11387         * config/riscv/riscv-vector-builtins.cc: New file.
11388         * config/riscv/riscv-vector-builtins.def: New file.
11389         * config/riscv/riscv-vector-builtins.h: New file.
11390         * config/riscv/riscv-vector-switch.def: New file.
11392 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
11394         * var-tracking.cc (vt_add_function_parameter): Add entry values
11395         up to maximal register mode.
11397 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
11399         * cselib.cc (new_cselib_val): Keep track of further subvalue
11400         relations.
11402 2022-09-28  Andrea Corallo  <andrea.corallo@arm.com>
11404         * config/arm/arm-c.cc (arm_cpu_builtins): Define
11405         __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
11407 2022-09-28  Xi Ruoyao  <xry111@xry111.site>
11409         PR tree-optimization/105414
11410         * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
11411         (UNSPEC_FMIN): Likewise.
11412         (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
11413         (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
11415 2022-09-28  Lulu Cheng  <chenglulu@loongson.cn>
11417         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
11418         Fixed typo in "asan_mapping.h".
11420 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
11422         PR middle-end/58245
11423         * calls.cc: Include "tree-eh.h".
11424         (expand_call): Check stack canary before throwing exception.
11426 2022-09-27  Eugene Rozenfeld  <erozen@microsoft.com>
11428         * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
11430 2022-09-27  Kim Kuparinen  <kim.kuparinen@rightware.com>
11432         * doc/invoke.texi: Update ABI version info.
11434 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
11436         * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
11437         singleton.
11439 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
11441         * value-range.cc (irange::set_nonzero_bits): Set range when known.
11443 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
11445         * value-range.h (irange::set): New version taking wide_int_ref.
11447 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
11449         PR tree-optimization/107029
11450         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
11451         OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
11452         signed and so can trigger even the (b % 4) == 3 case.
11454 2022-09-27  Jeff Law  <jeffreyalaw@gmail.com>
11456         * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
11457         and return are available before trying to use them.
11459 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
11461         PR c++/106652
11462         PR c++/85518
11463         * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
11464         enumerator.
11465         * tree.h (float128t_type_node): Define.
11466         * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
11467         * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
11468         _Float<N> is supported in C++ too.
11469         * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
11470         float128t_type_node.
11471         * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
11472         float128t_type_node for __float128 instead of float128_type_node
11473         and create it if NULL.
11474         * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
11475         _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
11476         0.0f.
11477         * config/ia64/ia64.cc (ia64_init_builtins): Use
11478         float128t_type_node for __float128 instead of float128_type_node
11479         and create it if NULL.
11480         * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
11481         for float128t_type_node if non-NULL.
11482         * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
11483         float128_type_node as "u9__ieee128".
11484         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
11485         float128t_type_node for __float128 instead of float128_type_node
11486         and create it if NULL.
11488 2022-09-26  Martin Liska  <mliska@suse.cz>
11490         * doc/invoke.texi: Add missing dash for
11491         Wanalyzer-exposure-through-uninit-copy.
11493 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
11495         PR tree-optimization/107009
11496         * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
11497         (range_op_bitwise_and_tests): New test.
11499 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
11501         PR tree-optimization/107009
11502         * tree-ssa-dom.cc
11503         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
11504         Iterate over exports.
11506 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
11508         * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
11509         the default.
11510         * config/nvptx/gen-multilib-matches.sh: New.
11511         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
11512         (MULTILIB_EXCEPTIONS): Handle this.
11513         * doc/install.texi (Specific) <nvptx-*-none>: Document this.
11514         * doc/invoke.texi (Nvidia PTX Options): Likewise.
11516 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
11518         * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
11519         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
11520         (MULTILIB_EXCEPTIONS): Handle it.
11522 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
11524         * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
11525         * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
11526         '-misa' appeared.
11527         * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
11528         * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
11530 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
11532         * config/nvptx/nvptx.h (ASM_SPEC): Define.
11534 2022-09-26  Jeff Law  <jeffreyalaw@gmail.com>
11536         * cfgcleanup.cc (bb_is_just_return): No longer static.
11537         * cfgcleanup.h (bb_is_just_return): Add prototype.
11538         * cfgrtl.cc (fixup_reorder_chain): Do not create an
11539         unconditional jump to a return block.  Conditionally
11540         remove unreachable blocks.
11542 2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
11544         PR middle-end/106982
11545         * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
11547 2022-09-26  Martin Liska  <mliska@suse.cz>
11549         * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
11550         and use only dst.
11552 2022-09-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11554         * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
11555         (armv9.2-a): Likewise.
11556         (armv9.3-a): Likewise.
11557         * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
11558         (AARCH64_FL_V9_2): Likewise.
11559         (AARCH64_FL_V9_3): Likewise.
11560         (AARCH64_FL_FOR_ARCH9_1): Likewise.
11561         (AARCH64_FL_FOR_ARCH9_2): Likewise.
11562         (AARCH64_FL_FOR_ARCH9_3): Likewise.
11563         (AARCH64_ISA_V9_1): Likewise.
11564         (AARCH64_ISA_V9_2): Likewise.
11565         (AARCH64_ISA_V9_3): Likewise.
11566         * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
11567         armv9.3-a values to -march.
11569 2022-09-26  Martin Liska  <mliska@suse.cz>
11571         * value-range.cc (tree_compare): Remove unused function.
11573 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
11575         PR target/96072
11576         * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
11577         condition for adding REG_CFA_DEF_CFA reg note with
11578         frame_pointer_needed_indeed.
11580 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
11582         PR target/100645
11583         * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
11584         TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
11586 2022-09-26  Hongtao Liu  <hongtao.liu@intel.com>
11587             Liwei Xu  <liwei.xu@intel.com>
11589         PR target/53346
11590         * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
11591         New function.
11592         (ix86_expand_vec_perm_const_1): Insert
11593         expand_vec_perm_shufps_shufps at the end of 2-instruction
11594         expand sequence.
11596 2022-09-25  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
11598         * doc/sourcebuild.texi: Fix chapter level.
11600 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
11602         PR c/107001
11603         * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
11604         at the end.
11605         * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
11606         is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
11607         update parent.
11608         (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
11609         cur_region back after new_omp_region.
11611 2022-09-23  Vineet Gupta  <vineetg@rivosinc.com>
11613         * config/riscv/riscv.h (LOCAL_SYM_P): New.
11614         (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
11616 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
11618         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
11619         (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
11620         (ADJUST_ALIGNMENT): Adjust alignment.
11621         (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
11622         (RVV_MODES): New macro.
11623         (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
11624         (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
11626 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
11628         * common/config/riscv/riscv-common.cc: Change "static void" to "void".
11629         * config.gcc: Add riscv-selftests.o
11630         * config/riscv/predicates.md: Allow const_poly_int.
11631         * config/riscv/riscv-protos.h (riscv_reinit): New function.
11632         (riscv_parse_arch_string): change as exten function.
11633         (riscv_run_selftests): New function.
11634         * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
11635         into const pool.
11636         (riscv_report_v_required): New function.
11637         (riscv_expand_op): New function.
11638         (riscv_expand_mult_with_const_int): New function.
11639         (riscv_legitimize_poly_move): Ditto.
11640         (riscv_legitimize_move): New function.
11641         (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
11642         vector RA.
11643         (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
11644         -marh no 'v'.
11645         (riscv_reinit): New function.
11646         (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
11647         * config/riscv/t-riscv: Add riscv-selftests.o.
11648         * config/riscv/riscv-selftests.cc: New file.
11650 2022-09-23  Richard Biener  <rguenther@suse.de>
11652         PR tree-optimization/106922
11653         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
11654         an arbitrary number of same valued skipped stores.
11656 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
11658         * value-range.cc (frange::set): Swap setters such that the one
11659         accepting REAL_VALUE_TYPE does all the work.
11661 2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11663         * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
11664         (demeter): Update tunings to neoversev2.
11665         * config/aarch64/aarch64-tune.md: Regenerate.
11666         * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
11667         neoversev2_addrcost_table.
11668         (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
11669         (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
11670         (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
11671         (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
11672         (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
11673         (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
11674         (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
11675         Update references to above.
11676         (demeter_vector_cost): Rename to neoversev2_vector_cost.
11677         (demeter_tunings): Rename to neoversev2_tunings.
11678         (aarch64_vec_op_count::rename_cycles_per_iter): Use
11679         neoversev2_sve_issue_info instead of demeter_sve_issue_info.
11680         * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
11682 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
11684         * range-op-float.cc (build_le): Use vrp_val_*.
11685         (build_lt): Same.
11686         (build_ge): Same.
11687         (build_gt): Same.
11688         * value-range.cc (frange::set): Chop ranges outside of the
11689         representable numbers for -ffinite-math-only.
11690         (frange::normalize_kind): Use vrp_val*.
11691         (frange::verify_range): Same.
11692         (frange::set_nonnegative): Same.
11693         (range_tests_floats): Remove tests that depend on -INF and +INF.
11694         * value-range.h (real_max_representable): Add prototype.
11695         (real_min_representable): Same.
11696         (vrp_val_max): Set max representable number for
11697         -ffinite-math-only.
11698         (vrp_val_min): Same but for min.
11699         (frange::set_varying): Use vrp_val*.
11701 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
11703         * real.cc (debug): New.
11705 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
11707         * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
11708         (vrange_printer::visit): Call print_real_value.
11709         * value-range-pretty-print.h: New print_real_value.
11711 2022-09-23  Martin Liska  <mliska@suse.cz>
11713         * common.opt: Update -flto-compression-level documentation.
11714         * opts.cc (print_filtered_help): Do not append range to an
11715         option that uses \t syntax.
11717 2022-09-23  Jakub Jelinek  <jakub@redhat.com>
11719         * attribs.cc (decl_attributes): Improve diagnostics, instead of
11720         saying expected between 1 and 1, found 2 just say expected 1, found 2.
11722 2022-09-23  Hu, Lin1  <lin1.hu@intel.com>
11724         PR target/94962
11725         * config/i386/constraints.md (BH): New define_constraint.
11726         * config/i386/i386.cc (standard_sse_constant_p): Add return
11727         3/4 when operand matches new predicate.
11728         (standard_sse_constant_opcode): Add new alternative branch to
11729         return "vpcmpeqd".
11730         * config/i386/predicates.md
11731         (vector_all_ones_zero_extend_half_operand): New define_predicate.
11732         (vector_all_ones_zero_extend_quarter_operand): Ditto.
11733         * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
11735 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11737         * gimple-range-fold.cc (range_of_range_op): Handle no operands.
11738         (range_of_call): Do not check for builtins.
11739         (fold_using_range::range_of_builtin_call): Delete.
11740         (fold_using_range::range_of_builtin_int_call): Delete.
11741         * gimple-range-fold.h: Adjust prototypes.
11742         * gimple-range-op.cc (class cfn_parity): New.
11743         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11745 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11747         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11748         for CFN_GOACC_DIM_*.
11749         * gimple-range-op.cc (class cfn_goacc_dim): New.
11750         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11752 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11754         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11755         for CFN_BUILT_IN_STRLEN.
11756         * gimple-range-op.cc (class cfn_strlen): New.
11757         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11759 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11761         * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
11762         (range_of_builtin_int_call): Remove cases for
11763         CFN_BUILT_IN_UBSAN_CHECK.
11764         * gimple-range-op.cc (class cfn_ubsan): New.
11765         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11767 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11769         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11770         for CFN_BUILT_IN_CLRSB.
11771         * gimple-range-op.cc (class cfn_clrsb): New.
11772         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11774 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11776         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11777         for CFN_CTZ.
11778         * gimple-range-op.cc (class cfn_ctz): New.
11779         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11781 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11783         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11784         for CFN_CLZ.
11785         * gimple-range-op.cc (class cfn_clz): New.
11786         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11788 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11790         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11791         for CFN_FFS and CFN_POPCOUNT.
11792         * gimple-range-op.cc (class cfn_pocount): New.
11793         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11795 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11797         * gimple-range-fold.cc (get_letter_range): Move to new class.
11798         (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
11799         and CFN_BUILT_IN_TOLOWER.
11800         * gimple-range-op.cc (class cfn_toupper_tolower): New.
11801         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11803 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11805         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
11806         for CFN_BUILT_IN_SIGNBIT.
11807         * gimple-range-op.cc (class cfn_signbit): New.
11808         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
11810 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11812         * gimple-range-fold.cc
11813         (fold_using_range::range_of_builtin_int_call): Remove case for
11814         CFN_BUILT_IN_CONSTANT_P.
11815         * gimple-range-op.cc (gimple_range_op_handler::supported_p):
11816         Check if a call also creates a range-op object.
11817         (gimple_range_op_handler): Also check builtin calls.
11818         (class cfn_constant_float_p): New.  Float CFN_BUILT_IN_CONSTANT_P.
11819         (class cfn_constant_p): New.  Integral CFN_BUILT_IN_CONSTANT_P.
11820         (gimple_range_op_handler::maybe_builtin_call): Set arguments and
11821         handler for supported built-in calls.
11822         * gimple-range-op.h (maybe_builtin_call): New prototype.
11824 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11826         * gimple-range-fold.cc (range_of_range_op): Set result to
11827         VARYING if the call to fold_range fails.
11828         * tree-data-ref.cc (compute_distributive_range): Ditto.
11829         * tree-vrp.cc (range_fold_binary_expr): Ditto.
11830         (range_fold_unary_expr): Ditto.
11831         * value-query.cc (range_query::get_tree_range): Ditto.
11833 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11835         * range-op-float.cc (range_operator_float::fold_range): New base
11836         method for "int = float op int".
11837         * range-op.cc (range_op_handler::fold_range): New case.
11838         * range-op.h: Update prototypes.
11840 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11842         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
11843         operand 1 for second range if there is no operand 2.
11845 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11847         * Makefile.in (OBJS): Add gimple-range-op.o.
11848         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
11849         gimple_range_op_handler.
11850         * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
11851         to a method in gimple_range_op_handler.
11852         (gimple_range_operand1): Ditto.
11853         (gimple_range_operand2): Ditto.
11854         (fold_using_range::fold_stmt): Use gimple_range_op_handler.
11855         (fold_using_range::range_of_range_op): Ditto.
11856         (fold_using_range::relation_fold_and_or): Ditto.
11857         (fur_source::register_outgoing_edges): Ditto.
11858         (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
11859         * gimple-range-fold.h: Adjust prototypes.
11860         * gimple-range-gori.cc (gimple_range_calc_op1): Move
11861         to a method in gimple_range_op_handler.
11862         (gimple_range_calc_op2): Ditto.
11863         (gori_compute::compute_operand_range): Use
11864         gimple_range_op_handler.
11865         (gori_compute::compute_logical_operands): Ditto.
11866         (compute_operand1_range): Ditto.
11867         (gori_compute::compute_operand2_range): Ditto.
11868         (gori_compute::compute_operand1_and_operand2_range): Ditto.
11869         * gimple-range-gori.h: Adjust protoypes.
11870         * gimple-range-op.cc: New.  Supply gimple_range_op_handler methods.
11871         * gimple-range-op.h: New.  Supply gimple_range_op_handler class.
11872         * gimple-range.cc (gimple_ranger::prefill_name): Use
11873         gimple_range_op_handler.
11874         (gimple_ranger::prefill_stmt_dependencies): Ditto.
11875         * gimple-range.h: Include gimple-range-op.h.
11876         * range-op.cc (range_op_handler::range_op_handler): Adjust and
11877         remove gimple * parameter option.
11878         * range-op.h: Adjust prototypes.
11880 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11882         * range-op.cc (range_op_handler::set_op_handler): Set new fields.
11883         (ange_op_handler::range_op_handler): Likewise.
11884         (range_op_handler::operator bool): Remove.
11885         (range_op_handler::fold_range): Use appropriate handler.
11886         (range_op_handler::op1_range): Likewise.
11887         (range_op_handler::op2_range): Likewise.
11888         (range_op_handler::lhs_op1_relation): Likewise.
11889         (range_op_handler::lhs_op2_relation): Likewise.
11890         (range_op_handler::op1_op2_relation): Likewise.
11891         * range-op.h (class range_op_handler): Store handler pointers.
11892         (range_op_handler:: operator bool): Inline.
11894 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
11896         * tree-ssa-threadbackward.cc
11897         (back_threader::find_paths_to_names): Replace sequence with
11898         a call to gimple_range_ssa_names.
11900 2022-09-22  Martin Liska  <mliska@suse.cz>
11901             Fangrui Song  <i@maskray.me>
11903         * configure: Regenerate.
11904         * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
11905         and gcc_cv_as_compress_debug={0,1}.
11906         * doc/invoke.texi: Document the removal.
11907         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
11908         zlib-gnu.
11909         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
11911 2022-09-22  Richard Biener  <rguenther@suse.de>
11913         PR tree-optimization/106922
11914         * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
11915         (vn_walk_cb_data::finish): Perform delayed verification of
11916         a skipped may-alias.
11917         (vn_reference_lookup_pieces): Likewise.
11918         (vn_reference_lookup): Likewise.
11919         (vn_reference_lookup_3): When skipping stores of the same
11920         value also handle constant stores that are more than a
11921         single VDEF away by delaying the verification.
11923 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
11925         * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
11926         definition.
11928 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
11930         * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
11931         (xtensa_output_mi_thunk): New functions.
11932         (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
11933         (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
11934         (xtensa_prepare_expand_call): Use fixed register a8 as temporary
11935         when called with reload_completed set to 1.
11937 2022-09-22  Richard Biener  <rguenther@suse.de>
11939         PR tree-optimization/99407
11940         * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
11941         (dse_classify_store): Use data-ref analysis to disambiguate more uses.
11942         (pass_dse::use_dr_analysis_p): New pass parameter.
11943         (pass_dse::set_pass_param): Implement.
11944         (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
11945         * passes.def: Allow DR analysis for the DSE pass before loop.
11947 2022-09-22  Richard Biener  <rguenther@suse.de>
11949         * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
11950         function split out from ...
11951         (vn_nary_op_insert_pieces_predicated): ... here.
11953 2022-09-22  liuhongt  <hongtao.liu@intel.com>
11955         PR target/106994
11956         * config/i386/mmx.md (floorv2sf2): Fix typo, use
11957         register_operand instead of vector_operand for operands[1].
11959 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
11961         PR tree-optimization/106967
11962         * value-range.cc (frange::set): Set known NANs to undefined for
11963         flag_finite_math_only.
11965 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
11967         * value-range.cc (frange::combine_zeros): Call set_undefined.
11968         (frange::intersect_nans): Same.
11969         (frange::intersect): Same.
11970         (frange::verify_range): Undefined ranges do not have a type.
11971         * value-range.h (frange::set_undefined): Clear NAN flags and type.
11973 2022-09-21  Richard Biener  <rguenther@suse.de>
11975         PR tree-optimization/106984
11976         * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
11977         a separate statement.
11979 2022-09-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11981         * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
11982         EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
11983         OPTION_DEFAULT_SPECS.
11984         (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
11985         local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
11986         is given.
11987         (CONFIG_TUNE_SPEC): Define.
11988         (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
11990 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
11992         PR tree-optimization/106967
11993         * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
11994         (foperator_equal::op1_range): Same.
11995         (foperator_not_equal::fold_range): Same.
11996         (foperator_not_equal::op1_range): Same.
11997         (foperator_lt::fold_range): Same.
11998         (foperator_lt::op1_range): Same.
11999         (foperator_lt::op2_range): Same.
12000         (foperator_le::fold_range): Same.
12001         (foperator_le::op1_range): Same.
12002         (foperator_le::op2_range): Same.
12003         (foperator_gt::fold_range): Same.
12004         (foperator_gt::op1_range): Same.
12005         (foperator_gt::op2_range): Same.
12006         (foperator_ge::fold_range): Same.
12007         (foperator_ge::op1_range): Same.
12008         (foperator_ge::op2_range): Same.
12009         (foperator_unordered::op1_range): Same.
12010         (foperator_ordered::fold_range): Same.
12011         (foperator_ordered::op1_range): Same.
12012         (build_le): Assert that we don't have a NAN.
12013         (build_lt): Same.
12014         (build_gt): Same.
12015         (build_ge): Same.
12017 2022-09-21  liuhongt  <hongtao.liu@intel.com>
12019         PR tree-optimization/106963
12020         * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
12021         vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
12023 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
12025         * value-range.h (frange::maybe_isnan): Return false for
12026         undefined ranges.
12028 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
12030         * value-range.cc (frange::set_nonnegative): Set +NAN.
12031         (range_tests_signed_zeros): New test.
12032         * value-range.h (frange::update_nan): New overload to set NAN sign.
12034 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
12036         PR target/106491
12037         * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
12038         (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
12039         markup to (new) extern declarations instead of to the main
12040         definition.
12042 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
12044         PR tree-optimization/106794
12045         PR tree-optimization/106914
12046         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
12047         Only consider loads that already have a permutation.
12048         (vect_optimize_slp_pass::start_choosing_layouts): Assert that
12049         loads with permutations are leaf nodes.  Prevent any kind of grouped
12050         access from changing layout if it doesn't have a load permutation.
12052 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
12054         * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
12055         early-out optimisation to SSA_NAMEs.
12057 2022-09-20  Martin Liska  <mliska@suse.cz>
12059         * ctfc.cc (ctf_add_string): Replace "the the" with "the".
12060         * doc/md.texi: Likewise.
12061         * gimple-range-infer.cc (non_null_loadstore): Likewise.
12063 2022-09-20  liuhongt  <hongtao.liu@intel.com>
12065         PR target/106910
12066         * config/i386/mmx.md (nearbyintv2sf2): New expander.
12067         (rintv2sf2): Ditto.
12068         (ceilv2sf2): Ditto.
12069         (lceilv2sfv2si2): Ditto.
12070         (floorv2sf2): Ditto.
12071         (lfloorv2sfv2si2): Ditto.
12072         (btruncv2sf2): Ditto.
12073         (lrintv2sfv2si2): Ditto.
12074         (roundv2sf2): Ditto.
12075         (lroundv2sfv2si2): Ditto.
12076         (*mmx_roundv2sf2): New define_insn.
12078 2022-09-20  konglin1  <lingling.kong@intel.com>
12080         PR middle-end/105735
12081         * tree-scalar-evolution.cc
12082         (analyze_and_compute_bitop_with_inv_effect): New function.
12083         (final_value_replacement_loop): Enhanced to handle bitop
12084         with inv induction.
12086 2022-09-20  Xi Ruoyao  <xry111@xry111.site>
12088         * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
12089         -static-pie, pass -static -pie --no-dynamic-linker -z text to
12090         the linker, and do not pass --dynamic-linker.
12092 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
12094         * value-range.cc (frange::flush_denormals_to_zero): New.
12095         (frange::set): Call flush_denormals_to_zero.
12096         * value-range.h (class frange): Add flush_denormals_to_zero.
12098 2022-09-20  liuhongt  <hongtao.liu@intel.com>
12100         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
12101         latest Intel processors.
12103 2022-09-20  konglin1  <lingling.kong@intel.com>
12105         PR target/106887
12106         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
12107         Fixed V16BF mode case.
12109 2022-09-19  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
12111         * targhooks.cc (default_zero_call_used_regs): Improve sorry
12112         message.
12114 2022-09-18  Julian Brown  <julian@codesourcery.com>
12116         * gimplify.cc (omp_segregate_mapping_groups): Update comment.
12117         (gimplify_adjust_omp_clauses): Move ATTACH and
12118         ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
12119         for offloaded OpenMP regions.
12121 2022-09-18  Jakub Jelinek  <jakub@redhat.com>
12123         PR middle-end/106831
12124         * value-range.cc (frange::singleton_p): Avoid propagating long
12125         doubles that may have multiple representations.
12127 2022-09-18  Aldy Hernandez  <aldyh@redhat.com>
12129         * range-op-float.cc (frange_add_zeros): Replace set_signbit with
12130         union of zero.
12131         * value-query.cc (range_query::get_tree_range): Remove set_signbit
12132         use.
12133         * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
12134         Remove.
12135         (vrange_printer::print_frange_nan): New.
12136         * value-range-pretty-print.h (print_frange_prop): Remove.
12137         (print_frange_nan): New.
12138         * value-range-storage.cc (frange_storage_slot::set_frange): Set
12139         kind and NAN fields.
12140         (frange_storage_slot::get_frange): Restore kind and NAN fields.
12141         * value-range-storage.h (class frange_storage_slot): Add kind and
12142         NAN fields.
12143         * value-range.cc (frange::update_nan): Remove.
12144         (frange::set_signbit): Remove.
12145         (frange::set): Adjust for NAN fields.
12146         (frange::normalize_kind): Remove m_props.
12147         (frange::combine_zeros): New.
12148         (frange::union_nans): New.
12149         (frange::union_): Handle new NAN fields.
12150         (frange::intersect_nans): New.
12151         (frange::intersect): Handle new NAN fields.
12152         (frange::operator=): Same.
12153         (frange::operator==): Same.
12154         (frange::contains_p): Same.
12155         (frange::singleton_p): Remove special case for signed zeros.
12156         (frange::verify_range): Adjust for new NAN fields.
12157         (frange::set_zero): Handle signed zeros.
12158         (frange::set_nonnegative): Same.
12159         (range_tests_nan): Adjust tests.
12160         (range_tests_signed_zeros): Same.
12161         (range_tests_signbit): Same.
12162         (range_tests_floats): Same.
12163         * value-range.h (class fp_prop): Remove.
12164         (FP_PROP_ACCESSOR): Remove.
12165         (class frange_props): Remove
12166         (frange::lower_bound): NANs don't have endpoints.
12167         (frange::upper_bound): Same.
12168         (frange_props::operator==): Remove.
12169         (frange_props::union_): Remove.
12170         (frange_props::intersect): Remove.
12171         (frange::update_nan): New.
12172         (frange::clear_nan): New.
12173         (frange::undefined_p): New.
12174         (frange::set_nan): New.
12175         (frange::known_finite): Adjust for new NAN representation.
12176         (frange::maybe_isnan): Same.
12177         (frange::known_isnan): Same.
12178         (frange::signbit_p): Same.
12179         * gimple-range-fold.cc (range_of_builtin_int_call): Rename
12180         known_signbit_p into signbit_p.
12182 2022-09-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12184         * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
12185         to prevent warning.
12187 2022-09-17  Jakub Jelinek  <jakub@redhat.com>
12189         PR tree-optimization/106958
12190         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
12191         id >= l, cast op to type1, otherwise to pointer_sized_int_node.
12192         If type has pointer type, cast exp to pointer_sized_int_node
12193         even when id < l.
12195 2022-09-16  liuhongt  <hongtao.liu@intel.com>
12197         PR target/106910
12198         * config/i386/i386-builtins.cc
12199         (ix86_builtin_vectorized_function): Modernized with
12200         corresponding expanders.
12201         * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
12202         expander.
12203         (floor<mode>2): Ditto.
12204         (lfloor<mode><sseintvecmodelower>2): Ditto.
12205         (ceil<mode>2): Ditto.
12206         (lceil<mode><sseintvecmodelower>2): Ditto.
12207         (btrunc<mode>2): Ditto.
12208         (lround<mode><sseintvecmodelower>2): Ditto.
12209         (exp2<mode>2): Ditto.
12211 2022-09-15  Joseph Myers  <joseph@codesourcery.com>
12213         * ginclude/float.h (INFINITY): Define only if
12214         [__FLT_HAS_INFINITY__].
12216 2022-09-15  Richard Biener  <rguenther@suse.de>
12218         PR tree-optimization/106922
12219         * tree-ssa-pre.cc (translate_vuse_through_block): Only
12220         keep the VUSE if its def dominates PHIBLOCK.
12221         (prune_clobbered_mems): Rewrite logic so we check whether
12222         a value dies in a block when the VUSE def doesn't dominate it.
12224 2022-09-15  Richard Biener  <rguenther@suse.de>
12226         * tree.cc (build_common_tree_nodes): Initialize void_list_node
12227         here.
12229 2022-09-15  Jiufu Guo  <guojiufu@linux.ibm.com>
12231         PR target/106550
12232         * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
12234 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
12236         * range-op-float.cc (frange_add_zeros): New.
12237         (build_le): Call frange_add_zeros.
12238         (build_ge): Same.
12239         (foperator_equal::op1_range): Same.
12240         (foperator_not_equal::op1_range): Same.
12242 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
12244         * range-op-float.cc (build_le): Accept frange instead of number.
12245         (build_lt): Same.
12246         (build_ge): Same.
12247         (build_gt): Same.
12248         (foperator_lt::op1_range): Pass full range to build_*.
12249         (foperator_lt::op2_range): Same.
12250         (foperator_le::op1_range): Same.
12251         (foperator_le::op2_range): Same.
12252         (foperator_gt::op1_range): Same.
12253         (foperator_gt::op2_range): Same.
12254         (foperator_ge::op1_range): Same.
12255         (foperator_ge::op2_range): Same.
12257 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
12259         * value-range.cc (frange::set): Use set_nan.
12260         * value-range.h (frange::set_nan): Inline code originally in
12261         set().
12263 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
12265         * range-op-float.cc (frange_set_nan): Remove.
12266         (build_lt): Use set_nan, update_nan, clear_nan.
12267         (build_gt): Same.
12268         (foperator_equal::op1_range): Same.
12269         (foperator_not_equal::op1_range): Same.
12270         (foperator_lt::op1_range): Same.
12271         (foperator_lt::op2_range): Same.
12272         (foperator_le::op1_range): Same.
12273         (foperator_le::op2_range): Same.
12274         (foperator_gt::op1_range): Same.
12275         (foperator_gt::op2_range): Same.
12276         (foperator_ge::op1_range): Same.
12277         (foperator_ge::op2_range): Same.
12278         (foperator_unordered::op1_range): Same.
12279         (foperator_ordered::op1_range): Same.
12280         * value-query.cc (range_query::get_tree_range): Same.
12281         * value-range.cc (frange::set_nan): Same.
12282         (frange::update_nan): Same.
12283         (frange::union_): Same.
12284         (frange::intersect): Same.
12285         (range_tests_nan): Same.
12286         (range_tests_signed_zeros): Same.
12287         (range_tests_signbit): Same.
12288         (range_tests_floats): Same.
12289         * value-range.h (class frange): Add update_nan and clear_nan.
12290         (frange::set_nan): New.
12292 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
12294         * value-query.cc (range_query::get_tree_range): Remove check for overflow.
12295         * value-range-pretty-print.cc (vrange_printer::visit): Move read
12296         of type until after undefined_p is checked.
12297         * value-range.cc (frange::set): Remove asserts for REAL_CST.
12298         (frange::contains_p): Tidy up.
12299         (range_tests_nan):  Add comment.
12300         * value-range.h (frange::type): Check for undefined_p.
12301         (frange::set_undefined): Remove set of endpoints.
12303 2022-09-14  Julian Brown  <julian@codesourcery.com>
12305         * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
12306         GOMP_MAP_STRUCT (for reindexing).
12307         (omp_gather_mapping_groups): Reimplement using...
12308         (omp_gather_mapping_groups_1): This new function.  Stop processing at
12309         GATHER_SENTINEL.
12310         (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
12311         (omp_index_mapping_groups): Reimplement using...
12312         (omp_index_mapping_groups_1): This new function.  Handle
12313         REINDEX_SENTINEL.
12314         (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
12315         functions.
12316         (omp_tsort_mapping_groups_1): Adjust handling of base group being the
12317         same as current group.  Use omp_mapped_by_containing_struct.
12318         (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
12319         and omp_reindex_mapping_groups.  Robustify group deletion for reordered
12320         lists.
12321         (gimplify_scan_omp_clauses): Update calls to
12322         omp_build_struct_sibling_lists.
12324 2022-09-14  Julian Brown  <julian@codesourcery.com>
12326         * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
12327         (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
12328         (insert_struct_comp_map): Refactor function into...
12329         (build_omp_struct_comp_nodes): This new function.  Remove list handling
12330         and improve self-documentation.
12331         (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters.  Move
12332         code to strip outer parts of address out of function, but strip no-op
12333         conversions.
12334         (omp_mapping_group): Add DELETED field for use during reindexing.
12335         (omp_strip_components_and_deref, omp_strip_indirections): New functions.
12336         (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
12337         (omp_gather_mapping_groups): Initialise DELETED field for new groups.
12338         (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
12339         (omp_siblist_insert_node_after, omp_siblist_move_node_after,
12340         omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
12341         helper functions.
12342         (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
12343         node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
12344         (omp_build_struct_sibling_lists): New function.
12345         (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
12346         struct_seen_clause, struct_deref_set.  Call
12347         omp_build_struct_sibling_lists as pre-pass instead of handling sibling
12348         lists in the function's main processing loop.
12349         (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
12350         handling, unused now.
12351         * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
12352         struct references, and references to pointers to structs also.
12354 2022-09-14  Richard Biener  <rguenther@suse.de>
12356         PR tree-optimization/106938
12357         * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
12358         edges for all last stmts in a block.  Do EH cleanup
12359         only on the last stmt in a block.
12361 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
12363         PR tree-optimization/106936
12364         * value-query.cc (range_query::get_value_range): Remove assert.
12366 2022-09-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12368         * config/mips/mips.cc (mips_option_override): Drop unused variable.
12370 2022-09-14  Julian Brown  <julian@codesourcery.com>
12372         * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
12373         functions.
12374         (omp_tsort_mark): Add enum.
12375         (omp_mapping_group): Add struct.
12376         (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
12377         omp_group_last, omp_gather_mapping_groups, omp_group_base,
12378         omp_index_mapping_groups, omp_containing_struct,
12379         omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
12380         omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
12381         functions.
12382         (gimplify_scan_omp_clauses): Call above functions instead of
12383         omp_target_reorder_clauses, unless we've seen an error.
12384         * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
12385         sorted mapping groups.
12387 2022-09-14  Jakub Jelinek  <jakub@redhat.com>
12389         PR tree-optimization/106878
12390         * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
12391         reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
12392         the second argument is INTEGER_CST, BIT_AND_EXPR.
12393         * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
12394         (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
12395         POINTER_TYPE_P or OFFSET_TYPE.
12396         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
12397         pointers cast them to pointer sized integers first.
12399 2022-09-14  Richard Biener  <rguenther@suse.de>
12401         PR tree-optimization/106934
12402         * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
12403         of bitfields.
12404         (maybe_rewrite_mem_ref_base): Likewise.
12406 2022-09-14  liuhongt  <hongtao.liu@intel.com>
12408         PR tree-optimization/106905
12409         * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
12410         false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
12411         LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
12413 2022-09-13  Roger Sayle  <roger@nextmovesoftware.com>
12415         PR target/106877
12416         * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
12417         in gcc_assert.
12419 2022-09-13  Max Filippov  <jcmvbkbc@gmail.com>
12421         Revert:
12422         2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
12424         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
12425         New macro definition.
12426         (xtensa_constant_ok_for_cprop_p):
12427         Implement the hook as mentioned above.
12429 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
12431         PR target/104482
12432         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
12433         the equality check for argument number, and move this hunk ahead.
12435 2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
12437         PR target/105485
12438         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
12439         the handling for unresolved overloaded builtin function.
12440         (rs6000_expand_builtin): Likewise.
12442 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
12444         * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
12445         m_nstores, m_reduc_factor, m_gather_load and member function
12446         determine_suggested_unroll_factor.
12447         (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
12448         m_reduc_factor and m_gather_load.
12449         (rs6000_cost_data::determine_suggested_unroll_factor): New function.
12450         (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
12451         * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
12452         (rs6000-vect-unroll-issue): Likewise.
12453         (rs6000-vect-unroll-reduc-threshold): Likewise.
12454         * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
12456 2022-09-13  Richard Biener  <rguenther@suse.de>
12458         PR middle-end/106909
12459         * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
12460         flag of a unreachable call.
12462 2022-09-13  Richard Biener  <rguenther@suse.de>
12464         PR tree-optimization/106913
12465         * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
12466         ft_reachable on EXIT_BLOCK.
12468 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
12470         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
12471         TARGET_FLOAT instead of TARGET_SIMD.
12472         (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
12473         TARGET_SIMD.
12474         (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
12475         in GPRs.
12476         (aarch64_classify_address): Treat little-endian structure moves
12477         like big-endian for TARGET_FLOAT && !TARGET_SIMD.
12478         (aarch64_secondary_memory_needed): New function.
12479         (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
12480         in the same way as TF, TI and TD.
12481         (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
12482         (aarch64_rtx_costs): Likewise.
12483         (aarch64_register_move_cost): Treat a pair of 64-bit vectors
12484         separately from a single 128-bit vector.  Handle the cost implied
12485         by aarch64_secondary_memory_needed.
12486         (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
12487         TARGET_SIMD.
12488         (aarch64_expand_vec_perm_const_1): Likewise.
12489         (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
12490         * config/aarch64/iterators.md (VTX): New iterator.
12491         * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
12492         (arch_enabled): Adjust accordingly.
12493         (@aarch64_reload_mov<TX:mode>): Extend to...
12494         (@aarch64_reload_mov<VTX:mode>): ...this.
12495         * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
12496         rather than TARGET_SIMD.
12497         (movmisalign<mode>): Likewise.
12498         (load_pair<DREG:mode><DREG2:mode>): Likewise.
12499         (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
12500         (load_pair<VQ:mode><VQ2:mode>): Likewise.
12501         (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
12502         (@aarch64_split_simd_mov<mode>): Likewise.
12503         (aarch64_get_low<mode>): Likewise.
12504         (aarch64_get_high<mode>): Likewise.
12505         (aarch64_get_half<mode>): Likewise.  Canonicalize to a move for
12506         lowpart extracts.
12507         (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
12508         TARGET_SIMD.  Use different w<-w and r<-w instructions for
12509         !TARGET_SIMD.  Disable immediate moves for !TARGET_SIMD but
12510         add an alternative specifically for w<-Z.
12511         (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
12512         TARGET_SIMD.  Likewise for the associated define_splits.  Disable
12513         FPR moves and immediate moves for !TARGET_SIMD but add an alternative
12514         specifically for w<-Z.
12515         (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
12516         TARGET_SIMD.  Restrict the existing alternatives to TARGET_SIMD
12517         but add a new r<-w one for !TARGET_SIMD.
12518         (*aarch64_get_high<mode>): New pattern.
12519         (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
12520         (store_pair_lanes<mode>): Likewise.
12521         (*aarch64_combine_internal<mode>): Likewise.  Restrict existing
12522         w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
12523         alternative for !TARGET_SIMD.
12524         (*aarch64_combine_internal_be<mode>): Likewise.
12525         (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
12526         Remove bogus arch attribute.
12527         (*aarch64_combinez_be<mode>): Likewise.
12528         (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
12529         TARGET_SIMD.
12530         (aarch64_combine<mode>): Likewise.
12531         (aarch64_rev_reglist<mode>): Likewise.
12532         (mov<mode>): Likewise.
12533         (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
12534         !TARGET_SIMD, regardless of endianness.  Extend associated
12535         define_splits in the same way, both for this pattern and the
12536         ones below.
12537         (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise.  Restrict w<-w
12538         alternative to TARGET_SIMD.
12539         (*aarch64_be_movoi): Likewise.
12540         (*aarch64_be_movci): Likewise.
12541         (*aarch64_be_movxi): Likewise.
12542         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
12543         && !TARGET_SIMD, regardless of endianness.  Restrict w<-w alternative
12544         to TARGET_SIMD for tuples of 128-bit vectors.
12545         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
12546         * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
12547         from DREG STP peephole.  Change TARGET_SIMD to TARGET_FLOAT in
12548         the VQ and VP_2E LDP and STP peepholes.
12550 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
12552         * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
12553         condition.  Likewise for the related define_split.  Tweak formatting.
12555 2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
12557         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
12558         New macro definition.
12559         (xtensa_constant_ok_for_cprop_p):
12560         Implement the hook as mentioned above.
12562 2022-09-12  Joseph Myers  <joseph@codesourcery.com>
12564         * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
12565         __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
12567 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
12569         * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
12570         a warning + not enabling offloading if -misa=sm_30 prevents
12571         reverse offload.
12572         (main): Use tool_name as progname for diagnostic.
12573         * config/gcn/mkoffload.cc (main): Likewise.
12575 2022-09-12  Aldy Hernandez  <aldyh@redhat.com>
12577         * value-range.cc (frange::set_signbit): Avoid changing sign when
12578         already in the correct sign.
12580 2022-09-12  Max Filippov  <jcmvbkbc@gmail.com>
12582         * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
12583         Recognize all 4 return registers.
12584         * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
12585         * config/xtensa/xtensa.md (untyped_call): New pattern.
12587 2022-09-12  Jonathan Wakely  <jwakely@redhat.com>
12589         * doc/extend.texi (Floating Types): Fix "_float128" typo.
12591 2022-09-10  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
12593         * config/xtensa/xtensa.cc (xtensa_constantsynth):
12594         Add new pattern for the abovementioned case.
12596 2022-09-10  Akari Takahashi  <akaritakahashioss@gmail.com>
12597             Segher Boessenkool  <segher@kernel.crashing.org>
12599         * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
12601 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
12603         * config/xtensa/xtensa.md: Rewrite the split pattern that performs
12604         the abovementioned process so that insns that overwrite clobbered
12605         register no longer need to be contiguous.
12606         (DSC): Remove as no longer needed.
12608 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
12610         * config/xtensa/xtensa.cc (machine_function): New boolean member as
12611         a flag that controls whether to emit the insns for stack pointer
12612         adjustment inside of the pro/epilogue.
12613         (xtensa_emit_adjust_stack_ptr): New function to share the common
12614         codes and to emit insns if not inhibited.
12615         (xtensa_expand_epilogue): Change to use the function mentioned
12616         above when using the CALL0 ABI.
12617         (xtensa_expand_prologue): Ditto.
12618         And also change to set the inhibit flag used by
12619         xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
12620         used for its own adjustment.
12622 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
12624         * doc/invoke.texi (Static Analyzer Options): Add
12625         -Wanalyzer-exposure-through-uninit-copy.
12627 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
12629         * Makefile.in (ANALYZER_OBJS): Add
12630         analyzer/known-function-manager.o.
12632 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
12634         * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
12635         (record_id): Store func name without quotes, store dim separately.
12636         (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
12637         at least sm_35, create '$offload_func_table' global array and init
12638         with reverse-offload function addresses.
12639         * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
12640         force_public attribute to force .visible.
12641         (nvptx_declare_function_name): For "omp target
12642         device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
12644 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
12646         * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
12647         similar to pre-existing .offload_var_table.
12649 2022-09-09  Joseph Myers  <joseph@codesourcery.com>
12651         * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
12652         New macro.
12654 2022-09-09  Kewen Lin  <linkw@linux.ibm.com>
12656         PR middle-end/106833
12657         * tree.cc (verify_opaque_type): New function.
12658         (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
12660 2022-09-09  Kwok Cheung Yeung  <kcy@codesourcery.com>
12662         * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
12663         FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
12664         * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
12665         * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
12666         MATH_UNOP_TRIG): New iterators.
12667         (math_unop): New attributes.
12668         (<math_unop><mode>2, <math_unop><mode>2<exec>,
12669         <math_unop><mode>2, <math_unop><mode>2<exec>,
12670         *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
12671         ldexp<mode>3, ldexp<mode>3<exec>,
12672         frexp<mode>_exp2, frexp<mode>_mant2,
12673         frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
12674         (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
12675         * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
12676         dconst1over2pi.
12677         (gcn_dconst1over2pi): New.
12678         (gcn_builtin_type_index): Add entry for v64df type.
12679         (v64df_type_node): New.
12680         (gcn_init_builtin_types): Initialize v64df_type_node.
12681         (gcn_expand_builtin_1): Expand new builtins to instructions.
12682         (print_operand): Fix assembler output for 1/(2*PI) constant.
12683         * config/gcn/gcn.md (unspec): Add new entries.
12685 2022-09-09  Richard Biener  <rguenther@suse.de>
12687         PR tree-optimization/106722
12688         * tree-predcom.cc (ref_at_iteration): Do not associate the
12689         constant part of the offset into the MEM_REF offset
12690         operand, across a non-zero offset.
12692 2022-09-09  Kito Cheng  <kito.cheng@sifive.com>
12694         * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
12695         Move forward for cover all all necessary functions for suppress
12696         unused function warnings.
12697         (riscv_multi_lib_check): Move forward, and tweak message to suppress
12698         -Werror=format-diag warning.
12700 2022-09-09  Richard Biener  <rguenther@suse.de>
12702         PR tree-optimization/106881
12703         * gimple-predicate-analysis.cc (simple_control_dep_chain):
12704         Add only non-fallthru edges and avoid the same set of edges
12705         as compute_control_dep_chain_pdom does.
12707 2022-09-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12709         * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
12710         of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
12711         * doc/tm.texi: Regenerate.
12713 2022-09-09  Martin Liska  <mliska@suse.cz>
12715         * optc-save-gen.awk: Always compare array option values with memcmp.
12717 2022-09-08  Jonathan Wakely  <jwakely@redhat.com>
12719         PR c++/106838
12720         * doc/extend.texi (Type Traits): Fix requirements. Document
12721         __is_aggregate and __is_final.
12723 2022-09-08  Tim Lange  <mail@tim-lange.me>
12725         PR analyzer/106625
12726         * doc/invoke.texi:
12727         State that the checker also reasons about symbolic values.
12729 2022-09-08  Richard Sandiford  <richard.sandiford@arm.com>
12731         PR tree-optimization/106886
12732         * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
12733         Fix copying of scalar stmts.
12735 2022-09-08  Chung-Lin Tang  <cltang@codesourcery.com>
12737         * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
12739 2022-09-08  Richard Biener  <rguenther@suse.de>
12741         PR middle-end/106870
12742         * gimple-harden-conditionals.cc (insert_check_and_trap):
12743         Set the control-altering flag on the built IFN_TRAP.
12744         * gimple.cc (gimple_build_builtin_unreachable): Likewise.
12745         * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
12746         flag on the .ABNORMAL_DISPATCHER call.
12747         * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
12748         resetting the control altering flag for ECF_NORETURN calls.
12749         (cleanup_control_flow_bb): Set the control altering flag on
12750         discovered noreturn calls.
12751         * symtab-thunks.cc (expand_thunk): Set the control altering
12752         flag for the noreturn tailcall case.
12753         * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
12754         calls.
12756 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
12758         * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
12759         Add doacross(sink:omp_cur_iteration-1) support.
12760         (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
12761         Adjust expand_omp_ordered_sink caller.
12762         (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
12763         non-NULL, set that variable to true at the start of outermost
12764         non-collapsed loop and set it to false at the end of innermost
12765         ordered loop.
12766         (expand_omp_for_generic): If fd->ordered, allocate
12767         1 + (fd->ordered - fd->collapse) further elements in counts array.
12768         Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
12769         fd->ordered - 1 loop if any.
12771 2022-09-08  Richard Biener  <rguenther@suse.de>
12773         PR tree-optimization/106881
12774         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
12775         Add only non-fallthru edges and avoid the same set of edges
12776         as the caller does.
12778 2022-09-08  Aldy Hernandez  <aldyh@redhat.com>
12780         * gimple-range-fold.cc
12781         (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
12782         * range-op-float.cc (finite_operand_p): Same.
12783         (finite_operands_p): Same.
12784         (foperator_lt::fold_range): Same.
12785         (foperator_le::fold_range): Same.
12786         (foperator_gt::fold_range): Same.
12787         (foperator_ge::fold_range): Same.
12788         (foperator_unordered::fold_range): Same.
12789         (foperator_unordered::op1_range): Same.
12790         (foperator_ordered::fold_range): Same.
12791         * value-range.cc (frange::set_nan): Same.
12792         (frange::set_signbit): Same.
12793         (frange::union_): Same.
12794         (frange::intersect): Same.
12795         (frange::operator==): Same.
12796         (frange::singleton_p): Same.
12797         (frange::verify_range): Same.
12798         (range_tests_nan): Same.
12799         (range_tests_floats): Same.
12800         * value-range.h(frange::known_finite): New.
12801         (frange::maybe_inf): New.
12802         (frange::known_inf): New.
12803         (frange::maybe_nan): New.
12804         (frange::known_nan): New.
12805         (frange::known_signbit): New.
12807 2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
12809         * config/darwin-d.cc: Include tm.h.
12810         * config/dragonfly-d.cc: Likewise.
12811         * config/freebsd-d.cc: Remove memmodel.h.
12812         * config/glibc-d.cc: Likewise.
12813         * config/netbsd-d.cc: Include tm.h.
12814         * config/openbsd-d.cc: Likewise.
12815         * config/sol2-d.cc: Likewise.
12817 2022-09-08  Christophe Lyon  <christophe.lyon@arm.com>
12819         * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
12820         MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
12821         (mve_vqshluq_m_n_s<mode>): Likewise.
12822         (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
12823         instead of mve_imm_8/Rb.
12824         (mve_vqrshrunbq_n_s<mode>): Likewise.
12825         (mve_vqrshrntq_n_<supf><mode>): Likewise.
12826         (mve_vqrshruntq_n_s<mode>): Likewise.
12827         (mve_vrshrnbq_n_<supf><mode>): Likewise.
12828         (mve_vrshrntq_n_<supf><mode>): Likewise.
12829         (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
12830         (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
12831         (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
12832         (mve_vrshrntq_m_n_<supf><mode>): Likewise.
12833         (mve_vqrshrunbq_m_n_s<mode>): Likewise.
12834         (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
12835         of mve_imm_selective_upto_8/Rg.
12836         (mve_vsriq_m_n_<supf><mode>): Likewise.
12838 2022-09-08  Jiufu Guo  <guojiufu@linux.ibm.com>
12840         * config/rs6000/rs6000.md (splitter for set to and_mask constants):
12841         Use int_reg_operand (instead of int_reg_operand_not_pseudo).
12842         (splitter for multi-insn constant loads): Ditto.
12844 2022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12846         * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
12847         -mvrsave is present.
12848         * config/rs6000/t-rtems: Add -mvrsave multilib variants for
12849         -mcpu=e6500.
12851 2022-09-07  Martin Liska  <mliska@suse.cz>
12853         * configure.ac: Restore detection of  HAVE_XCOFF_DWARF_EXTRAS.
12854         * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
12855         * configure: Regenerate.
12856         * config.in: Regenerate.
12858 2022-09-07  Surya Kumari Jangala  <jskumari@linux.ibm.com>
12860         PR rtl-optimization/105586
12861         * sched-rgn.cc (save_state_for_fallthru_edge): New function.
12862         (schedule_region): Use it for all blocks.
12864 2022-09-07  Joseph Myers  <joseph@codesourcery.com>
12866         * ginclude/stdalign.h [defined __STDC_VERSION__ &&
12867         __STDC_VERSION__ > 201710L]: Disable all content.
12868         * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
12869         > 201710L] (bool, true, false): Do not define.
12871 2022-09-07  Martin Liska  <mliska@suse.cz>
12873         PR bootstrap/106855
12874         * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
12875         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
12876         Restore usage of XCOFF_DEBUGGING_INFO.
12877         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
12878         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
12879         XCOFF_DEBUGGING_INFO.
12880         (dw2_asm_output_nstring): Likewise.
12881         (USE_LINKONCE_INDIRECT): Likewise.
12882         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
12883         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
12884         (output_fde): Likewise.
12885         (output_call_frame_info): Likewise.
12886         (have_macinfo): Likewise.
12887         (add_AT_loc_list): Likewise.
12888         (add_AT_view_list): Likewise.
12889         (output_compilation_unit_header): Likewise.
12890         (output_pubnames): Likewise.
12891         (output_aranges): Likewise.
12892         (output_line_info): Likewise.
12893         (output_macinfo): Likewise.
12894         (dwarf2out_finish): Likewise.
12895         (dwarf2out_early_finish): Likewise.
12897 2022-09-07  Richard Biener  <rguenther@suse.de>
12899         PR tree-optimization/106866
12900         * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
12901         we changed cfun->calls_setjmp make sure to purge all
12902         abnormal call edges.
12904 2022-09-07  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
12906         * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
12907         float LE comparing with zero for fpuv3.
12908         * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
12909         features are enabled.
12911 2022-09-07  Richard Biener  <rguenther@suse.de>
12913         PR tree-optimization/106860
12914         * tree-ssa-loop-split.cc (split_loop): Find the exit to
12915         latch edge from the loop exit edge instead of from the
12916         latch.  Verify we're going to find it.
12918 2022-09-07  Richard Biener  <rguenther@suse.de>
12920         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
12921         Adjust to take the region exit source as argument.
12922         (uninit_analysis::init_from_phi_def): Adjust.
12923         (uninit_analysis::init_use_preds): Mark the dominating region
12924         before computing control dependences.
12926 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
12928         * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
12929         w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
12930         in that case.  Extend w<-r to w<-Z.
12931         (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
12932         (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
12933         available.
12934         (define_split): Do not apply the floating-point immediate-to-register
12935         split to zeros, even if MOVI is not available.
12937 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
12939         * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
12940         Disallow use of FPRs in register asms for !TARGET_FLOAT.
12942 2022-09-07  Lulu Cheng  <chenglulu@loongson.cn>
12944         PR target/106828
12945         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
12946         (TARGET_ASAN_SHADOW_OFFSET): New.
12948 2022-09-07  Jakub Jelinek  <jakub@redhat.com>
12950         * doc/invoke.texi (-Wno-unicode): Document.
12952 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
12954         * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
12956 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
12958         * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
12959         replacements.
12961 2022-09-07  liuhongt  <hongtao.liu@intel.com>
12963         PR tree-optimization/103144
12964         * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
12965         (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
12966         (vect_create_nonlinear_iv_init): New function.
12967         (vect_peel_nonlinear_iv_init): Ditto.
12968         (vect_create_nonlinear_iv_step): Ditto
12969         (vect_create_nonlinear_iv_vec_step): Ditto
12970         (vect_update_nonlinear_iv): Ditto
12971         (vectorizable_nonlinear_induction): Ditto.
12972         (vectorizable_induction): Call
12973         vectorizable_nonlinear_induction when induction_type is not
12974         vect_step_op_add.
12975         * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
12976         Update nonlinear iv for epilogue loop.
12977         * tree-vectorizer.h (enum vect_induction_op_type): New enum.
12978         (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
12980 2022-09-06  Richard Biener  <rguenther@suse.de>
12982         PR tree-optimization/106754
12983         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
12984         New function, split out from compute_control_dep_chain.  Handle
12985         loop-exit like conditions here by pushing to the control vector.
12986         (compute_control_dep_chain): Adjust and streamline dumping.
12987         In the wrapper perform a post-dominator walk as well.
12988         (uninit_analysis::init_use_preds): Remove premature early exit.
12990 2022-09-06  Max Filippov  <jcmvbkbc@gmail.com>
12992         * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
12994 2022-09-06  Aldy Hernandez  <aldyh@redhat.com>
12996         * range-op-float.cc (build_le): Handle NANs and going past infinity.
12997         (build_lt): Same.
12998         (build_ge): Same.
12999         (build_gt): Same.
13000         (foperator_lt::op1_range): Avoid adjustments to range if build_*
13001         returned false.
13002         (foperator_lt::op2_range): Same.
13003         (foperator_le::op1_range): Same.
13004         (foperator_le::op2_range): Same.
13005         (foperator_gt::op1_range): Same.
13006         (foperator_gt::op2_range): Same.
13008 2022-09-06  Richard Biener  <rguenther@suse.de>
13010         * gimple-predicate-analysis.cc (compute_control_dep_chain):
13011         Add output flag to indicate whether we possibly have dropped
13012         any chains.  Return whether the info is complete from the
13013         wrapping overload.
13014         (uninit_analysis::init_use_preds): Adjust accordingly, with
13015         a workaround for PR106754.
13016         (uninit_analysis::init_from_phi_def): Properly guard the
13017         case where we complete an empty chain.
13019 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
13021         * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
13023 2022-09-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
13025         * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
13026         type with same element type as arg0, and length as op2.
13028 2022-09-06  Richard Biener  <rguenther@suse.de>
13030         PR tree-optimization/106844
13031         * gimple-predicate-analysis.cc (compute_control_dep_chain):
13032         Return whether we found a chain.
13034 2022-09-06  Richard Biener  <rguenther@suse.de>
13036         PR tree-optimization/106841
13037         * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
13038         scatter/gather offset.
13040 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
13042         * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
13044 2022-09-06  Jakub Jelinek  <jakub@redhat.com>
13046         * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
13047         (gimple_omp_subcode):  Use GIMPLE_OMP_ORDERED instead of
13048         GIMPLE_OMP_TEAMS as upper bound.
13049         (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
13050         inline functions.
13051         * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
13052         NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
13053         (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
13054         with NULL OMP_ORDERED_BODY.
13055         * omp-low.cc (check_omp_nesting_restrictions): Use
13056         gimple_omp_ordered_standalone_p test instead of
13057         omp_find_clause (..., OMP_CLAUSE_DOACROSS).
13058         (lower_omp_ordered): Likewise.
13059         * omp-expand.cc (expand_omp, build_omp_regions_1,
13060         omp_make_gimple_edges): Likewise.
13062 2022-09-06  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
13064         * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
13065         (cskyv2_addcc_invert): Likewise.
13067 2022-09-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
13069         * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
13070         `insn'.
13071         (bpf_expand_epilogue): Likewise.
13073 2022-09-06  liuhongt  <hongtao.liu@intel.com>
13075         * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
13076         Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
13077         * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
13078         (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
13079         (avx512f_vcvtps2ph512_mask_sae): New expander
13081 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
13083         * gimple-range-fold.cc
13084         (fold_using_range::range_of_builtin_int_call): Ignore sign bit
13085         when there's the possibility of a NAN.
13087 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
13089         * gimple-range-fold.cc
13090         (fold_using_range::range_of_builtin_int_call): Fold a set signbit
13091         in __builtin_signbit to nonzero.
13093 2022-09-05  Alexander Monakov  <amonakov@ispras.ru>
13095         PR target/106453
13096         * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
13097         bits of operand 0 are consumed, and the result is zero-extended
13098         to 64 bits.
13100 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
13102         PR middle-end/106831
13103         * value-range.h (frange::supports_p): Disable decimal floats.
13104         * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
13105         check.
13106         (frange_drop_ninf): Same.
13108 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
13110         PR middle-end/106824
13111         * value-range.cc (frange::set_nan): Set undefined when updating a
13112         NAN to a non-NAN.
13114 2022-09-05  Kito Cheng  <kito.cheng@sifive.com>
13116         * config/riscv/riscv.cc (riscv_option_override): Fix wrong
13117         condition for MASK_DIV and simplify incompatible checking.
13118         * config/riscv/riscv.md (muldi3): Adding parentheses.
13120 2022-09-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13122         * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
13123         string is a valid -mcpu string and emit hint.
13125 2022-09-05  LiaoShihua  <shihua@iscas.ac.cn>
13127         * common/config/riscv/riscv-common.cc: Add Zmmul.
13128         * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
13129         (TARGET_ZMMUL): Ditto.
13130         * config/riscv/riscv.cc (riscv_option_override):Ditto.
13131         * config/riscv/riscv.md: Add Zmmul
13132         * config/riscv/riscv.opt: Ditto.
13134 2022-09-05  Richard Biener  <rguenther@suse.de>
13136         * tree-cfg.h (get_cases_for_edge): Declare.
13137         * tree-cfg.cc (get_cases_for_edge): Export.
13138         * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
13139         Start and end recording case labels.
13140         * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
13141         (predicate::init_from_control_deps): Use get_cases_for_edge.
13143 2022-09-05  Richard Biener  <rguenther@suse.de>
13145         * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
13146         (compute_control_dep_chain): Move uninit-control-dep-attempts
13147         checking where it also counts the post-dominator check
13148         invocations.
13150 2022-09-05  Richard Biener  <rguenther@suse.de>
13152         * gimple-predicate-analysis.h (predicate::debug): New.
13153         (predicate::dump): Add FILE * argument, add base overload.
13154         * gimple-predicate-analysis.cc (debug): New.
13155         (dump_pred_info): Add FILE * argument.
13156         (dump_pred_chain): Likewise.
13157         (predicate::dump): Split out preamble into overload.  Add
13158         FILE * argument.
13159         (predicate::debug): New.
13160         (predicate::simplify): Adjust.
13161         (predicate::normalize): Likewise.
13162         (predicate::init_from_control_deps): Likewise.
13164 2022-09-05  Richard Sandiford  <richard.sandiford@arm.com>
13166         * config/aarch64/aarch64-protos.h
13167         (aarch64_init_simd_builtins): Remove prototype.
13168         * config/aarch64/aarch64-builtins.cc
13169         (aarch64_simd_builtins_initialized_p): Delete.
13170         (aarch64_init_simd_builtins): Make static.  Remove protection
13171         against multiple calls.
13172         * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
13173         lazy SIMD builtin initialization.
13174         * config/aarch64/aarch64.cc
13175         (aarch64_option_valid_attribute_p): Likewise.
13177 2022-09-05  Xi Ruoyao  <xry111@xry111.site>
13179         * config/loongarch/genopts/loongarch.opt.in: Add
13180         -mdirect-extern-access option.
13181         * config/loongarch/loongarch.opt: Regenerate.
13182         * config/loongarch/loongarch.cc
13183         (loongarch_symbol_binds_local_p): Return true if
13184         TARGET_DIRECT_EXTERN_ACCESS.
13185         (loongarch_option_override_internal): Complain if
13186         -mdirect-extern-access is used with -fPIC or -fpic.
13187         * doc/invoke.texi: Document -mdirect-extern-access for
13188         LoongArch.
13190 2022-09-05  Martin Liska  <mliska@suse.cz>
13192         * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
13193         DEBUGGER_REGNO.
13194         * doc/tm.texi: Regenerate.
13196 2022-09-05  Martin Liska  <mliska@suse.cz>
13198         * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
13199         Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
13200         (aarch64_debugger_regno): Likewise.
13201         * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
13202         (aarch64_debugger_regno): Likewise.
13203         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
13204         (DEBUGGER_REGNO): Likewise.
13205         (DWARF_FRAME_REGNUM): Likewise.
13206         * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
13207         * config/arc/arc.cc (arc_init_reg_tables): Likewise.
13208         * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
13209         (DEBUGGER_REGNO): Likewise.
13210         * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
13211         (arm_debugger_regno): Likewise.
13212         * config/arm/arm.cc (arm_dbx_regno): Likewise.
13213         (arm_debugger_regno): Likewise.
13214         * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
13215         (DEBUGGER_REGNO): Likewise.
13216         * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
13217         (DEBUGGER_REGNO): Likewise.
13218         * config/c6x/c6x.cc: Likewise.
13219         * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
13220         (DEBUGGER_REGNO): Likewise.
13221         * config/cris/cris.h (enum reg_class): Likewise.
13222         (DBX_REGISTER_NUMBER): Likewise.
13223         (DEBUGGER_REGNO): Likewise.
13224         * config/csky/csky.cc (enum reg_class): Likewise.
13225         * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
13226         (DBX_REGISTER_NUMBER): Likewise.
13227         (DEBUGGER_REGNO): Likewise.
13228         * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
13229         (DEBUGGER_REGNO): Likewise.
13230         * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
13231         (DEBUGGER_REGNO): Likewise.
13232         * config/gcn/gcn.cc (print_operand): Likewise.
13233         * config/i386/bsd.h (ASM_QUAD): Likewise.
13234         * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
13235         (DEBUGGER_REGNO): Likewise.
13236         (DWARF_FRAME_REGNUM): Likewise.
13237         * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
13238         (DEBUGGER_REGNO): Likewise.
13239         * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
13240         (DEBUGGER_REGNO): Likewise.
13241         * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
13242         (DEBUGGER_REGNO): Likewise.
13243         * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
13244         (DEBUGGER_REGNO): Likewise.
13245         * config/i386/gas.h: Likewise.
13246         * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
13247         (DEBUGGER_REGNO): Likewise.
13248         * config/i386/i386.cc (enum reg_class): Likewise.
13249         * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
13250         (DEBUGGER_REGNO): Likewise.
13251         * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
13252         (DEBUGGER_REGNO): Likewise.
13253         * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
13254         (DEBUGGER_REGNO): Likewise.
13255         * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
13256         (DEBUGGER_REGNO): Likewise.
13257         * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
13258         (DEBUGGER_REGNO): Likewise.
13259         * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
13260         (DEBUGGER_REGNO): Likewise.
13261         * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
13262         (DEBUGGER_REGNO): Likewise.
13263         * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
13264         (DEBUGGER_REGNO): Likewise.
13265         * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
13266         (DEBUGGER_REGNO): Likewise.
13267         * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
13268         (DEBUGGER_REGNO): Likewise.
13269         * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
13270         (ia64_debugger_regno): Likewise.
13271         * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
13272         (ia64_dbx_regno): Likewise.
13273         (ia64_debugger_regno): Likewise.
13274         (process_cfa_adjust_cfa): Likewise.
13275         (process_cfa_register): Likewise.
13276         (ia64_asm_unwind_emit): Likewise.
13277         * config/ia64/ia64.h: Likewise.
13278         * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
13279         (DEBUGGER_REGNO): Likewise.
13280         * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
13281         (DEBUGGER_REGNO): Likewise.
13282         * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
13283         * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
13284         (DEBUGGER_REGNO): Likewise.
13285         * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
13286         (DEBUGGER_REGNO): Likewise.
13287         * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
13288         (DEBUGGER_REGNO): Likewise.
13289         (__transfer_from_trampoline): Likewise.
13290         * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
13291         (DEBUGGER_REGNO): Likewise.
13292         * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
13293         (DBX_REGISTER_NUMBER): Likewise.
13294         (DEBUGGER_REGNO): Likewise.
13295         * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
13296         * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
13297         (DEBUGGER_REGNO): Likewise.
13298         (GP_DBX_FIRST): Likewise.
13299         (GP_DEBUGGER_FIRST): Likewise.
13300         * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
13301         (DEBUGGER_REGNO): Likewise.
13302         * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
13303         (mmix_debugger_regno): Likewise.
13304         * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
13305         (mmix_debugger_regno): Likewise.
13306         * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
13307         (DEBUGGER_REGNO): Likewise.
13308         * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
13309         (nds32_debugger_regno): Likewise.
13310         * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
13311         (nds32_debugger_regno): Likewise.
13312         (nds32_use_blocks_for_constant_p): Likewise.
13313         * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
13314         (DEBUGGER_REGNO): Likewise.
13315         * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
13316         (DEBUGGER_REGNO): Likewise.
13317         * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
13318         (DEBUGGER_REGNO): Likewise.
13319         * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
13320         (DEBUGGER_REGNO): Likewise.
13321         * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
13322         (DEBUGGER_REGNO): Likewise.
13323         * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
13324         (rs6000_debugger_regno): Likewise.
13325         * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
13326         (rs6000_debugger_regno): Likewise.
13327         * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
13328         (DEBUGGER_REGNO): Likewise.
13329         (DWARF2_FRAME_REG_OUT): Likewise.
13330         * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
13331         (DEBUGGER_REGNO): Likewise.
13332         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
13333         (DEBUGGER_REGNO): Likewise.
13334         * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
13335         (DEBUGGER_REGNO): Likewise.
13336         * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
13337         (DEBUGGER_REGNO): Likewise.
13338         (SH_DBX_REGISTER_NUMBER): Likewise.
13339         (SH_DEBUGGER_REGNO): Likewise.
13340         * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
13341         (DEBUGGER_REGNO): Likewise.
13342         * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
13343         (DEBUGGER_REGNO): Likewise.
13344         * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
13345         (DEBUGGER_REGNO): Likewise.
13346         * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
13347         (DEBUGGER_REGNO): Likewise.
13348         * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
13349         (xtensa_debugger_regno): Likewise.
13350         * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
13351         (xtensa_debugger_regno): Likewise.
13352         * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
13353         (DEBUGGER_REGNO): Likewise.
13354         * defaults.h (DBX_REGISTER_NUMBER): Likewise.
13355         (DEBUGGER_REGNO): Likewise.
13356         (DWARF_FRAME_REGNUM): Likewise.
13357         * doc/tm.texi: Likewise.
13358         * doc/tm.texi.in: Likewise.
13359         * dwarf2out.cc (dbx_reg_number): Likewise.
13360         (debugger_reg_number): Likewise.
13361         (reg_loc_descriptor): Likewise.
13362         (multiple_reg_loc_descriptor): Likewise.
13363         (mem_loc_descriptor): Likewise.
13364         * except.cc: Likewise.
13366 2022-09-05  konglin1  <lingling.kong@intel.com>
13368         PR target/106742
13369         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
13370         Handle V8BF mode.
13371         (expand_vec_perm_broadcast_1): Ditto.
13372         * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
13373         (vec_set<mode>_0): Add @ to it.
13374         (@vec_set<mode>_0): Ditto.
13375         (vec_interleave_high<mode><mask_name>): Ditto.
13376         (@vec_interleave_high<mode><mask_name>): Ditto.
13377         (vec_interleave_low<mode><mask_name>): Ditto.
13378         (@vec_interleave_low<mode><mask_name>): Ditto.
13379         * config/i386/subst.md (SUBST_V): Add BF vector mode.
13381 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
13383         * value-range.cc (early_nan_resolve): Remove.
13384         (frange::intersect): Handle NANs.
13386 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
13388         * value-range.cc (frange::union_): Do not drop properties when
13389         unioning a NAN with something else.
13390         (range_tests_signed_zeros): Add tests.
13392 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
13394         * real.cc (encode_ieee_single): Use real_isdenormal.
13395         (encode_ieee_double): Same.
13396         (encode_ieee_extended): Same.
13397         (encode_ieee_quad): Same.
13398         (encode_ieee_half): Same.
13399         (encode_arm_bfloat_half): Same.
13400         * real.h (real_isdenormal): New.
13402 2022-09-03  Aldy Hernandez  <aldyh@redhat.com>
13404         * value-range.cc (frange::singleton_p): Move NAN check to the top.
13406 2022-09-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
13408         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
13410 2022-09-03  Jakub Jelinek  <jakub@redhat.com>
13412         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
13413         (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
13414         and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
13415         (enum omp_clause_doacross_kind): New type.
13416         (struct tree_omp_clause): Add subcode.doacross_kind member.
13417         * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
13418         (OMP_CLAUSE_DOACROSS_KIND): Define.
13419         (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
13420         (OMP_CLAUSE_DOACROSS_DEPEND): Define.
13421         (OMP_CLAUSE_ORDERED_DOACROSS): Define.
13422         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
13423         OMP_CLAUSE_DOACROSS entries.
13424         * tree-nested.cc (convert_nonlocal_omp_clauses,
13425         convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
13426         * tree-pretty-print.cc (dump_omp_clause): Don't handle
13427         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.  Handle
13428         OMP_CLAUSE_DOACROSS.
13429         * gimplify.cc (gimplify_omp_depend): Don't handle
13430         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
13431         (gimplify_scan_omp_clauses): Likewise.  Handle OMP_CLAUSE_DOACROSS.
13432         (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
13433         (find_standalone_omp_ordered): New function.
13434         (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
13435         body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
13436         set OMP_CLAUSE_ORDERED_DOACROSS.
13437         (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
13438         OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
13439         diagnostics that presence or absence of ordered clause parameter
13440         is irrelevant.  Handle doacross(sink:omp_cur_iteration-1).  Use
13441         actual user name of the clause - doacross or depend - in diagnostics.
13442         * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
13443         if !OMP_CLAUSE_ORDERED_DOACROSS (t).  If
13444         OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
13445         set fd->ordered to -1 and set it after the loop in that case to
13446         fd->collapse.
13447         * omp-low.cc (check_omp_nesting_restrictions): Don't handle
13448         OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
13449         OMP_CLAUSE_DOACROSS.  Use actual user name of the clause - doacross
13450         or depend - in diagnostics.  Diagnose mixing of stand-alone and
13451         block associated ordered constructs binding to the same loop.
13452         (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
13453         instead handle OMP_CLAUSE_DOACROSS.
13454         (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
13455         OMP_CLAUSE_DEPEND.
13456         (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
13457         OMP_CLAUSE_DEPEND_SINK.
13458         * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
13459         doacross(sink:omp_cur_iteration-1).
13460         (expand_omp_ordered_source_sink): Use
13461         OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
13462         OMP_CLAUSE_DEPEND_SINK_NEGATIVE.  Use actual user name of the clause
13463         - doacross or depend - in diagnostics.
13464         (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
13465         OMP_CLAUSE_DEPEND.
13466         (build_omp_regions_1): Likewise.
13467         (omp_make_gimple_edges): Likewise.
13468         * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
13469         * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
13470         * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
13472 2022-09-02  David Malcolm  <dmalcolm@redhat.com>
13474         PR c/90885
13475         * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
13477 2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
13479         PR d/105659
13480         * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
13481         * config/aarch64/aarch64-d.cc: Include tm_d.h.
13482         * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
13483         config/aarch64/aarch64-d.h.
13484         (aarch64_d_register_target_info): Likewise.
13485         * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
13486         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13487         * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
13488         tm_p.h.
13489         * config/arm/arm-protos.h (arm_d_target_versions): Move to
13490         config/arm/arm-d.h.
13491         (arm_d_register_target_info): Likewise.
13492         * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
13493         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13494         * config/default-d.cc: Remove memmodel.h include.
13495         * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
13496         * config/glibc-d.cc: Likewise.
13497         * config/i386/i386-d.cc: Include tm_d.h.
13498         * config/i386/i386-protos.h (ix86_d_target_versions): Move to
13499         config/i386/i386-d.h.
13500         (ix86_d_register_target_info): Likewise.
13501         (ix86_d_has_stdcall_convention): Likewise.
13502         * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
13503         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13504         (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
13505         * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
13506         * config/mips/mips-d.cc: Include tm_d.h.
13507         * config/mips/mips-protos.h (mips_d_target_versions): Move to
13508         config/mips/mips-d.h.
13509         (mips_d_register_target_info): Likewise.
13510         * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
13511         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13512         * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
13513         * config/openbsd-d.cc: Likewise.
13514         * config/pa/pa-d.cc: Include tm_d.h.
13515         * config/pa/pa-protos.h (pa_d_target_versions): Move to
13516         config/pa/pa-d.h.
13517         (pa_d_register_target_info): Likewise.
13518         * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
13519         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13520         * config/riscv/riscv-d.cc: Include tm_d.h.
13521         * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
13522         config/riscv/riscv-d.h.
13523         (riscv_d_register_target_info): Likewise.
13524         * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
13525         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13526         * config/rs6000/rs6000-d.cc: Include tm_d.h.
13527         * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
13528         config/rs6000/rs6000-d.h.
13529         (rs6000_d_register_target_info): Likewise.
13530         * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
13531         (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
13532         * config/s390/s390-d.cc: Include tm_d.h.
13533         * config/s390/s390-protos.h (s390_d_target_versions): Move to
13534         config/s390/s390-d.h.
13535         (s390_d_register_target_info): Likewise.
13536         * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
13537         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13538         * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
13539         * config/sparc/sparc-d.cc: Include tm_d.h.
13540         * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
13541         config/sparc/sparc-d.h.
13542         (sparc_d_register_target_info): Likewise.
13543         * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
13544         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
13545         * configure: Regenerate.
13546         * configure.ac (tm_d_file): Remove defaults.h.
13547         (tm_d_include_list): Remove options.h and insn-constants.h.
13548         * config/aarch64/aarch64-d.h: New file.
13549         * config/arm/arm-d.h: New file.
13550         * config/i386/i386-d.h: New file.
13551         * config/mips/mips-d.h: New file.
13552         * config/pa/pa-d.h: New file.
13553         * config/riscv/riscv-d.h: New file.
13554         * config/rs6000/rs6000-d.h: New file.
13555         * config/s390/s390-d.h: New file.
13556         * config/sparc/sparc-d.h: New file.
13558 2022-09-02  Aldy Hernandez  <aldyh@redhat.com>
13560         * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
13561         (fold_builtin_fpclassify): Same.
13562         * fold-const-call.cc (fold_const_call_cc): Same.
13563         * match.pd: Same.
13564         * omp-low.cc (omp_reduction_init_op): Same.
13565         * realmpfr.cc (real_from_mpfr): Same.
13566         * tree.cc (build_complex_inf): Same.
13568 2022-09-02  Peter Bergner  <bergner@linux.ibm.com>
13570         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
13571         NOP_EXPR for MMA pointer casting.
13573 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
13575         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
13576         Reduce the fallback cost to 1.  Only use it if the number of
13577         input lanes is equal to the number of output lanes.
13579 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
13581         PR tree-optimization/106787
13582         * tree-vect-slp.cc (vect_map_to_instance): New function, split out
13583         from...
13584         (vect_bb_partition_graph_r): ...here.  Replace the visited set
13585         with a map from nodes to instances.  Ensure that a node only
13586         appears in one partition.
13587         (vect_bb_partition_graph): Update accordingly.
13589 2022-09-02  Richard Biener  <rguenther@suse.de>
13591         * timevar.def (TV_TREE_RPO_VN): New.
13592         * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
13593         * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
13594         (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
13595         (pass_fre::execute): Adjust.
13596         * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
13598 2022-09-02  Richard Biener  <rguenther@suse.de>
13600         PR tree-optimization/106809
13601         * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
13602         more than one successor before doing extra work.
13604 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
13606         * common/config/riscv/riscv-common.cc: Include <vector>.
13607         (struct riscv_multi_lib_info_t): New.
13608         (riscv_subset_list::match_score): Ditto.
13609         (find_last_appear_switch): Ditto.
13610         (prefixed_with): Ditto.
13611         (struct multi_lib_info_t): Ditto.
13612         (riscv_current_arch_str): Ditto.
13613         (riscv_current_abi_str): Ditto.
13614         (riscv_multi_lib_info_t::parse): Ditto.
13615         (riscv_check_cond): Ditto.
13616         (riscv_check_conds): Ditto.
13617         (riscv_compute_multilib): Ditto.
13618         (TARGET_COMPUTE_MULTILIB): Defined.
13619         * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
13620         doing link.
13621         (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
13622         * config/riscv/riscv.h (riscv_multi_lib_check): New.
13623         (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
13624         * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
13626 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
13628         * common/common-target.def (compute_multilib): New.
13629         * common/common-targhooks.h (default_compute_multilib): New.
13630         * common/common-targhooks.cc (default_compute_multilib): New.
13631         * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
13632         * doc/tm.texi: Regen.
13633         * gcc.cc: Include common/common-target.h.
13634         (set_multilib_dir) Call targetm_common.compute_multilib.
13635         (SWITCH_LIVE): Move to opts.h.
13636         (SWITCH_FALSE): Ditto.
13637         (SWITCH_IGNORE): Ditto.
13638         (SWITCH_IGNORE_PERMANENTLY): Ditto.
13639         (SWITCH_KEEP_FOR_GCC): Ditto.
13640         (struct switchstr): Ditto.
13641         * opts.h (SWITCH_LIVE): Move from gcc.c.
13642         (SWITCH_FALSE): Ditto.
13643         (SWITCH_IGNORE): Ditto.
13644         (SWITCH_IGNORE_PERMANENTLY): Ditto.
13645         (SWITCH_KEEP_FOR_GCC): Ditto.
13646         (struct switchstr): Ditto.
13648 2022-09-02  Martin Liska  <mliska@suse.cz>
13650         * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
13651         debugging format.
13653 2022-09-02  Martin Liska  <mliska@suse.cz>
13655         * Makefile.in: Remove -gstabs option support, DBX-related
13656         macros and DBX debugging info support.
13657         * collect2.cc (scan_prog_file): Likewise.
13658         * common.opt: Likewise.
13659         * config.gcc: Likewise.
13660         * config.in: Likewise.
13661         * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
13662         * config/alpha/alpha.cc: Likewise.
13663         * config/alpha/elf.h (ASM_SPEC): Likewise.
13664         * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
13665         (DBX_CONTIN_LENGTH): Likewise.
13666         * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
13667         (DBX_CONTIN_LENGTH): Likewise.
13668         * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
13669         * config/darwin.h (DSYMUTIL_SPEC): Likewise.
13670         (ASM_DEBUG_SPEC): Likewise.
13671         (DBX_DEBUGGING_INFO): Likewise.
13672         (DBX_USE_BINCL): Likewise.
13673         (DBX_CONTIN_LENGTH): Likewise.
13674         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
13675         * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
13676         (DBX_CONTIN_LENGTH): Likewise.
13677         * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
13678         (DBX_CONTIN_LENGTH): Likewise.
13679         * config/i386/gas.h (DBX_NO_XREFS): Likewise.
13680         (DBX_CONTIN_LENGTH): Likewise.
13681         * config/ia64/ia64.h: Likewise.
13682         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
13683         * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
13684         * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
13685         (DBX_CONTIN_LENGTH): Likewise.
13686         (DBX_CONTIN_CHAR): Likewise.
13687         * config/mips/mips.cc (mips_output_filename): Likewise.
13688         (mips_option_override): Likewise.
13689         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
13690         (DBX_DEBUGGING_INFO): Likewise.
13691         (DBX_CONTIN_LENGTH): Likewise.
13692         (DBX_REGISTER_NUMBER): Likewise.
13693         (GP_DBX_FIRST): Likewise.
13694         (FP_DBX_FIRST): Likewise.
13695         (MD_DBX_FIRST): Likewise.
13696         * config/nvptx/nvptx.cc: Likewise.
13697         * config/openbsd.h (DBX_NO_XREFS): Likewise.
13698         * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
13699         * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
13700         (DBX_CONTIN_LENGTH): Likewise.
13701         * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13702         (DBX_USE_BINCL): Likewise.
13703         (DBX_LINES_FUNCTION_RELATIVE): Likewise.
13704         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
13705         * config/pdp11/pdp11.cc: Likewise.
13706         * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
13707         (PREFERRED_DEBUGGING_TYPE): Likewise.
13708         (DBX_CONTIN_LENGTH): Likewise.
13709         * config/rs6000/rs6000-builtin.cc: Likewise.
13710         * config/rs6000/rs6000-call.cc: Likewise.
13711         * config/rs6000/rs6000-logue.cc (defined): Likewise.
13712         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
13713         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
13714         (rs6000_xcoff_declare_function_name): Likewise.
13715         * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
13716         (DBX_FUNCTION_FIRST): Likewise.
13717         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
13718         * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
13719         * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
13720         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
13721         * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
13722         * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
13723         * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
13724         * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
13725         * config/vax/vax.cc (vax_file_start): Likewise.
13726         * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
13727         (DBX_CONTIN_LENGTH): Likewise.
13728         (DBX_CONTIN_CHAR): Likewise.
13729         (DBX_NO_XREFS): Likewise.
13730         (DBX_STATIC_STAB_DATA_SECTION): Likewise.
13731         * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
13732         (XCOFF_DEBUGGING_INFO): Likewise.
13733         * configure: Regenerate. Likewise.
13734         * configure.ac: Likewise.
13735         * debug.h: Likewise.
13736         * doc/install.texi: Likewise.
13737         * doc/invoke.texi: Likewise.
13738         * doc/passes.texi: Likewise.
13739         * doc/tm.texi: Likewise.
13740         * doc/tm.texi.in: Likewise.
13741         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
13742         (dw2_asm_output_nstring): Likewise.
13743         (USE_LINKONCE_INDIRECT): Likewise.
13744         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
13745         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
13746         (output_fde): Likewise.
13747         (output_call_frame_info): Likewise.
13748         (have_macinfo): Likewise.
13749         (add_AT_loc_list): Likewise.
13750         (add_AT_view_list): Likewise.
13751         (output_compilation_unit_header): Likewise.
13752         (output_pubnames): Likewise.
13753         (output_aranges): Likewise.
13754         (output_line_info): Likewise.
13755         (output_macinfo): Likewise.
13756         (dwarf2out_finish): Likewise.
13757         (dwarf2out_early_finish): Likewise.
13758         * final.cc (final_scan_insn_1): Likewise.
13759         (rest_of_handle_final): Likewise.
13760         * flag-types.h (enum debug_info_type): Likewise.
13761         (DBX_DEBUG): Likewise.
13762         (XCOFF_DEBUG): Likewise.
13763         * function.cc (defined): Likewise.
13764         * gcc.cc (defined): Likewise.
13765         (ASM_DEBUG_SPEC): Likewise.
13766         (ASM_DEBUG_OPTION_SPEC): Likewise.
13767         * opts.cc (common_handle_option): Likewise.
13768         (set_debug_level): Likewise.
13769         * system.h (fancy_abort): Likewise.
13770         * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
13771         (TARGET_ASM_DESTRUCTOR): Likewise.
13772         * toplev.cc (defined): Likewise.
13773         * varasm.cc: Likewise.
13774         * config/dbxcoff.h: Removed.
13775         * config/dbxelf.h: Removed.
13776         * dbxout.cc: Removed.
13777         * dbxout.h: Removed.
13778         * gstab.h: Removed.
13779         * stab.def: Removed.
13780         * xcoffout.cc: Removed.
13781         * xcoffout.h: Removed.
13783 2022-09-02  Simon Rainer  <gcc.gnu@vvalter.com>
13785         PR ipa/106627
13786         * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
13787         Set TREE_NOTHROW correctly for dispatcher declaration.
13788         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
13789         Likewise.
13791 2022-09-01  Tamar Christina  <tamar.christina@arm.com>
13793         PR other/106782
13794         * config/aarch64/aarch64.cc
13795         (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
13796         HOST_WIDE_INT_PRINT_UNSIGNED.
13798 2022-09-01  Richard Sandiford  <richard.sandiford@arm.com>
13800         * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
13801         VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
13802         to the number of vector elements, if that's a known constant.
13803         (vect_optimize_slp_pass::is_compatible_layout): Remove associated
13804         comment about zero SLP_TREE_LANES.
13805         (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
13806         all partition members when looking for potential layouts.
13807         Handle existing permutes of fixed-length vectors.
13809 2022-09-01  Uroš Bizjak  <ubizjak@gmail.com>
13811         PR target/106707
13812         * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
13813         Do not convert a move pattern where both operands are AX_REG.
13815 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
13817         * range-op-float.cc (build_le): Convert to dconst*inf.
13818         (build_ge): Same.
13819         * value-range.cc (frange::set_signbit): Same.
13820         (frange::normalize_kind): Same.
13821         (range_tests_floats): Same.
13822         * value-range.h (vrp_val_max): Same.
13823         (vrp_val_min): Same.
13824         (frange::set_varying): Same.
13826 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
13828         * emit-rtl.cc (init_emit_once): Initialize dconstinf and
13829         dconstninf.
13830         * real.h: Add dconstinf and dconstninf.
13832 2022-09-01  Richard Biener  <rguenther@suse.de>
13834         * gimple-predicate-analysis.cc (compute_control_dep_chain):
13835         Remove cycle detection, instead avoid walking backedges.
13837 2022-09-01  Richard Biener  <rguenther@suse.de>
13839         * gimple-predicate-analysis.cc (compute_control_dep_chain):
13840         New wrapping overload.
13841         (uninit_analysis::init_use_preds): Simplify.
13842         (uninit_analysis::init_from_phi_def): Likewise.
13844 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
13846         * gimple-range-fold.cc
13847         (fold_using_range::range_of_builtin_int_call): Add case for
13848         CFN_BUILT_IN_SIGNBIT.
13850 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
13852         * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
13853         bit.
13854         (foperator_not_equal::op1_range): Same.
13855         * value-query.cc (range_query::get_tree_range): Set sign bit.
13856         * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
13857         * value-range.cc (frange::set_signbit): New.
13858         (frange::set): Adjust for sign bit.
13859         (frange::normalize_kind): Same.
13860         (frange::union_): Remove useless comment.
13861         (frange::intersect): Same.
13862         (frange::contains_p): Adjust for sign bit.
13863         (frange::singleton_p): Same.
13864         (frange::verify_range): Same.
13865         (range_tests_signbit): New tests.
13866         (range_tests_floats): Call range_tests_signbit.
13867         * value-range.h (class frange_props): Add signbit
13868         (class frange): Same.
13870 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
13872         PR other/106782
13873         * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
13874         instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
13875         * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
13876         derived types of gimple to gimple * to avoid -Wformat warnings.
13877         * tree-vect-loop-manip.cc (vect_set_loop_condition,
13878         vect_update_ivs_after_vectorizer): Likewise.
13879         * tree-vect-stmts.cc (vectorizable_load): Likewise.
13880         * tree-vect-patterns.cc (vect_split_statement,
13881         vect_recog_mulhs_pattern, vect_recog_average_pattern,
13882         vect_determine_precisions_from_range,
13883         vect_determine_precisions_from_users): Likewise.
13884         * gimple-loop-versioning.cc
13885         (loop_versioning::analyze_term_using_scevs): Likewise.
13886         * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
13887         (vect_build_slp_tree): Cast slp_tree to void * to avoid
13888         -Wformat warnings.
13889         (optimize_load_redistribution_1, vect_match_slp_patterns,
13890         vect_build_slp_instance, vect_optimize_slp_pass::materialize,
13891         vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
13892         vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
13893         (vect_print_slp_tree): Likewise.  Also use
13894         HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
13895         * tree-vect-loop.cc (vect_determine_vectorization_factor,
13896         vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
13897         vectorizable_induction, vect_transform_loop): Cast pointers to derived
13898         types of gimple to gimple * to avoid -Wformat warnings.
13899         (vect_analyze_loop_2): Cast slp_tree to void * to avoid
13900         -Wformat warnings.
13901         (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
13902         instead of %d.
13903         * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
13904         instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
13905         instead of SLP_TREE_DEF_TYPE (node).
13907 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
13909         PR c++/106655
13910         * doc/invoke.texi (-Winvalid-utf8): Document it.
13912 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
13914         PR tree-optimization/106785
13915         * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
13916         (range_tests_floats): Same.
13918 2022-09-01  konglin1  <lingling.kong@intel.com>
13920         * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
13921         recognition.
13923 2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
13925         PR target/101322
13926         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
13927         Enforce the use of a valid MMA pointer type.
13929 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13931         * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
13932         registers.
13934 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13936         * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
13937         (riscv_output_move): Add csrr vlenb assembly.
13938         * config/riscv/riscv.md (move_type): Add csrr vlenb type.
13939         (ext): New attribute.
13940         (ext_enabled): Ditto.
13941         (enabled): Ditto.
13943 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13945         * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
13946         "vr" constraint.
13947         (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
13948         (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
13949         (vp): Add poly constraint.
13951 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13953         * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
13955 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
13957         * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
13958         configuration according to TARGET_MIN_VLEN.
13959         * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
13961 2022-08-31  Martin Liska  <mliska@suse.cz>
13963         * config.build: Remove deprecated ports.
13964         * config.gcc: Likewise.
13965         * config.host: Likewise.
13966         * configure.ac: Likewise.
13967         * configure: Regenerate.
13968         * config/pa/pa-hpux10.h: Removed.
13969         * config/pa/pa-hpux10.opt: Removed.
13970         * config/pa/t-dce-thr: Removed.
13972 2022-08-31  Martin Liska  <mliska@suse.cz>
13974         * Makefile.in: Always install limits.h and syslimits.h to
13975         include folder.
13976         * configure.ac: Assign STMP_FIXINC blank if
13977         --disable-fixincludes is used.
13978         * configure: Regenerate.
13980 2022-08-31  Richard Biener  <rguenther@suse.de>
13982         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13983         Assert the guard_bb isn't empty and has more than one successor.
13984         Drop appropriate parts of the predicate when an edge fails to
13985         register a predicate.
13986         (predicate::dump): Dump empty predicate as TRUE.
13988 2022-08-31  Richard Biener  <rguenther@suse.de>
13990         PR tree-optimization/90994
13991         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
13992         Ignore exceptional control flow and skip the edge for the purpose of
13993         predicate generation also for non-calls.
13995 2022-08-31  Aldy Hernandez  <aldyh@redhat.com>
13997         * value-range-storage.cc (frange_storage_slot::set_frange): Save
13998         endpoints.
13999         (frange_storage_slot::get_frange): Restore endpoints.
14000         * value-range-storage.h (class frange_storage_slot): Add endpoint
14001         fields.
14003 2022-08-31  Martin Liska  <mliska@suse.cz>
14005         PR tree-optimization/106789
14006         * range-op-float.cc (default_frelop_fold_range): Remove the
14007         function.
14009 2022-08-31  Martin Liska  <mliska@suse.cz>
14011         * value-range.h: Add more override keywords.
14013 2022-08-31  Martin Liska  <mliska@suse.cz>
14015         * value-range.h: Add override.
14017 2022-08-31  Richard Biener  <rguenther@suse.de>
14019         PR tree-optimization/65244
14020         * gimple-predicate-analysis.h (predicate::init_from_control_deps):
14021         Add argument to specify whether the predicate is for the USE.
14022         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
14023         Also include predicates effective fallthru control edges when
14024         the predicate is for the USE.
14026 2022-08-31  Richard Biener  <rguenther@suse.de>
14028         PR tree-optimization/73550
14029         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
14030         Sanitize debug dumping.  Handle case labels with a CASE_HIGH.
14031         (predicate::dump): Adjust for better readability.
14033 2022-08-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14034             Jakub Jelinek  <jakub@redhat.com>
14036         * omp-simd-clone.cc (simd_clone_adjust_return_type,
14037         simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
14038         instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
14040 2022-08-31  Richard Sandiford  <richard.sandiford@arm.com>
14042         * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
14043         argument.
14045 2022-08-31  zhongjuzhe  <juzhe.zhong@rivai.ai>
14047         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
14048         initialize const_vf to 0.
14050 2022-08-31  Martin Liska  <mliska@suse.cz>
14052         * config.gcc: Remove cr16.
14054 2022-08-30  Martin Jambor  <mjambor@suse.cz>
14056         * vec.h (array_slice): Add constructors for non-const reference to
14057         heap vector and pointers to heap vectors.
14059 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
14061         * value-range.cc (early_nan_resolve): Change comment.
14062         (frange::union_): Handle union when one side is a NAN.
14063         (range_tests_nan): Add tests for NAN union.
14065 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
14067         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
14068         (gcn_simd_clone_adjust): New.
14069         (gcn_simd_clone_usable): New.
14070         (TARGET_SIMD_CLONE_ADJUST): New.
14071         (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
14072         (TARGET_SIMD_CLONE_USABLE): New.
14074 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
14076         * doc/tm.texi: Regenerate.
14077         * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
14078         vecsize.
14079         (simd_clone_adjust_argument_types): Likewise.
14080         * target.def (compute_vecsize_and_simdlen): Document the new
14081         vecsize_int and vecsize_float semantics.
14083 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14085         * expmed.cc (store_bit_field_1): Fix byte offset calculation
14086         for undefined structures.
14088 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14090         * params.opt (-param=vect-max-layout-candidates=): New parameter.
14091         * doc/invoke.texi (vect-max-layout-candidates): Document it.
14092         * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
14093         (auto_load_permutation_t): Likewise.
14094         * tree-vect-slp.cc (vect_slp_node_weight): New function.
14095         (slpg_layout_cost): New class.
14096         (slpg_vertex): Replace perm_in and perm_out with partition,
14097         out_degree, weight and out_weight.
14098         (slpg_partition_info, slpg_partition_layout_costs): New classes.
14099         (vect_optimize_slp_pass): Likewise, cannibalizing some part of
14100         the previous vect_optimize_slp.
14101         (vect_optimize_slp): Use it.
14103 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14105         * hash-traits.h (vec_hash_base): New class.
14106         (vec_free_hash_base): Likewise.
14108 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14110         * hash-traits.h (int_hash_base): New struct, split out from...
14111         (int_hash): ...this class, which now inherits from int_hash_base.
14112         * hash-map-traits.h (unbounded_hashmap_traits): Take a template
14113         parameter for the key that provides hash and equality functions.
14114         (unbounded_int_hashmap_traits): Turn into a type alias of
14115         unbounded_hashmap_traits.
14117 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14119         * graphds.cc (graphds_scc): Add a pass-back parameter for the
14120         final node order.
14121         * graphds.h (graphds_scc): Update prototype accordingly.
14123 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14125         * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
14126         (vect_transform_slp_perm_load): ...here.  Use SLP_TREE_VECTYPE instead
14127         of STMT_VINFO_VECTYPE.
14129 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14131         * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
14132         (vectorizable_slp_permutation): ...here.
14134 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
14136         * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
14137         that the requested number of units is interoperable with the requested
14138         prevailing mode.
14140 2022-08-30  Martin Liska  <mliska@suse.cz>
14142         * config.gcc: Remove the port.
14143         * config/m32c/rtems.h: Removed.
14145 2022-08-30  Richard Biener  <rguenther@suse.de>
14147         PR tree-optimization/73550
14148         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
14149         Do not apply MAX_NUM_CHAINS again.
14151 2022-08-30  Richard Biener  <rguenther@suse.de>
14153         * gimple-predicate-analysis.cc (format_edge_vec): Dump
14154         both source and destination.
14155         (dump_dep_chains): Remove.
14156         (uninit_analysis::init_use_preds): Remove redundant
14157         dumping of chains.
14159 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
14161         * value-range-storage.cc (frange_storage_slot::get_frange): Use
14162         frange_nan.
14163         * value-range.cc (frange::set_nan): New.
14164         (frange_nan): Move to header file.
14165         (range_tests_nan): Adjust frange_nan callers to pass type.
14166         New test.
14167         * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
14168         (frange_nan): New.
14170 2022-08-30  Richard Biener  <rguenther@suse.de>
14172         PR tree-optimization/67196
14173         * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
14174         Simplify and normalize use prediates before first use.
14176 2022-08-30  Richard Biener  <rguenther@suse.de>
14178         * gimple-predicate-analysis.cc (dump_pred_chain): Fix
14179         parentizing and AND prepending.
14180         (predicate::dump): Do not dump the GENERIC expanded
14181         predicate, properly parentize and prepend ORs to the
14182         piecewise predicate dump.
14183         (build_pred_expr): Remove.
14185 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
14187         * range-op-float.cc (finite_operand_p): New.
14188         (build_le): New.
14189         (build_lt): New.
14190         (build_ge): New.
14191         (build_gt): New.
14192         (foperator_equal::fold_range): New implementation with endpoints.
14193         (foperator_equal::op1_range): Same.
14194         (foperator_not_equal::fold_range): Same.
14195         (foperator_not_equal::op1_range): Same.
14196         (foperator_lt::fold_range): Same.
14197         (foperator_lt::op1_range): Same.
14198         (foperator_lt::op2_range): Same.
14199         (foperator_le::fold_range): Same.
14200         (foperator_le::op1_range): Same.
14201         (foperator_le::op2_range): Same.
14202         (foperator_gt::fold_range): Same.
14203         (foperator_gt::op1_range): Same.
14204         (foperator_gt::op2_range): Same.
14205         (foperator_ge::fold_range): Same.
14206         (foperator_ge::op1_range): Same.
14207         (foperator_ge::op2_range): Same.
14209 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
14211         * range-op-float.cc (frange_set_nan): New.
14212         (frange_drop_inf): New.
14213         (frange_drop_ninf): New.
14214         (foperator_equal::op1_range): Adjust for endpoints.
14215         (foperator_lt::op1_range): Same.
14216         (foperator_lt::op2_range): Same.
14217         (foperator_gt::op1_range): Same.
14218         (foperator_gt::op2_range): Same.
14219         (foperator_unordered::op1_range): Same.
14220         * value-query.cc (range_query::get_tree_range): Same.
14221         * value-range-pretty-print.cc (vrange_printer::visit): Same.
14222         * value-range-storage.cc (frange_storage_slot::get_frange): Same.
14223         * value-range.cc (frange::set): Same.
14224         (frange::normalize_kind): Same.
14225         (frange::union_): Same.
14226         (frange::intersect): Same.
14227         (frange::operator=): Same.
14228         (early_nan_resolve): New.
14229         (frange::contains_p): New.
14230         (frange::singleton_p): New.
14231         (frange::set_nonzero): New.
14232         (frange::nonzero_p): New.
14233         (frange::set_zero): New.
14234         (frange::zero_p): New.
14235         (frange::set_nonnegative): New.
14236         (frange_float): New.
14237         (frange_nan): New.
14238         (range_tests_nan): New.
14239         (range_tests_signed_zeros): New.
14240         (range_tests_floats): New.
14241         (range_tests): New.
14242         * value-range.h (frange::lower_bound): New.
14243         (frange::upper_bound): New.
14244         (vrp_val_min): Use real_inf with a sign instead of negating inf.
14245         (frange::frange): New.
14246         (frange::set_varying): Adjust for endpoints.
14247         (real_max_representable): New.
14248         (real_min_representable): New.
14250 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
14252         * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
14253         for real zero.
14255 2022-08-30  Martin Liska  <mliska@suse.cz>
14257         * config/s390/s390.cc (s390_rtx_costs): Use proper type as
14258         argument.
14260 2022-08-30  Richard Biener  <rguenther@suse.de>
14262         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
14263         the set of fallthru reachable blocks from function entry
14264         and use that to determine wlims.always_executed.
14266 2022-08-30  Richard Biener  <rguenther@suse.de>
14268         PR tree-optimization/56654
14269         * tree-ssa-uninit.cc (cand_cmp): New.
14270         (find_uninit_use): First process all PHIs and collect candidate
14271         stmts, then sort those after RPO.
14272         (warn_uninitialized_phi): Pass on bb_to_rpo.
14273         (execute_late_warn_uninitialized): Compute and pass on
14274         reverse lookup of RPO number from basic block index.
14276 2022-08-30  Richard Biener  <rguenther@suse.de>
14278         * gimple-predicate-analysis.h (uninit_analysis::operator()):
14279         Remove.
14280         * gimple-predicate-analysis.cc
14281         (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
14282         simplify a bit.
14283         * tree-ssa-uninit.cc (defined_args): New global.
14284         (compute_uninit_opnds_pos): Mask with the recorded set
14285         of guarded maybe-uninitialized uses.
14286         (uninit_undef_val_t::operator()): Remove.
14287         (find_uninit_use): Process all PHI uses, recording the
14288         guarded ones and marking the PHI result as uninitialized
14289         consistently.
14290         (warn_uninitialized_phi): Adjust.
14291         (execute_late_warn_uninitialized): Get rid of the PHI worklist
14292         and instead walk the function in RPO order.
14293         * spellcheck.h (best_match::m_best_candidate_len): Initialize.
14295 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
14297         PR tree-optimization/106744
14298         * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
14300 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
14302         * expmed.cc (store_bit_field_1): Initialize regnum to 0.
14304 2022-08-29  David Faust  <david.faust@oracle.com>
14306         PR target/106745
14307         * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
14308         computation of index for anonymous members.
14310 2022-08-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
14312         * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
14313         target macro.
14315 2022-08-29  H.J. Lu  <hjl.tools@gmail.com>
14317         PR target/106748
14318         * config/i386/i386-expand.cc
14319         (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
14320         * config/i386/sse.md (V_256H): Add V16BF.
14322 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
14324         * config/s390/s390.cc (s390_address_cost): Declare.
14325         (s390_hard_regno_nregs): Declare.
14326         (s390_rtx_costs): Add handling for REG and MEM in SET.
14328 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
14330         * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
14331         (is_reverse_perm_mask): New function.
14332         (expand_perm_with_rot): Recognize reverse pattern.
14333         (expand_perm_with_vstbrq): New function.
14334         (expand_perm_with_vster): Use vler/vster for element reversal on z15.
14335         (vectorize_vec_perm_const_1): Use.
14336         (s390_vectorize_vec_perm_const): Add expand functions.
14337         * config/s390/vx-builtins.md: Prefer vster over vler.
14339 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
14341         * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
14342         * config/s390/vector.md: Rewrite patterns to use vec_select.
14343         * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
14344         Likewise.
14346 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
14348         PR target/100869
14349         * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
14350         (rotl<mode>3_di): New pattern.
14351         * config/s390/vx-builtins.md: Use vpdi and verll for reversing
14352         elements.
14354 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
14356         * config/s390/s390.cc (s390_issue_rate): Add z15.
14358 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
14360         * common/config/s390/s390-common.cc: Enable -funroll-loops and
14361         -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
14362         * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
14363         loops larger than 12 instructions.
14364         (s390_override_options_after_change): Set unroll options.
14365         (s390_option_override_internal): Likewise.
14366         * config/s390/s390.opt: Document munroll-only-small-loops.
14368 2022-08-29  Richard Biener  <rguenther@suse.de>
14370         * gimple-predicate-analysis.cc (is_loop_exit,
14371         find_control_equiv_block): Inline into single caller ...
14372         (uninit_analysis::init_use_preds): ... here and refactor.
14374 2022-08-29  Richard Biener  <rguenther@suse.de>
14376         * gimple-predicate-analysis.cc (compute_control_dep_chain):
14377         Inline is_loop_exit and refactor, add comment about
14378         loop exits.
14380 2022-08-29  Kito Cheng  <kito.cheng@sifive.com>
14382         * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
14383         (riscv_frame_info::reset(void)): New.
14384         (riscv_compute_frame_info): Use riscv_frame_info::reset instead
14385         of memset when clean frame.
14387 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
14389         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
14390         (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
14391         (riscv_address_insns): Add RVV modes condition.
14392         (riscv_binary_cost): Ditto.
14393         (riscv_rtx_costs): Adjust cost for RVV.
14394         (riscv_secondary_memory_needed): Add RVV modes condition.
14395         (riscv_hard_regno_nregs): Add RVV register allocation.
14396         (riscv_hard_regno_mode_ok): Add RVV register allocation.
14397         (riscv_class_max_nregs): Add RVV register allocation.
14398         * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
14399         (UNITS_PER_V_REG): New macro.
14400         (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
14401         (V_REG_FIRST): New macro.
14402         (V_REG_LAST): Ditto.
14403         (V_REG_NUM): Ditto.
14404         (V_REG_P): Ditto.
14405         (VL_REG_P): Ditto.
14406         (VTYPE_REG_P): Ditto.
14407         (RISCV_DWARF_VL): Ditto.
14408         (RISCV_DWARF_VTYPE): Ditto.
14409         (enum reg_class): Add RVV register types.
14410         (REG_CLASS_CONTENTS): Add RVV register types.
14411         * config/riscv/riscv.md: Add VL/VTYPE register number constants.
14413 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
14415         * config/riscv/riscv.md: Add new type for vector instructions.
14417 2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
14419         PR target/106017
14420         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
14421         of MMA pointer conversions.
14423 2022-08-27  Xi Ruoyao  <xry111@xry111.site>
14425         * config/i386/gcc-auto-profile: Regenerate.
14427 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
14429         * real.cc (real_iszero): New.
14430         * real.h (real_iszero): New.
14432 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
14434         * real.cc (real_isinf): New overload.
14435         (real_inf): Add sign argument.
14436         * real.h (real_isinf): New overload.
14437         (real_inf): Add sign argument.
14439 2022-08-26  Marek Polacek  <polacek@redhat.com>
14441         PR c++/81159
14442         * doc/invoke.texi: Document -Wself-move.
14444 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
14446         * value-range.cc (vrange::set): Set varying.
14447         (vrange::set_nonzero): Same.
14448         (vrange::set_zero): Same.
14449         (vrange::set_nonnegative): Same.
14451 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
14453         * range-op-float.cc (foperator_equal::op1_range): Do not blindly
14454         copy op2 range when honoring signed zeros.
14456 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
14458         * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
14459         add newline.
14460         (profitable_path_p): Same.
14462 2022-08-26  Richard Biener  <rguenther@suse.de>
14464         * gimple-predicate-analysis.h
14465         (uninit_analysis::use_cannot_happen): Remove.
14466         * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
14467         (uninit_analysis::use_cannot_happen): Likewise.
14468         (uninit_analysis::is_use_guarded): Do not call
14469         use_cannot_happen.
14470         (dump_predicates): Remove.
14471         (simple_control_dep_chain): Remove edge overload.
14473 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
14475         * internal-fn.cc (expand_GOMP_TARGET_REV): New.
14476         * internal-fn.def (GOMP_TARGET_REV): New.
14477         * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
14478         'omp target device_ancestor_host' as in_other_partition and don't
14479         error if absent.
14480         * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
14481         * omp-expand.cc (expand_omp_target): For reverse offload, remove
14482         sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
14483         empty-body nohost function.
14484         * omp-offload.cc (execute_omp_device_lower): Handle
14485         IFN_GOMP_TARGET_REV.
14486         (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
14487         nullify fn argument for reverse offload
14489 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
14491         * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
14492         * builtins.cc (expand_builtin_issignaling): New function.
14493         (expand_builtin_signbit): Don't overwrite target.
14494         (expand_builtin): Handle BUILT_IN_ISSIGNALING.
14495         (fold_builtin_classify): Likewise.
14496         (fold_builtin_1): Likewise.
14497         * optabs.def (issignaling_optab): New.
14498         * fold-const-call.cc (fold_const_call_ss): Handle
14499         BUILT_IN_ISSIGNALING.
14500         * config/i386/i386.md (issignalingxf2): New expander.
14501         * doc/extend.texi (__builtin_issignaling): Document.
14502         (__builtin_isinf, __builtin_isnan): Clarify behavior with
14503         -ffinite-math-only.
14504         * doc/md.texi (issignaling<mode>2): Likewise.
14506 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
14508         PR tree-optimization/106099
14509         * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
14510         * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
14511         __builtin_trap to avoid the need of vops.
14513 2022-08-26  Richard Biener  <rguenther@suse.de>
14515         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
14516         New helper.
14517         (compute_control_dep_chain): Adjust to honor marked region
14518         if provided.
14519         (uninit_analysis::init_from_phi_def): Pre-mark the dominating
14520         region to improve compute_control_dep_chain walking.
14521         * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
14523 2022-08-26  Richard Biener  <rguenther@suse.de>
14525         * gimple-predicate-analysis.cc
14526         (uninit_analysis::collect_phi_def_edges): Only expand a
14527         PHI def edge when it is possibly undefined.
14529 2022-08-26  Martin Liska  <mliska@suse.cz>
14531         * doc/extend.texi: Remove cr16 related stuff.
14532         * doc/install.texi: Likewise.
14533         * doc/invoke.texi: Likewise.
14534         * doc/md.texi: Likewise.
14535         * function-tests.cc (test_expansion_to_rtl): Likewise.
14536         * common/config/cr16/cr16-common.cc: Removed.
14537         * config/cr16/constraints.md: Removed.
14538         * config/cr16/cr16-protos.h: Removed.
14539         * config/cr16/cr16.cc: Removed.
14540         * config/cr16/cr16.h: Removed.
14541         * config/cr16/cr16.md: Removed.
14542         * config/cr16/cr16.opt: Removed.
14543         * config/cr16/predicates.md: Removed.
14544         * config/cr16/t-cr16: Removed.
14546 2022-08-26  liuhongt  <hongtao.liu@intel.com>
14548         PR target/106704
14549         * config/i386/i386-builtin.def (BDESC): Add
14550         CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
14551         corresponding builtins.
14552         * config/i386/i386.cc (ix86_gimple_fold_builtin):
14553         Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
14554         IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
14556 2022-08-25  Marek Polacek  <polacek@redhat.com>
14558         * ginclude/stddef.h: Define nullptr_t.
14560 2022-08-25  Joseph Myers  <joseph@codesourcery.com>
14562         * gimplify.cc (gimplify_modify_expr): Convert initialization from
14563         a variable-size CONSTRUCTOR to memset before call to
14564         gimplify_modify_expr_rhs.
14566 2022-08-25  Jason Merrill  <jason@redhat.com>
14568         * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
14570 2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
14572         PR target/106101
14573         * config/s390/predicates.md (subreg_register_operand): New
14574         predicate.
14575         * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
14576         function prototype.
14577         * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
14578         (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
14579         gen_lowpart.
14580         * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
14581         ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
14582         ("movstrictqi", "movstricthi", "movstrictsi"): Use the
14583         subreg_register_operand predicate instead of register_operand.
14585 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
14587         * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
14588         Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
14589         * config/loongarch/loongarch.cc (loongarch_attribute_table):
14590         New attribute table.
14591         (TARGET_ATTRIBUTE_TABLE): Define the target hook.
14592         (loongarch_handle_model_attribute): New static function.
14593         (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
14594         model attribute of SYMBOL_REF_DECL into account returning
14595         SYMBOL_PCREL or SYMBOL_PCREL64.
14596         (loongarch_use_anchors_for_symbol_p): New static function.
14597         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
14598         (loongarch_symbol_extreme_p): New static function.
14599         (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
14600         (loongarch_symbol_insns): Likewise.
14601         (loongarch_split_symbol_type): Likewise.
14602         (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
14603         TARGET_CMODEL_EXTREME for PC-relative addressing.
14604         (loongarch_print_operand_reloc): Likewise.
14605         * doc/extend.texi (Variable Attributes): Document new
14606         LoongArch specific attribute.
14608 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
14610         * config/loongarch/loongarch.cc (loongarch_classify_symbol):
14611         Return early if the rtx is not SYMBOL_REF.
14613 2022-08-25  Richard Biener  <rguenther@suse.de>
14615         PR tree-optimization/106737
14616         * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
14617         verify SSA form.
14619 2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
14621         PR target/106459
14622         * config/loongarch/loongarch.cc (loongarch_build_integer):
14623         Use HOST_WIDE_INT.
14624         * config/loongarch/loongarch.h (IMM_REACH): Likewise.
14625         (HWIT_1U): New Defined.
14626         (LU12I_OPERAND): Use HOST_WIDE_INT.
14627         (LU32I_OPERAND): Likewise.
14628         (LU52I_OPERAND): Likewise.
14629         (HWIT_UC_0xFFF): Likwise.
14631 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14633         PR target/106632
14634         PR target/106588
14635         * config/riscv/bitmanip.md (*shNadduw): Use n constraint
14636         instead of i.
14637         (*slliuw): Likewise.
14638         (*bexti): Likewise. Also add a check for operands[2] to be less
14639         than the mode bitsize.
14641 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14643         * config/riscv/constraints.md (DbS): New constraint.
14644         (DnS): New constraint.
14645         * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
14646         (*bclr<mode>): Likewise.
14647         (*binvi<mode>): Likewise.
14649 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14651         PR target/106586
14652         * config/riscv/predicates.md (single_bit_mask_operand):
14653         Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
14654         (not_single_bit_mask_operand): Likewise.
14655         * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
14656         1<<31 for 32bits as it is already handled.
14657         Call trunc_int_for_mode on the upper part after the subtraction.
14658         (riscv_move_integer): Call trunc_int_for_mode before generating
14659         the integer just make sure the constant has been sign extended
14660         corectly.
14661         (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
14662         addition for the new rhs.
14663         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
14664         then mask off the upper 32bits of the HWI as it will be sign extended.
14666 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14668         * config/riscv/constraints.md (DsS): New constraint.
14669         (DsD): New constraint.
14670         * config/riscv/iterators.md (shiftm1c): New iterator.
14671         * config/riscv/bitmanip.md (*bset<mode>_mask):
14672         Use shiftm1c.
14673         (*bset<mode>_1_mask): Likewise.
14675 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14677         * config/riscv/constraints.md (Ds3): New constraint.
14678         * config/riscv/predicates.md (imm123_operand): New predicate.
14679         * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
14680         (*shNadduw): Likewise.
14682 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14684         * config/riscv/riscv.cc (riscv_print_operand):
14685         Handle '~'.
14686         (riscv_print_operand_punct_valid_p): New function
14687         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
14688         * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
14689         Use %~ instead of conditional the pattern on TARGET_64BIT.
14690         (rotrsi3): Likewise.
14691         (rotlsi3): Likewise.
14692         * config/riscv/riscv.md: Add ~ to the list of modifiers.
14693         (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
14694         (subsi3): Likewise.
14695         (negsi2): Likewise.
14696         (mulsi3): Likewise.
14697         (optab>si3/any_div): Likewise.
14698         (*add<mode>hi3): Likewise.
14699         (<optab>si3/any_shift): Likewise.
14701 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14703         * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
14704         keep the list in riscv.md in sync with this list.
14705         * config/riscv/riscv.md: Add list of modifiers as comments.
14707 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14709         * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
14710         * config/riscv/iterators.md: Here.
14712 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14714         * config/riscv/bitmanip.md
14715         (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
14716         tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
14717         * config/riscv/iterators.md: Here.
14719 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14721         * config/riscv/riscv.md (GPR): Move to new file.
14722         (P, X, BR): Likewise.
14723         (MOVE32, MOVE64, SHORT): Likewise.
14724         (HISI, SUPERQI, SUBX): Likewise.
14725         (ANYI, ANYF, SOFTF): Likewise.
14726         (size, load, default_load): Likewise.
14727         (softload, store, softstore): Likewise.
14728         (reg, fmt, ifmt, amo): Likewise.
14729         (UNITMODE, HALFMODE): Likewise.
14730         (RINT, rint_pattern, rint_rm): Likewise.
14731         (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
14732         (any_extend, any_shiftrt, any_shift): Likewise.
14733         (any_bitwise): Likewise.
14734         (any_div, any_mod): Likewise.
14735         (any_gt, any_ge, any_lt, any_le): Likewise.
14736         (u, su): Likewise.
14737         (optab, insn): Likewise.
14738         * config/riscv/iterators.md: New file.
14740 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14742         PR target/106601
14743         * config/riscv/bitmanip.md (bswaphi2): New pattern.
14745 2022-08-24  Andrew Pinski  <apinski@marvell.com>
14747         PR target/106600
14748         * config/riscv/bitmanip.md (bswap<mode>2): Remove
14749         condition on TARGET_64BIT as X is already conditional there.
14751 2022-08-24  Joseph Myers  <joseph@codesourcery.com>
14753         * tree.cc (build_real): Give DFP dconst0 the minimum quantum
14754         exponent for the type.
14756 2022-08-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
14758         PR target/106733
14759         * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
14760         constants as legitimate addresses for functions.
14761         (bpf_small_register_classes_for_mode_p): Define target hook.
14763 2022-08-24  Richard Biener  <rguenther@suse.de>
14765         * gimple-predicate-analysis.cc: Move predicate normalization
14766         after the comment documenting it.
14768 2022-08-24  Richard Biener  <rguenther@suse.de>
14770         * gimple-predicate-analysis.h (predicate): Split out
14771         non-predicate related functionality into ..
14772         (uninit_analysis): .. this new class.
14773         * gimple-predicate-analysis.cc: Refactor into two classes.
14774         * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
14776 2022-08-24  Richard Biener  <rguenther@suse.de>
14778         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14779         Do simple_control_dep_chain only up to cd_root, add the PHI
14780         operand edge to the chains like init_from_phi_def does.
14781         (predicate::is_use_guarded): Speedup early out, avoid half-way
14782         initializing the PHI def predicate.
14784 2022-08-24  Jakub Jelinek  <jakub@redhat.com>
14786         PR target/106721
14787         * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
14788         Change V32HF, V16HF and V8HF entries from "f" to "i".
14789         (iptr): Add V32BF, V16BF, V8BF and BF entries.
14790         (i128vldq): Add V16HF and V16BF entries.
14791         (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
14792         mask_opernad3 -> mask_operand3.
14794 2022-08-24  Martin Liska  <mliska@suse.cz>
14795             Jørgen Kvalsvik  <j@lambda.is>
14797         * gcov.cc (add_line_counts): Add group functions to coverage
14798         summary.
14799         (accumulate_line_counts): Similarly for files.
14801 2022-08-24  Lulu Cheng  <chenglulu@loongson.cn>
14803         * config/loongarch/genopts/loongarch-strings: Support code model medium.
14804         * config/loongarch/genopts/loongarch.opt.in: Likewise.
14805         * config/loongarch/loongarch-def.c: Likewise.
14806         * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
14807         (CMODEL_EXTREME): Likewise.
14808         (N_CMODEL_TYPES): Likewise.
14809         (CMODEL_MEDIUM): Likewise.
14810         * config/loongarch/loongarch-opts.cc: Likewise.
14811         * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
14812         * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
14813         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14814         Tls symbol Loading support medium mode.
14815         (loongarch_legitimize_call_address): When medium mode, make a symbolic
14816         jump with two instructions.
14817         (loongarch_option_override_internal): Support medium.
14818         * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
14819         (@sibcall_internal_1<mode>): New function call templates added to support
14820         medium mode.
14821         (@sibcall_value_internal_1<mode>): Likewise.
14822         (@sibcall_value_multiple_internal_1<mode>): Likewise.
14823         (@call_internal_1<mode>): Likewise.
14824         (@call_value_internal_1<mode>): Likewise.
14825         (@call_value_multiple_internal_1<mode>): Likewise.
14826         * config/loongarch/loongarch.opt: Support medium.
14827         * config/loongarch/predicates.md: Add processing about medium mode.
14828         * doc/invoke.texi: Document for '-mcmodel=medium'.
14830 2022-08-24  Richard Biener  <rguenther@suse.de>
14832         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14833         Start the compute_control_dep_chain walk from the immediate
14834         dominator of the PHI.
14836 2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
14838         PR target/106714
14839         * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
14840         __PTRDIFF_TYPE__.
14841         (_tile_stream_loadd_internal): Likewise.
14842         (_tile_stored_internal): Likewise.
14844 2022-08-23  Richard Biener  <rguenther@suse.de>
14846         PR tree-optimization/106722
14847         * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
14848         MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
14849         * gimple-predicate-analysis.cc: ... here and document.
14850         (simple_control_dep_chain): New function, factored from
14851         predicate::use_cannot_happen.
14852         (predicate::use_cannot_happen): Adjust.
14853         (predicate::predicate): Use simple_control_dep_chain as fallback.
14855 2022-08-23  Aldy Hernandez  <aldyh@redhat.com>
14857         * range-op-float.cc (foperator_equal::op1_range): Set range to
14858         range of op2.
14860 2022-08-23  Richard Biener  <rguenther@suse.de>
14862         * gimple-predicate-analysis.cc (is_loop_exit): Split out
14863         from ...
14864         (is_non_loop_exit_postdominating): ... here.  Remove after
14865         inlining ...
14866         (find_control_equiv_block): ... here.
14867         (compute_control_dep_chain): ... and here.
14868         (predicate::is_use_guarded): Do not excempt loop exits
14869         from short-cutting the case of the use post-dominating the
14870         PHI definition.
14872 2022-08-23  Andrew MacLeod  <amacleod@redhat.com>
14874         PR tree-optimization/106687
14875         * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
14876         for the VREL_GT case as well.
14878 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
14880         * config/pru/pru.md (pru_<code>di3): New alternative for
14881         two operands but without earlyclobber.
14883 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
14885         * config/pru/pru.md (prumov<mode>, mov<mode>): Add
14886         variants for loading -1 consts.
14888 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
14890         PR target/106564
14891         * config/pru/constraints.md (Um): New constraint for -1.
14892         (Uf): New constraint for IOR fill-bytes constants.
14893         (Uz): New constraint for AND zero-bytes constants.
14894         * config/pru/predicates.md (const_fillbytes_operand): New
14895         predicate for IOR fill-bytes constants.
14896         (const_zerobytes_operand): New predicate for AND zero-bytes
14897         constants.
14898         * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
14899         (struct pru_byterange): New struct to describe a byte range.
14900         (pru_calc_byterange): New declaration.
14901         * config/pru/pru.cc (pru_rtx_costs): Add penalty for
14902         64-bit zero-extend.
14903         (pru_output_sign_extend): Remove.
14904         (pru_calc_byterange): New helper function to extract byte
14905         range info from a constant.
14906         (pru_print_operand): Remove 'y' and 'z' print modifiers.
14907         * config/pru/pru.md (zero_extendqidi2): New pattern.
14908         (zero_extendhidi2): New pattern.
14909         (zero_extendsidi2): New pattern.
14910         (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
14911         (@pru_ior_fillbytes<mode>): New pattern.
14912         (@pru_and_zerobytes<mode>): New pattern.
14913         (<code>di3): Rewrite as an expand and handle ZERO and FILL
14914         special cases.
14915         (pru_<code>di3): New name for <code>di3.
14916         (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
14917         handle bit-test for 64-bit registers.
14919 2022-08-22  Richard Biener  <rguenther@suse.de>
14921         * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
14922         (predicate::def_expr): Likewise.
14923         (predicate::use_expr): Likewise.
14924         (predicate::expr): Likewise.
14925         * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
14926         (predicate::use_expr): Likewise.
14927         (predicate::expr): Likewise.
14928         (predicate::is_use_guarded): Do not build m_use_expr.
14930 2022-08-22  Martin Liska  <mliska@suse.cz>
14932         PR lto/106700
14933         * configure.ac: Detect O_NONBLOCK flag for open.
14934         * config.in: Regenerate.
14935         * configure: Regenerate.
14936         * opts-common.cc (jobserver_info::connect): Set is_connected
14937         properly based on O_NONBLOCK.
14938         * opts-jobserver.h (struct jobserver_info): Add is_connected
14939         member variable.
14941 2022-08-22  zhongjuzhe  <juzhe.zhong@rivai.ai>
14943         * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
14944         and repeat value different.
14946 2022-08-22  Tobias Burnus  <tobias@codesourcery.com>
14948         PR lto/106686
14949         * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
14950         (tool_cleanup): Unlink offload_names.
14951         (compile_offload_image): Take filename argument to set it early.
14952         (compile_images_for_offload_targets): Update call; set
14953         offload_names to NULL after freeing the array.
14955 2022-08-22  Richard Biener  <rguenther@suse.de>
14957         PR tree-optimization/105937
14958         * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
14959         on backedges.
14960         (execute_late_warn_uninitialized): Mark backedges.
14962 2022-08-22  Richard Biener  <rguenther@suse.de>
14964         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
14965         If the use is guarded with multiple predicate paths compute
14966         the predicates intersection before going forward.  When
14967         compute_control_dep_chain wasn't able to come up with at
14968         least one path from function entry to the PHI edge compute
14969         a conservative sparse path instead.
14971 2022-08-20  Lulu Cheng  <chenglulu@loongson.cn>
14973         * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
14974         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
14975         Add extreme support for TLS GD and LD types.
14976         (loongarch_legitimize_tls_address): Add extreme support for TLS LE
14977         and IE.
14978         (loongarch_split_symbol): When compiling with -mcmodel=extreme,
14979         the symbol address will be obtained through five instructions.
14980         (loongarch_print_operand_reloc): Add support.
14981         (loongarch_print_operand): Add support.
14982         (loongarch_print_operand_address): Add support.
14983         (loongarch_option_override_internal): Set '-mcmodel=extreme' option
14984         incompatible with '-mno-explicit-relocs'.
14985         * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
14986         Loads bits 12-31 of data into registers.
14987         (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
14988         the source register.
14989         (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
14990         the source register.
14991         * config/loongarch/predicates.md: Symbols need to be decomposed
14992         when defining the macro TARGET_CMODEL_EXTREME
14993         * doc/invoke.texi: Modify the description information of cmodel in the document.
14994         Document -W[no-]extreme-plt.
14996 2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
14998         * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
14999         files_to_cleanup.
15000         * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
15001         omp_requires_file to temp_files.
15002         * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
15003         (main): Remove local omp_requires_file var.
15004         (tool_cleanup): Handle omp_requires_file.
15006 2022-08-19  Aldy Hernandez  <aldyh@redhat.com>
15008         * gimple-range-path.cc (path_range_query::path_range_query):
15009         Remove constructor that takes edge.
15010         * gimple-range-path.h (class path_range_query): Same.
15011         * tree-ssa-loop-ch.cc (edge_range_query): New.
15012         (entry_loop_condition_is_static): Call edge_range_query.
15014 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
15016         * config/xtensa/xtensa.h
15017         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
15018         Add new register class "ISC_REGS".
15019         * config/xtensa/constraints.md (c): Add new register constraint.
15020         * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
15021         (sibcall_internal, sibcall_value_internal):
15022         Change to use the new register constraint, and remove two split
15023         patterns for fixups that are no longer needed.
15025 2022-08-18  Maciej W. Rozycki  <macro@embecosm.com>
15027         * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
15028         pattern formatting.
15030 2022-08-18  Tim Lange  <mail@tim-lange.me>
15032         PR analyzer/106181
15033         * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
15035 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
15037         * gimple-range-path.cc (path_range_query::path_range_query): Add
15038         various constructors to take a path.
15039         (path_range_query::~path_range_query): Remove m_alloced_ranger.
15040         (path_range_query::range_on_path_entry): Adjust for m_ranger being
15041         a reference.
15042         (path_range_query::set_path): Rename to...
15043         (path_range_query::reset_path): ...this and call compute_ranges.
15044         (path_range_query::ssa_range_in_phi): Adjust for m_ranger
15045         reference.
15046         (path_range_query::range_defined_in_block): Same.
15047         (path_range_query::compute_ranges_in_block): Same.
15048         (path_range_query::adjust_for_non_null_uses): Same.
15049         (path_range_query::compute_exit_dependencies): Use m_path instead
15050         of argument.
15051         (path_range_query::compute_ranges): Remove path argument.
15052         (path_range_query::range_of_stmt): Adjust for m_ranger reference.
15053         (path_range_query::compute_outgoing_relations): Same.
15054         * gimple-range-path.h (class path_range_query): Add various
15055         constructors.
15056         Make compute_ranges and compute_exit_dependencies private.
15057         Rename set_path to reset_path.
15058         Make m_ranger a reference.
15059         Remove m_alloced_ranger.
15060         * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
15061         path_range_query.
15062         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
15063         ranger and instantiate a new path_range_query every time.
15064         (ch_base::copy_headers): Pass ranger instead of path_range_query.
15065         * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
15066         (back_threader::~back_threader): Remove m_solver.
15067         (back_threader::find_taken_edge_switch): Adjust for m_ranger
15068         reference.
15069         (back_threader::find_taken_edge_cond): Same.
15070         (back_threader::dump): Remove m_solver.
15071         (back_threader::back_threader): Move verify_marked_backedges
15072         here from the path_range_query constructor.
15073         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
15074         some code from compute_ranges_from_state here.
15075         (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
15076         (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
15077         * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
15078         compute_ranges_from_state to compute_exit_dependencies.
15079         Remove m_path.
15081 2022-08-18  Richard Biener  <rguenther@suse.de>
15083         PR middle-end/106617
15084         * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
15085         guard, disable on GENERIC to not cause quadratic behavior
15086         with the fold-const.cc implementation and the use of !
15088 2022-08-18  Andrew Pinski  <apinski@marvell.com>
15090         PR gcov-profile/106659
15091         * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
15092         INCLUDE_VECTOR.
15094 2022-08-18  konglin1  <lingling.kong@intel.com>
15096         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
15097         BFmode.
15098         (ix86_expand_vector_init_duplicate): Support vector BFmode.
15099         (ix86_expand_vector_init_one_nonzero): Ditto.
15100         (ix86_expand_vector_init_one_var): Ditto.
15101         (ix86_expand_vector_init_concat): Ditto.
15102         (ix86_expand_vector_init_interleave): Ditto.
15103         (ix86_expand_vector_init_general): Ditto.
15104         (ix86_expand_vector_init): Ditto.
15105         (ix86_expand_vector_set_var): Ditto.
15106         (ix86_expand_vector_set): Ditto.
15107         (ix86_expand_vector_extract): Ditto.
15108         * config/i386/i386.cc (classify_argument): Add BF vector modes.
15109         (function_arg_64): Ditto.
15110         (ix86_gimplify_va_arg): Ditto.
15111         (ix86_get_ssemov): Ditto.
15112         * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
15113         (VALID_AVX512F_REG_MODE): Ditto.
15114         (host_detect_local_cpu): Ditto.
15115         (VALID_SSE2_REG_MODE): Ditto.
15116         * config/i386/i386.md: Add BF vector modes.
15117         (MODE_SIZE): Ditto.
15118         (ssemodesuffix): Add bf suffix for BF vector modes.
15119         (ssevecmode): Ditto.
15120         * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
15121         (VI12HFBF_AVX512VL): Ditto.
15122         (V_256_512): Ditto.
15123         (VF_AVX512HFBF16): Ditto.
15124         (VF_AVX512BWHFBF16): Ditto.
15125         (VIHFBF): Ditto.
15126         (avx512): Ditto.
15127         (VIHFBF_256): Ditto.
15128         (VIHFBF_AVX512BW): Ditto.
15129         (VI2F_256_512):Ditto.
15130         (V8_128):Ditto.
15131         (V16_256): Ditto.
15132         (V32_512): Ditto.
15133         (sseinsnmode): Ditto.
15134         (sseconstm1): Ditto.
15135         (sseintmodesuffix): New mode_attr.
15136         (avx512fmaskmode): Ditto.
15137         (avx512fmaskmodelower): Ditto.
15138         (ssedoublevecmode): Ditto.
15139         (ssehalfvecmode): Ditto.
15140         (ssehalfvecmodelower): Ditto.
15141         (ssescalarmode): Add vector BFmode mapping.
15142         (ssescalarmodelower): Ditto.
15143         (ssexmmmode): Ditto.
15144         (ternlogsuffix): Ditto.
15145         (ssescalarsize): Ditto.
15146         (sseintprefix): Ditto.
15147         (i128): Ditto.
15148         (xtg_mode): Ditto.
15149         (bcstscalarsuff): Ditto.
15150         (<avx512>_blendm<mode>): New define_insn for BFmode.
15151         (<avx512>_store<mode>_mask): Ditto.
15152         (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
15153         (vec_set<mode>_0): New define_insn for BF vector set.
15154         (V8BFH_128): New mode_iterator for BFmode.
15155         (avx512fp16_mov<mode>): Ditto.
15156         (vec_set<mode>): New define_insn for BF vector set.
15157         (@vec_extract_hi_<mode>): Ditto.
15158         (@vec_extract_lo_<mode>): Ditto.
15159         (vec_set_hi_<mode>): Ditto.
15160         (vec_set_lo_<mode>): Ditto.
15161         (*vec_extract<mode>_0): New define_insn_and_split for BF
15162         vector extract.
15163         (*vec_extract<mode>): New define_insn.
15164         (VEC_EXTRACT_MODE): Add BF vector modes.
15165         (PINSR_MODE): Add V8BF.
15166         (sse2p4_1): Ditto.
15167         (pinsr_evex_isa): Ditto.
15168         (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
15169         insert for V8BFmode.
15170         (pbroadcast_evex_isa): Add BF vector modes.
15171         (AVX2_VEC_DUP_MODE): Ditto.
15172         (VEC_INIT_MODE): Ditto.
15173         (VEC_INIT_HALF_MODE): Ditto.
15174         (avx2_pbroadcast<mode>): Adjust to support BF vector mode
15175         broadcast.
15176         (avx2_pbroadcast<mode>_1): Ditto.
15177         (<avx512>_vec_dup<mode>_1): Ditto.
15178         (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
15179         Ditto.
15181 2022-08-18  Martin Liska  <mliska@suse.cz>
15183         * configure: Regenerate.
15185 2022-08-18  Haochen Gui  <guihaoc@gcc.gnu.org>
15187         PR target/103109
15188         * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
15189         (<u>madddi4_highpart): New.
15190         (<u>madddi4_highpart_le): New.
15192 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
15194         * gimple-range-path.cc
15195         (path_range_query::compute_exit_dependencies): Use
15196         gimple_range_ssa_names.
15198 2022-08-18  zhongjuzhe  <juzhe.zhong@rivai.ai>
15200         * config/riscv/predicates.md: Adjust runtime invariant.
15201         * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
15202         (NUM_POLY_INT_COEFFS): New.
15203         * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
15204         runtime invariant.
15205         * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
15206         Adjust runtime invariant.
15207         * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
15208         invariant.
15209         (enum riscv_microarchitecture_type): Ditto.
15210         (riscv_valid_offset_p): Ditto.
15211         (riscv_valid_lo_sum_p): Ditto.
15212         (riscv_address_insns): Ditto.
15213         (riscv_load_store_insns): Ditto.
15214         (riscv_legitimize_move): Ditto.
15215         (riscv_binary_cost): Ditto.
15216         (riscv_rtx_costs): Ditto.
15217         (riscv_output_move): Ditto.
15218         (riscv_extend_comparands): Ditto.
15219         (riscv_flatten_aggregate_field): Ditto.
15220         (riscv_get_arg_info): Ditto.
15221         (riscv_pass_by_reference): Ditto.
15222         (riscv_elf_select_rtx_section): Ditto.
15223         (riscv_stack_align): Ditto.
15224         (riscv_compute_frame_info): Ditto.
15225         (riscv_initial_elimination_offset): Ditto.
15226         (riscv_set_return_address): Ditto.
15227         (riscv_for_each_saved_reg): Ditto.
15228         (riscv_first_stack_step): Ditto.
15229         (riscv_expand_prologue): Ditto.
15230         (riscv_expand_epilogue): Ditto.
15231         (riscv_can_use_return_insn): Ditto.
15232         (riscv_secondary_memory_needed): Ditto.
15233         (riscv_hard_regno_nregs): Ditto.
15234         (riscv_convert_vector_bits): New.
15235         (riscv_option_override): Adjust runtime invariant.
15236         (riscv_promote_function_mode): Ditto.
15237         * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
15238         (BITS_PER_RISCV_VECTOR): New.
15239         (BYTES_PER_RISCV_VECTOR): New.
15240         * config/riscv/riscv.md: Adjust runtime invariant.
15242 2022-08-18  Lulu Cheng  <chenglulu@loongson.cn>
15244         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
15245         Get __tls_get_addr address through got table when disable plt.
15247 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
15249         * config/xtensa/xtensa.cc (xtensa_expand_prologue):
15250         Use an "addmi" machine instruction for updating the stack pointer
15251         rather than addition/subtraction via hard register A9, if the amount
15252         of change satisfies the literal value conditions of that instruction
15253         when the CALL0 ABI is used.
15254         (xtensa_expand_epilogue): Ditto.
15255         And also inhibit the stack pointer addition of constant zero.
15257 2022-08-17  Roger Sayle  <roger@nextmovesoftware.com>
15259         PR target/106640
15260         * config/i386/i386-features.cc
15261         (timde_scalar_chain::compute_convert_gain): Replace incorrect use
15262         of XINT with INTVAL (XEXP (src, 1)).
15264 2022-08-17  Aldy Hernandez  <aldyh@redhat.com>
15266         * gimple-range-path.cc
15267         (path_range_query::compute_ranges_in_block): Remove
15268         set_root_oracle call.
15269         (path_range_query::compute_ranges): Pass ranger oracle to
15270         reset_path.
15271         * value-relation.cc (path_oracle::reset_path): Set root oracle.
15272         * value-relation.h (path_oracle::reset_path): Add root oracle
15273         argument.
15275 2022-08-17  Marek Polacek  <polacek@redhat.com>
15277         PR c++/89780
15278         * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
15279         OPT_Wpessimizing_move and OPT_Wredundant_move.
15280         * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
15282 2022-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
15283             Jakub Jelinek  <jakub@redhat.com>
15285         PR fortran/46539
15286         * common.opt (static-libquadmath): New option.
15287         * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
15288         * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
15290 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
15292         * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
15293         when filenames come out identically.
15295 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
15297         PR middle-end/106548
15298         * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
15299         for 'simd' linear-step values that are variable.
15301 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
15302             Chung-Lin Tang  <cltang@codesourcery.com>
15304         PR c++/104493
15305         * gimplify.cc (omp_notice_variable): Call omp_mappable_type
15306         instead of removed langhook.
15307         * omp-general.h (omp_mappable_type): New prototype.
15308         * omp-general.cc (omp_mappable_type):  New; moved from ...
15309         * langhooks.cc (lhd_omp_mappable_type): ... here.
15310         * langhooks-def.h (lhd_omp_mappable_type,
15311         LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
15312         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
15313         * langhooks.h (struct lang_hooks_for_types): Remove
15314         omp_mappable_type.
15316 2022-08-17  Christophe Lyon  <christophe.lyon@arm.com>
15318         * config.gcc (arm): Define with_float to hard if target name ends
15319         with 'hf'.
15321 2022-08-17  Richard Biener  <rguenther@suse.de>
15323         * tree-ssa-threadbackward.cc
15324         (back_threader_profitability): Split profitable_path_p
15325         into possibly_profitable_path_p and itself, keep state
15326         as new members.
15327         (back_threader::m_profit): Remove.
15328         (back_threader::find_paths): Likewise.
15329         (back_threader::maybe_register_path): Take profitability
15330         instance as parameter.
15331         (back_threader::find_paths_to_names): Likewise.  Use
15332         possibly_profitable_path_p and avoid the path range query
15333         when the path is currently too large.
15334         (back_threader::find_paths): Fold into ...
15335         (back_threader::maybe_thread_block): ... this.
15336         (get_gimple_control_stmt): Remove.
15337         (back_threader_profitability::possibly_profitable_path_p):
15338         Split out from profitable_path_p, do early profitability
15339         checks.
15340         (back_threader_profitability::profitable_path_p): Do final
15341         profitability path after the taken edge has been determined.
15343 2022-08-17  Xi Ruoyao  <xry111@xry111.site>
15345         * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
15346         (fmin<mode>3): Likewise.
15348 2022-08-17  Andrew MacLeod  <amacleod@redhat.com>
15350         * gimple-range-fold.cc (gimple_range_ssa_names): New.
15351         * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
15352         * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
15353         code to new routine.
15355 2022-08-16  Martin Liska  <mliska@suse.cz>
15357         PR target/106637
15358         * doc/install.texi: Remove link to www.bullfreeware.com
15360 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
15362         * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
15363         zfh and zfhmin.
15364         (riscv_ext_version_table): Ditto.
15365         (riscv_ext_flag_table): Ditto.
15366         * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
15367         (MASK_ZFH): Ditto.
15368         (TARGET_ZFHMIN): Ditto.
15369         (TARGET_ZFH): Ditto.
15370         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
15371         for zfh and zfhmin.
15372         (riscv_emit_float_compare): Handle HFmode.
15373         * config/riscv/riscv.md (ANYF): Add HF.
15374         (SOFTF): Add HF.
15375         (load): Ditto.
15376         (store): Ditto.
15377         (truncsfhf2): New.
15378         (truncdfhf2): Ditto.
15379         (extendhfsf2): Ditto.
15380         (extendhfdf2): Ditto.
15381         (*movhf_hardfloat): Ditto.
15382         (*movhf_softfloat): Make sure not ZFHMIN.
15383         * config/riscv/riscv.opt (riscv_zf_subext): New.
15385 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
15387         * config/riscv/riscv-builtins.cc: include stringpool.h
15388         (riscv_float16_type_node): New.
15389         (riscv_init_builtin_types): Ditto.
15390         (riscv_init_builtins): Call riscv_init_builtin_types.
15391         * config/riscv/riscv-modes.def (HF): New.
15392         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
15393         (riscv_mangle_type): New.
15394         (riscv_scalar_mode_supported_p): Ditto.
15395         (riscv_libgcc_floating_mode_supported_p): Ditto.
15396         (riscv_excess_precision): Ditto.
15397         (riscv_floatn_mode): Ditto.
15398         (riscv_init_libfuncs): Ditto.
15399         (TARGET_MANGLE_TYPE): Ditto.
15400         (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
15401         (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
15402         (TARGET_INIT_LIBFUNCS): Ditto.
15403         (TARGET_C_EXCESS_PRECISION): Ditto.
15404         (TARGET_FLOATN_MODE): Ditto.
15405         * config/riscv/riscv.md (mode): Add HF.
15406         (softload): Add HF.
15407         (softstore): Ditto.
15408         (fmt): Ditto.
15409         (UNITMODE): Ditto.
15410         (movhf): New.
15411         (*movhf_softfloat): New.
15413 2022-08-16  Richard Biener  <rguenther@suse.de>
15415         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
15416         Do not walk further if we are leaving the current loop.
15418 2022-08-16  Sergei Trofimovich  <siarheit@google.com>
15420         PR driver/106624
15421         * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
15422         argument using xstrdup().
15424 2022-08-16  Aldy Hernandez  <aldyh@redhat.com>
15426         * gimple-range-path.cc (path_range_query::import_p): Rename to...
15427         (path_range_query::exit_dependency_p): ...this.
15428         (path_range_query::dump): Rename imports to exit dependencies.
15429         (path_range_query::compute_ranges_in_phis): Same.
15430         (path_range_query::compute_ranges_in_block): Same.
15431         (path_range_query::adjust_for_non_null_uses): Same.
15432         (path_range_query::compute_ranges): Same.
15433         (path_range_query::compute_phi_relations): Same.
15434         (path_range_query::add_to_imports): Rename to...
15435         (path_range_query::add_to_exit_dependencies): ...this.
15436         (path_range_query::compute_imports): Rename to...
15437         (path_range_query::compute_exit_dependencies): ...this.
15438         * gimple-range-path.h (class path_range_query): Rename imports to
15439         exit dependencies.
15441 2022-08-16  Martin Liska  <mliska@suse.cz>
15443         * value-range-storage.h (class obstack_vrange_allocator): Mark
15444         the class as final.
15445         (class ggc_vrange_allocator): Likewise.
15447 2022-08-16  Martin Liska  <mliska@suse.cz>
15449         * value-range-equiv.h (class value_range_equiv): Add virtual
15450         destructor.
15451         * value-range.h: Likewise.
15453 2022-08-16  Richard Biener  <rguenther@suse.de>
15455         PR middle-end/106630
15456         * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
15457         narrowing conversions.
15459 2022-08-16  Martin Liska  <mliska@suse.cz>
15461         * value-range-equiv.h (class value_range_equiv):
15463 2022-08-16  Martin Liska  <mliska@suse.cz>
15465         * config/i386/i386-features.h (class general_scalar_chain): Add
15466         final override for a method.
15467         (class timode_scalar_chain): Likewise.
15469 2022-08-16  Richard Biener  <rguenther@suse.de>
15471         * doc/invoke.texi (max-jump-thread-paths): Adjust.
15473 2022-08-16  Martin Liska  <mliska@suse.cz>
15475         * opts-common.cc (jobserver_info::connect): Open fifo
15476         in non-blocking mode.
15478 2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
15480         PR target/103353
15481         * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
15482         check to preparation statements and add handlings for !TARGET_MMA.
15483         (define_expand movxo): Likewise.
15485 2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
15487         PR tree-optimization/106322
15488         * tree-vect-stmts.cc (vectorizable_call): Don't allow
15489         vect_emulated_vector_p type for both vectype_in and vectype_out.
15491 2022-08-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
15493         * common/config/xtensa/xtensa-common.cc
15494         (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
15495         for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
15497 2022-08-15  Andrew MacLeod  <amacleod@redhat.com>
15499         PR tree-optimization/106621
15500         * value-range.cc (irange::set): Check for POLY_INT_CST early.
15502 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
15504         * config/i386/i386-features.cc
15505         (timode_scalar_chain::compute_convert_gain): Provide costs for
15506         shifts and rotates.
15507         (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
15508         and ROTATE just like existing ASHIFT and LSHIFTRT cases.
15509         (timode_scalar_to_vector_candidate_p): Handle all shifts and
15510         rotates by integer constants between 0 and 127.
15512 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
15514         * config/i386/i386-features.cc
15515         (timode_scalar_chain::compute_convert_gain): Provide gains for
15516         comparisons against 0/-1, including "*testti" patterns.
15518 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
15520         PR tree-optimization/64992
15521         PR tree-optimization/98956
15522         * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
15523         when X is zero_one_valued_p and the shift constant C is valid.
15524         (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
15525         when X is zero_one_valued_p and the shift constant C is valid.
15527 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
15528             Richard Biener  <rguenther@suse.de>
15530         PR tree-optimization/71343
15531         * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
15532         expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
15533         (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
15534         to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
15536 2022-08-15  Richard Biener  <rguenther@suse.de>
15538         * gimple-range-path.cc (range_on_path_entry): Just
15539         call range_on_entry.
15541 2022-08-15  Jakub Jelinek  <jakub@redhat.com>
15543         PR rtl-optimization/106590
15544         * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
15545         (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
15546         mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
15547         further conditional moves.
15549 2022-08-15  konglin1  <lingling.kong@intel.com>
15551         * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
15552         * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
15553         (ix86_register_bf16_builtin_type): New function.
15554         (ix86_bf16_type_node): New.
15555         (ix86_bf16_ptr_type_node): Ditto.
15556         (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
15557         * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
15558         (ADJUST_FLOAT_FORMAT): Ditto.
15559         * config/i386/i386.cc (classify_argument): Handle BFmode.
15560         (construct_container): Ditto.
15561         (function_value_32): Return __bf16 by %xmm0.
15562         (function_value_64): Return __bf16 by SSE register.
15563         (ix86_output_ssemov): Handle BFmode.
15564         (ix86_legitimate_constant_p): Disable BFmode constant double.
15565         (ix86_secondary_reload): Require gpr as intermediate register
15566         to store __bf16 from sse register when sse4 is not available.
15567         (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
15568         (ix86_mangle_type): Add manlging for __bf16 type.
15569         (ix86_invalid_conversion): New function for target hook.
15570         (ix86_invalid_unary_op): Ditto.
15571         (ix86_invalid_binary_op): Ditto.
15572         (TARGET_INVALID_CONVERSION): New define for target hook.
15573         (TARGET_INVALID_UNARY_OP): Ditto.
15574         (TARGET_INVALID_BINARY_OP): Ditto.
15575         * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
15576         * config/i386/i386.md ("mode"): Add BFmode.
15577         (MODE_SIZE): Ditto.
15578         (X87MODEFH): Ditto.
15579         (HFBF): Add new define_mode_iterator.
15580         (*pushhf_rex64): Change for BFmode.
15581         (*push<mode>_rex64): Ditto.
15582         (*pushhf): Ditto.
15583         (*push<mode>): Ditto.
15584         (MODESH): Ditto.
15585         (hfbfconstf): Add new define_mode_attr.
15586         (*mov<mode>_internal): Add BFmode.
15588 2022-08-13  Roger Sayle  <roger@nextmovesoftware.com>
15589             Uroš Bizjak  <ubizjak@gmail.com>
15591         * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
15592         New predicate for values between 0/1 and 255, not multiples of 8.
15593         * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
15594         shifts by constant bit counts.
15595         (*ashlvti3_internal): New define_insn_and_split that lowers
15596         logical left shifts by constant bit counts, that aren't multiples
15597         of 8, before reload.
15598         (lshrv1ti3): Delay lowering of logical right shifts by constant.
15599         (*lshrv1ti3_internal): New define_insn_and_split that lowers
15600         logical right shifts by constant bit counts, that aren't multiples
15601         of 8, before reload.
15602         (ashrv1ti3):: Delay lowering of arithmetic right shifts by
15603         constant bit counts.
15604         (*ashrv1ti3_internal): New define_insn_and_split that lowers
15605         arithmetic right shifts by constant bit counts before reload.
15606         (rotlv1ti3): Delay lowering of rotate left by constant.
15607         (*rotlv1ti3_internal): New define_insn_and_split that lowers
15608         rotate left by constant bits counts before reload.
15609         (rotrv1ti3): Delay lowering of rotate right by constant.
15610         (*rotrv1ti3_internal): New define_insn_and_split that lowers
15611         rotate right by constant bits counts before reload.
15613 2022-08-12  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
15615         * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
15617 2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
15619         PR middle-end/106057
15620         * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
15621         function.
15622         (possible_polymorphic_call_targets): Use it.
15624 2022-08-12  Andrew Carlotti  <andrew.carlotti@arm.com>
15626         * tree-ssa-loop.h: Improve comment
15628 2022-08-12  Jakub Jelinek  <jakub@redhat.com>
15630         PR tree-optimization/106506
15631         * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
15632         is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
15634 2022-08-12  Richard Biener  <rguenther@suse.de>
15636         PR tree-optimization/106593
15637         * tree-ssa-threadbackward.cc (back_threader::find_paths):
15638         If the imports from the conditional do not satisfy
15639         gimple_range_ssa_p don't try to thread anything.
15641 2022-08-12  Tamar Christina  <tamar.christina@arm.com>
15643         PR target/106524
15644         * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
15645         *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
15647 2022-08-12  Tim Lange  <mail@tim-lange.me>
15649         PR analyzer/106000
15650         * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
15652 2022-08-12  Andrew Pinski  <apinski@marvell.com>
15654         * config/aarch64/aarch64.md: Remove comment
15655         about MD_INCLUDES as it is out of date and not needed.
15657 2022-08-11  Richard Biener  <rguenther@suse.de>
15659         * gimple-range-path.cc (path_range_query::compute_imports):
15660         Restrict walking SSA defs to blocks inside the path.  Track
15661         the same operands as range_def_chain::get_def_chain does.
15663 2022-08-11  Richard Biener  <rguenther@suse.de>
15665         PR tree-optimization/106514
15666         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
15667         Compute and unwind both m_imports and interesting on the fly during
15668         path discovery.
15669         (back_threader::find_paths): Compute the original m_imports
15670         from just the SSA uses of the exit conditional.  Drop
15671         handling single_succ_to_potentially_threadable_block.
15672         * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
15673         constant PHI arguments without crashing.  Use PHI_ARG_DEF_FROM_EDGE.
15675 2022-08-11  Richard Biener  <rguenther@suse.de>
15677         * gimple-range-path.h (path_range_query::compute_imports):
15678         Take path as argument, not the exit block.
15679         * gimple-range-path.cc (path_range_query::compute_imports):
15680         Likewise, and adjust, avoiding possibly stale m_path.
15681         (path_range_query::compute_outgoing_relations): Register
15682         relations for all conditionals.
15683         * tree-ssa-threadbackward.cc (back_threader::find_paths):
15684         Adjust.
15686 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
15688         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
15689         oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
15690         (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
15692 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
15694         * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
15695         Remove function declaration.
15697 2022-08-10  Richard Biener  <rguenther@suse.de>
15699         PR tree-optimization/106513
15700         * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
15701         for head_marker.
15703 2022-08-10  Martin Liska  <mliska@suse.cz>
15705         PR lto/106328
15706         * opts-jobserver.h (struct jobserver_info): Add pipefd.
15707         (jobserver_info::connect): New.
15708         (jobserver_info::disconnect): Likewise.
15709         (jobserver_info::get_token): Likewise.
15710         (jobserver_info::return_token): Likewise.
15711         * opts-common.cc: Implement the new functions.
15713 2022-08-10  Martin Liska  <mliska@suse.cz>
15715         * opts-jobserver.h: Add one member.
15716         * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
15717         format of --jobserver-auth.
15719 2022-08-10  Martin Liska  <mliska@suse.cz>
15721         * gcc.cc (driver::detect_jobserver): Remove and move to
15722         jobserver.h.
15723         * lto-wrapper.cc (jobserver_active_p): Likewise.
15724         (run_gcc): Likewise.
15725         * opts-jobserver.h: New file.
15726         * opts-common.cc (jobserver_info::jobserver_info): New function.
15728 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
15730         * config/i386/i386-features.cc (scalar_chain::convert_compare):
15731         Create new pseudos only when/if needed.  Add support for TEST,
15732         i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
15733         When broadcasting V2DImode and V4SImode use new pseudo register.
15734         (timode_scalar_chain::convert_op): Do nothing if operand is
15735         already V1TImode.  Avoid generating useless SUBREG conversions,
15736         i.e. (SUBREG:V1TImode (REG:V1TImode) 0).  Handle CONST_WIDE_INT
15737         in addition to CONST_INT by using CONST_SCALAR_INT_P.
15738         (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
15739         CONST_WIDE_INT and CONST_INT.  Recognize new *testti_doubleword
15740         pattern as an STV candidate.
15741         (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
15742         operands in binary logic operations.
15743         * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
15744         for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
15745         as regular PTEST, i.e. cost->sse_op.
15746         * config/i386/i386.md (*testti_doubleword): New pre-reload
15747         define_insn_and_split that recognizes comparison of TI mode AND
15748         against zero.
15749         * config/i386/sse.md (*ptest<mode>_and): New pre-reload
15750         define_insn_and_split that recognizes UNSPEC_PTEST of identical
15751         AND operands.
15753 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
15754             Richard Biener  <rguenther@suse.de>
15756         PR middle-end/21137
15757         PR tree-optimization/98954
15758         * fold-const.cc (fold_binary_loc): Remove optimizations to
15759         optimize ((X >> C1) & C2) ==/!= 0.
15760         * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
15761         check, and handle all values of INTEGER_CSTs @2 and @3.
15762         (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
15763         checks, and handle all values of INTEGER_CSTs @2 and @3.
15765 2022-08-09  David Malcolm  <dmalcolm@redhat.com>
15767         * doc/invoke.texi (Static Analyzer Options): Add notes on which
15768         functions the analyzer has hardcoded knowledge of.
15770 2022-08-09  Andrew Stubbs  <ams@codesourcery.com>
15772         * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
15773         (num_arg_regs): Allow vector arguments.
15774         (gcn_function_arg): Likewise.
15775         (gcn_function_arg_advance): Likewise.
15776         (gcn_arg_partial_bytes): Likewise.
15777         (gcn_return_in_memory): Likewise.
15778         (gcn_expand_epilogue): Get return value from v8.
15779         * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
15780         (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
15781         (FIRST_VPARM_REG): New.
15782         (FUNCTION_ARG_REGNO_P): Allow vector parameters.
15783         (struct gcn_args): Add vnum field.
15784         (LIBCALL_VALUE): All vector return values.
15785         * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
15786         (gcn_call_value_indirect): Likewise.
15788 2022-08-09  Richard Biener  <rguenther@suse.de>
15790         * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
15791         directly.  Avoid update_ssa when in SSA form.
15792         (expand_omp_atomic_store): Likewise.
15793         (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
15794         form.
15795         (expand_omp_atomic_pipeline): Likewise.
15796         (expand_omp_atomic_mutex): Likewise.
15797         * tree-parloops.cc (gen_parallel_loop): Use
15798         TODO_update_ssa_no_phi after loop_version.
15800 2022-08-09  Richard Biener  <rguenther@suse.de>
15802         * doc/invoke.texi (max-fsm-thread-length): Remove.
15803         * params.opt (max-fsm-thread-length): Likewise.
15804         * tree-ssa-threadbackward.cc
15805         (back_threader_profitability::profitable_path_p): Do not
15806         check max-fsm-thread-length.
15808 2022-08-09  Richard Biener  <rguenther@suse.de>
15810         PR tree-optimization/106514
15811         * params.opt (max-jump-thread-paths): New.
15812         * doc/invoke.texi (max-jump-thread-paths): Document.
15813         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
15814         Honor max-jump-thread-paths, take overall_path argument.
15815         (back_threader::find_paths): Pass 1 as initial overall_path.
15817 2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
15819         PR middle-end/106492
15820         * omp-low.cc (lower_rec_input_clauses): Add missing folding
15821         to data type of linear-clause list item.
15823 2022-08-08  Andrew MacLeod  <amacleod@redhat.com>
15825         PR tree-optimization/106556
15826         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
15827         type of the cond_expr operands being evaluted.
15829 2022-08-08  Tom Honermann  <tom@honermann.net>
15831         * ginclude/stdatomic.h (atomic_char8_t,
15832         ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
15834 2022-08-08  Andrew Pinski  <apinski@marvell.com>
15836         PR middle-end/103645
15837         * gimplify.cc (gimplify_init_constructor): Don't build/add
15838         gimple assignment of an empty type.
15840 2022-08-08  Richard Biener  <rguenther@suse.de>
15842         PR lto/106540
15843         PR lto/106334
15844         * dwarf2out.cc (dwarf2out_register_external_die): Restore
15845         original assert.
15846         * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
15847         to input DECL_INITIAL, avoiding to commit drefs.
15849 2022-08-07  Roger Sayle  <roger@nextmovesoftware.com>
15851         * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
15852         for x86_64_hilo_general_operand to general operand.  Call
15853         force_reg on parts that are not x86_64_immediate_operand.
15855 2022-08-05  David Malcolm  <dmalcolm@redhat.com>
15857         PR analyzer/105947
15858         * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
15860 2022-08-05  Roger Sayle  <roger@nextmovesoftware.com>
15862         * expmed.cc (emit_store_flag_1): Move code to expand double word
15863         equality and inequality against zero or -1, using word operations,
15864         to after trying to use the backend's cstore<mode>4 optab/expander.
15866 2022-08-05  Tamar Christina  <tamar.christina@arm.com>
15868         PR middle-end/106534
15869         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
15870         value_replacement and store_elim from diamonds.
15872 2022-08-05  Richard Biener  <rguenther@suse.de>
15874         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
15875         Check whether the registry register_path rejected the path.
15876         (back_threader_registry::register_path): Return whether
15877         register_jump_thread succeeded.
15879 2022-08-05  Aldy Hernandez  <aldyh@redhat.com>
15881         PR tree-optimization/106514
15882         * value-range.cc (unsupported_range::unsupported_range): Move...
15883         * value-range.h (unsupported_range::unsupported_range): ...here.
15884         (unsupported_range::set_undefined): New.
15886 2022-08-05  Richard Biener  <rguenther@suse.de>
15888         PR tree-optimization/106533
15889         * tree-loop-distribution.cc (loop_distribution::execute): Continue
15890         analyzing the inner loops when find_seed_stmts_for_distribution
15891         fails.
15893 2022-08-05  Andrew Pinski  <apinski@marvell.com>
15895         * config/riscv/predicates.md (splittable_const_int_operand):
15896         Remove the check for TARGET_64BIT for single bit const values.
15898 2022-08-04  Andrew MacLeod  <amacleod@redhat.com>
15900         PR tree-optimization/106514
15901         * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
15902         Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
15904 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
15906         * match.pd: New bit_not rule.
15908 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
15910         PR middle-end/106519
15911         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
15912         diamond shapes.
15914 2022-08-04  Sam Feifer  <sfeifer@redhat.com>
15916         PR tree-optimization/106243
15917         * match.pd (-x & 1): New simplification.
15919 2022-08-04  Richard Biener  <rguenther@suse.de>
15921         PR tree-optimization/106521
15922         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
15923         CFG cleanup manually before rewriting into LC SSA.
15925 2022-08-04  Richard Biener  <rguenther@suse.de>
15927         * tree-ssa-threadbackward.cc (populate_worklist): Remove.
15928         (back_threader::resolve_phi): Likewise.
15929         (back_threader::find_paths_to_names): Rewrite greedy search.
15931 2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
15933         * config/s390/vector.md (V_HW_FT): New iterator.
15934         * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
15935         of V_HW.
15937 2022-08-03   Michael Meissner  <meissner@linux.ibm.com>
15939         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
15940         setting -mblock-ops-vector-pair.
15942 2022-08-03  Andrew MacLeod  <amacleod@redhat.com>
15944         PR tree-optimization/106514
15945         * value-relation.cc (path_oracle::killing_def) Do not walk the
15946         equivalence set clearing bits.
15948 2022-08-03  Tamar Christina  <tamar.christina@arm.com>
15950         * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
15951         sequence of a three-way conditional.
15952         (replace_phi_edge_with_variable): Support diamonds.
15953         (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
15954         min/max.
15955         (strip_bit_not, invert_minmax_code): New.
15957 2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
15959         PR rtl-optimization/106187
15960         * alias.h (mems_same_for_tbaa_p): Declare.
15961         * alias.cc (mems_same_for_tbaa_p): New function.
15962         * dse.cc (record_store): Use it instead of open-coding
15963         alias check.
15964         * cselib.h (cselib_redundant_set_p): Declare.
15965         * cselib.cc: Include alias.h
15966         (cselib_redundant_set_p): New function.
15967         * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
15968         of rtx_equal_for_cselib_p.
15969         * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
15970         (reload_cse_noop_set_p): Delete.
15972 2022-08-03  Martin Liska  <mliska@suse.cz>
15974         * doc/gcov-dump.texi: Document the new option.
15975         * gcov-dump.cc (main): Parse the new option.
15976         (print_usage): Show the option.
15977         (tag_counters): Sort key:value pairs of TOP N counter.
15979 2022-08-03  Martin Liska  <mliska@suse.cz>
15981         * profile.cc (compute_branch_probabilities): Do not collect
15982         stats unless TDF_DETAILS.
15984 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15985             Uroš Bizjak  <ubizjak@gmail.com>
15987         PR target/47949
15988         * config/i386/i386.md (peephole2): New peephole2 to convert
15989         SWI48 moves to/from %rax/%eax where the src is dead to xchg,
15990         when optimizing for minimal size with -Oz.
15992 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15994         * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
15995         to split comparisons against -1 using AND and CMP -1 instructions.
15997 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
15999         * config/i386/i386-features.cc (compute_convert_gain): Add gain
16000         for converting suitable TImode shift to a V1TImode shift.
16001         (timode_scalar_chain::convert_insn): Add support for converting
16002         suitable ASHIFT and LSHIFTRT.
16003         (timode_scalar_to_vector_candidate_p): Consider logical shifts
16004         by integer constants that are multiples of 8 to be candidates.
16006 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
16007             Segher Boessenkool  <segher@kernel.crashing.org>
16008             Richard Sandiford  <richard.sandiford@arm.com>
16010         * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
16011         optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
16012         that are all positive to complement the existing FFS and
16013         idempotent ABS simplifications.
16014         <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
16015         val_signbit_known_clear_p is true of the operand.
16016         Simplify sign extensions of SUBREG truncations of operands
16017         that are already suitably (zero) extended.
16018         <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
16019         of operands that are already suitably zero extended.
16021 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
16023         PR tree-optimization/106510
16024         * gimple-range-fold.cc (fur_source::register_outgoing_edges):
16025         Check for unsupported statements early.
16027 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
16029         PR tree-optimization/106474
16030         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
16031         range of equivalences that may contribute to the range.
16033 2022-08-02  Jose E. Marchesi  <jose.marchesi@oracle.com>
16035         * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
16036         encoding bit in BTF.
16038 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
16040         * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
16041         irange check.
16042         (tree_lower_bound): New.
16043         (tree_upper_bound): New.
16044         (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
16045         vrange.
16046         * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
16047         argument to vrange.
16049 2022-08-02  Richard Biener  <rguenther@suse.de>
16051         * tree-ssa-threadbackward.cc
16052         (back_threader_profitability::profitable_path_p): Apply
16053         size constraints to all paths again.
16055 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
16057         * range-op-float.cc (finite_operands_p): New.
16058         (frelop_early_resolve): New.
16059         (default_frelop_fold_range): New.
16060         (class foperator_equal): New.
16061         (class foperator_not_equal): New.
16062         (class foperator_lt): New.
16063         (class foperator_le): New.
16064         (class foperator_gt): New.
16065         (class foperator_ge): New.
16066         (class foperator_unordered): New.
16067         (class foperator_ordered): New.
16068         (class foperator_relop_unknown): New.
16069         (floating_op_table::floating_op_table): Add above classes to
16070         floating op table.
16071         * value-range.h (frange::supports_p): Enable.
16073 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
16075         * tree-core.h (struct tree_ssa_name): Add frange_info and
16076         reshuffle the rest.
16077         * value-range-storage.cc (vrange_storage::alloc_slot): Add case
16078         for frange.
16079         (vrange_storage::set_vrange): Same.
16080         (vrange_storage::get_vrange): Same.
16081         (vrange_storage::fits_p): Same.
16082         (frange_storage_slot::alloc_slot): New.
16083         (frange_storage_slot::set_frange): New.
16084         (frange_storage_slot::get_frange): New.
16085         (frange_storage_slot::fits_p): New.
16086         * value-range-storage.h (class frange_storage_slot): New.
16088 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
16090         * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
16091         query to integrals.
16093 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
16095         * value-range.cc (frange::set): Initialize m_props and cleanup.
16097 2022-08-02  Richard Biener  <rguenther@suse.de>
16099         PR tree-optimization/106497
16100         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
16101         Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
16103 2022-08-02  Martin Liska  <mliska@suse.cz>
16105         * profile.cc (compute_branch_probabilities): Dump details only
16106         if TDF_DETAILS.
16107         * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
16108         TDF_ADDRESS is used, it makes comparison harder.
16110 2022-08-02  Richard Biener  <rguenther@suse.de>
16112         PR tree-optimization/106498
16113         * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
16114         SSA update here.
16115         (expand_omp_for): Or here.
16116         (execute_expand_omp): Instead schedule it here together
16117         with CFG cleanup via TODO.
16119 2022-08-02  Richard Biener  <rguenther@suse.de>
16121         PR lto/106334
16122         * dwarf2out.cc (dwarf2out_register_external_die): Adjust
16123         assert.
16125 2022-08-02  Richard Biener  <rguenther@suse.de>
16127         PR tree-optimization/106495
16128         * tree-ssa-threadbackward.cc
16129         (back_threader_profitability::profitable_path_p): If known_edge
16130         is probably never executed avoid threading.
16132 2022-08-01  David Malcolm  <dmalcolm@redhat.com>
16134         * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
16135         error.
16137 2022-08-01  Roger Sayle  <roger@nextmovesoftware.com>
16138             Uroš Bizjak  <ubizjak@gmail.com>
16140         PR target/106481
16141         * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
16142         Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
16143         CONST_VECTOR.
16145 2022-08-01  H.J. Lu  <hjl.tools@gmail.com>
16147         PR target/83782
16148         * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
16149         (TARGET_IFUNC_REF_LOCAL_OK): Use it.
16151 2022-08-01  Jose E. Marchesi  <jose.marchesi@oracle.com>
16153         PR debug/106263
16154         * ctfc.h (struct ctf_dtdef): Add field linkage.
16155         * ctfc.cc (ctf_add_function): Set ctti_linkage.
16156         * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
16157         function types and subprograms.
16158         * btfout.cc (btf_asm_func_type): Emit linkage information for the
16159         function.
16160         (btf_dtd_emit_preprocess_cb): Propagate the linkage information
16161         for functions.
16163 2022-08-01  Andrew Stubbs  <ams@codesourcery.com>
16164             Jakub Jelinek   <jakub@redhat.com>
16166         * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
16167         the mask type.
16169 2022-08-01  Sam Feifer  <sfeifer@redhat.com>
16171         PR tree-optimization/104992
16172         * match.pd (x / y * y == x): New simplification.
16174 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
16176         * value-range.cc (tree_compare): New.
16177         (frange::set): Make more general.
16178         (frange::normalize_kind): Cleanup and return bool.
16179         (frange::union_): Use normalize_kind return value.
16180         (frange::intersect): Same.
16181         (frange::verify_range): Remove unnecessary else.
16182         * value-range.h (vrp_val_max): Move before frange class.
16183         (vrp_val_min): Same.
16184         (frange::frange): Remove set to m_type.
16186 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
16188         * value-range.cc (vrange::supports_type_p): Use const_tree.
16189         (irange::supports_type_p): Same.
16190         (frange::supports_type_p): Same.
16191         * value-range.h (Value_Range::supports_type_p): Same.
16192         (irange::supports_p): Same.
16194 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
16196         * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
16197         query SCEV for integers.
16198         (fold_using_range::range_of_ssa_name_with_loop_info): Remove
16199         irange check.
16201 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
16203         * config/i386/i386.md (define_expand <any_rotate>ti3): For
16204         rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
16205         (rot[lr]64ti2_doubleword): New post-reload splitter.
16207 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
16208             H.J. Lu  <hjl.tools@gmail.com>
16210         PR target/106450
16211         * config/i386/i386-features.cc (timode_check_non_convertible_regs):
16212         Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
16213         (timode_remove_non_convertible_regs): Update comment.
16214         Call timode_check_non_convertible_reg on all TImode register
16215         DEFs and USEs in each instruction.
16217 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16219         * config/xtensa/xtensa.md: Change hard register number used in
16220         the split patterns for indirect sibling call fixups from 10 to 11,
16221         the last free one for the CALL0 ABI.
16223 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16225         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
16226         Add new case for IF_THEN_ELSE.
16228 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
16230         * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
16231         (<expander><mode>3<exec>): Use V_INT_noHI.
16232         (v<expander><mode>3<exec>): Likewise.
16234 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
16236         * config/gcn/gcn.md (one_cmpldi2): New.
16238 2022-07-29  Richard Biener  <rguenther@suse.de>
16240         PR tree-optimization/105679
16241         * tree-ssa-threadbackward.cc
16242         (back_threader_profitability::profitable_path_p): Avoid threading
16243         when the entry edge is probably never executed.
16245 2022-07-29  Richard Biener  <rguenther@suse.de>
16247         PR tree-optimization/106422
16248         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
16249         Check whether we can copy thread blocks and cancel the thread if not.
16251 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
16253         PR middle-end/106449
16254         * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
16255         iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
16256         or n2 before regimplifying it inside of a condition.
16258 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
16260         * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
16261         extract_omp_for_update_vars, expand_omp_for_ordered_loops,
16262         expand_omp_simd): Don't fold_convert second argument to
16263         fold_build_pointer_plus to sizetype.
16265 2022-07-29  Lulu Cheng  <chenglulu@loongson.cn>
16267         * config.in: Regenerate.
16268         * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
16269         Select the value of the macro definition according to whether
16270         HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
16271         * configure: Regenerate.
16272         * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
16274 2022-07-29  Richard Biener  <rguenther@suse.de>
16276         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
16277         Use CONVERT_EXPR_CODE_P.
16279 2022-07-29  Richard Biener  <rguenther@suse.de>
16281         * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
16282         get_vectype_for_scalar_type instead of
16283         vect_get_vector_types_for_stmt.
16285 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
16287         PR analyzer/105893
16288         * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
16290 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
16292         * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
16293         url.
16294         (Static Analyzer Options): Likewise.  Add urefs for all of the
16295         warnings that have associated CWE identifiers.
16297 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
16299         * doc/implement-c.texi (Floating point implementation): Mention
16300         `-fno-trapping-math' in the context of FENV_ACCESS pragma.
16301         * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
16302         implication in the descriptions of `-fno-trapping-math' and
16303         `-frounding-math'.
16305 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
16307         * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
16308         (QUIET_PATTERN): New int attribute.
16309         (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
16310         RTL insns entirely within the preparation statements.
16311         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
16312         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
16313         insns.
16314         (*riscv_fsnvsnan<mode>2): New insn.
16316 2022-07-28  Richard Biener  <rguenther@suse.de>
16318         PR middle-end/106457
16319         * tree.cc (array_at_struct_end_p): Handle array objects
16320         specially.
16322 2022-07-28  Jakub Jelinek  <jakub@redhat.com>
16324         PR tree-optimization/106099
16325         * internal-fn.def (TRAP): New internal fn.
16326         * internal-fn.h (expand_TRAP): Declare.
16327         * internal-fn.cc (expand_TRAP): Define.
16328         * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
16329         use internal fn rather than builtin.
16331 2022-07-27  Andrew Carlotti  <andrew.carlotti@arm.com>
16333         * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
16335 2022-07-27  WANG Xuerui  <i@xen0n.name>
16337         * doc/invoke.texi: Document -m[no-]explicit-relocs for
16338         LoongArch.
16340 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
16342         * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
16343         duplicate backslashes.
16345 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
16347         * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
16348         case.
16350 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
16352         PR debug/106261
16353         * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
16354         output asm thunks for -dx.
16356 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
16358         PR middle-end/106332
16359         * opts-common.cc (candidates_list_and_hint): Add gcc_assert
16360         that candidates is not an empty vector.
16362 2022-07-27  Xi Ruoyao  <xry111@xry111.site>
16364         * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
16365         assembler supports explicit relocation for LoongArch.
16366         * configure: Regenerate.
16367         * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
16368         Define to 0 if not defined.
16369         * config/loongarch/genopts/loongarch.opt.in
16370         (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
16371         * config/loongarch/loongarch.opt: Regenerate.
16373 2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
16375         PR c/106016
16376         * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
16378 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
16380         * config/loongarch/loongarch-opts.cc: Modify the output message string
16381         of the warning.
16383 2022-07-26  Martin Liska  <mliska@suse.cz>
16385         * doc/tm.texi.in: Fix placement of defmac.
16386         * doc/tm.texi: Copy.
16388 2022-07-26  Martin Liska  <mliska@suse.cz>
16390         * doc/tm.texi.in: Fix cross @defmac and @hook.
16391         * doc/tm.texi: Copy.
16393 2022-07-26  Aldy Hernandez  <aldyh@redhat.com>
16395         PR tree-optimization/106444
16396         * value-range-pretty-print.cc (vrange_printer::visit): Handle
16397         legacy ranges.
16398         (vrange_printer::print_irange_bound): Work on wide_int's.
16399         * value-range-pretty-print.h (print_irange_bound): Same.
16400         * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
16402 2022-07-26  Richard Biener  <rguenther@suse.de>
16404         * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
16405         points to a constant continue checking ptr2.
16407 2022-07-26  Andrew Carlotti  <Andrew.Carlotti@arm.com>
16409         * config/aarch64/aarch64-builtins.cc
16410         (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
16411         (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
16412         (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
16413         (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
16414         (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
16415         (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
16416         (MODE_q_p128): Define macro to map to corresponding mode name.
16417         (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
16418         (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
16419         (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
16420         corresponding qualifier name.
16421         (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
16422         (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
16423         functions for the above mappings
16424         (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
16425         (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
16426         (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
16427         (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
16428         for all vreinterpret intrinsics
16429         (enum aarch64_builtins): Add vreinterpret function codes
16430         (aarch64_init_simd_intrinsics): New
16431         (handle_arm_neon_h): Improved comment.
16432         (aarch64_general_fold_builtin): Fold vreinterpret calls
16433         * config/aarch64/arm_neon.h
16434         (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
16435         (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
16436         (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
16437         (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
16438         (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
16439         (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
16440         (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
16441         (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
16442         (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
16443         (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
16444         (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
16445         (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
16446         (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
16447         (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
16448         (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
16449         (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
16450         (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
16451         (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
16452         (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
16453         (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
16454         (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
16455         (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
16456         (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
16457         (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
16458         (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
16459         (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
16460         (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
16461         (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
16462         (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
16463         (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
16464         (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
16465         (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
16466         (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
16467         (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
16468         (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
16469         (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
16470         (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
16471         (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
16472         (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
16473         (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
16474         (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
16475         (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
16476         (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
16477         (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
16478         (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
16479         (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
16480         (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
16481         (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
16482         (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
16483         (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
16484         (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
16485         (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
16486         (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
16487         (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
16488         (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
16489         (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
16490         (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
16491         (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
16492         (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
16493         (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
16494         (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
16495         (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
16496         (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
16497         (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
16498         (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
16499         (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
16500         (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
16501         (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
16502         (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
16503         (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
16504         (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
16505         (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
16506         (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
16507         (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
16508         (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
16509         (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
16510         (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
16511         (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
16512         (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
16513         (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
16514         (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
16515         (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
16516         (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
16517         (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
16518         (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
16519         (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
16520         (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
16521         (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
16522         (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
16523         (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
16524         (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
16525         (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
16526         (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
16527         (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
16528         (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
16529         (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
16530         (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
16531         (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
16532         (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
16533         (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
16534         (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
16535         (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
16536         (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
16537         (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
16538         (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
16539         (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
16540         (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
16541         (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
16542         (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
16543         (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
16544         (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
16545         (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
16546         (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
16547         (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
16548         (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
16549         (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
16550         (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
16551         (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
16552         (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
16553         (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
16554         (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
16555         (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
16556         (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
16557         (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
16558         (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
16559         (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
16560         (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
16561         (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
16562         (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
16563         (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
16564         (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
16565         (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
16566         (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
16567         (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
16568         (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
16569         (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
16570         (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
16571         (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
16572         (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
16573         (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
16574         (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
16575         (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
16576         (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
16577         (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
16578         (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
16579         (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
16580         (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
16581         (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
16582         (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
16583         (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
16584         (vreinterpretq_p128_bf16): Delete
16586 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
16588         * config/aarch64/aarch64-builtins.cc
16589         (aarch64_simd_builtin_std_type): Rename to...
16590         (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
16591         (aarch64_lookup_simd_builtin_type): Rename to...
16592         (aarch64_simd_builtin_type): ...this. Add const/pointer
16593         support, and extract table lookup to...
16594         (aarch64_lookup_simd_type_in_table): ...this function.
16595         (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
16596         (aarch64_init_fcmla_laneq_builtins): Ditto.
16597         (aarch64_init_simd_builtin_functions): Ditto.
16599 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
16601         * config/aarch64/aarch64-builtins.cc
16602         (aarch64_general_gimple_fold_builtin): Add combine.
16604 2022-07-26  Richard Biener  <rguenther@suse.de>
16606         PR tree-optimization/106189
16607         * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
16608         Divide using offset_ints.
16610 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
16612         * common/config/loongarch/loongarch-common.cc:
16613         Enable '-fsection-anchors' when O1 and more advanced optimization.
16614         * config/loongarch/genopts/loongarch.opt.in: Add new option
16615         '-mexplicit-relocs', and enable by default.
16616         * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
16617         Delete function declaration.
16618         (loongarch_split_move_insn): Delete function declaration.
16619         (loongarch_split_symbol_type): Add function declaration.
16620         * config/loongarch/loongarch.cc (enum loongarch_address_type):
16621         Add new address type 'ADDRESS_LO_SUM'.
16622         (loongarch_classify_symbolic_expression): New function definitions.
16623         Classify the base of symbolic expression X, given that X appears in
16624         context CONTEXT.
16625         (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
16626         (loongarch_split_symbol_type): New function definitions.
16627         Determines whether the symbol load should be split into two instructions.
16628         (loongarch_valid_lo_sum_p): New function definitions.
16629         Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
16630         symbol has type SYMBOL_TYPE.
16631         (loongarch_classify_address): Add handling of 'LO_SUM'.
16632         (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
16633         (loongarch_signed_immediate_p): Sort code.
16634         (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
16635         (loongarch_const_insns): Add handling of 'HIGH'.
16636         (loongarch_split_move_insn_p): Add the static attribute to the function.
16637         (loongarch_emit_set): New function definitions.
16638         (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
16639         (loongarch_legitimize_tls_address): Add symbol handling when defining the
16640         TARGET_EXPLICIT_RELOCS macro.
16641         (loongarch_split_symbol): New function definitions. Split symbol.
16642         (loongarch_legitimize_address): Add codes see if the address can split into a high part
16643         and a LO_SUM.
16644         (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
16645         high and low.
16646         (loongarch_split_move_insn): Delete function definitions.
16647         (loongarch_output_move): Add support for HIGH and LO_SUM.
16648         (loongarch_print_operand_reloc): New function definitions.
16649         Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
16650         (loongarch_memmodel_needs_release_fence): Sort code.
16651         (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
16652         and LOW output.
16653         (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
16654         (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
16655         (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
16656         * config/loongarch/loongarch.md (movti): Delete the template.
16657         (*movti): Delete the template.
16658         (movtf): Delete the template.
16659         (*movtf): Delete the template.
16660         (*low<mode>): New template of normal symbol low address.
16661         (@tls_low<mode>): New template of tls symbol low address.
16662         (@ld_from_got<mode>): New template load address from got table.
16663         (@ori_l_lo12<mode>): New template.
16664         * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
16665         * config/loongarch/predicates.md: Add support for symbol_type HIGH.
16667 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
16669         * config/loongarch/constraints.md (a): Delete the constraint.
16670         (b): A constant call not local address.
16671         (h): Delete the constraint.
16672         (t): Delete the constraint.
16673         * config/loongarch/loongarch-opts.cc (loongarch_config_target):
16674         Remove cModel type support other than normal.
16675         * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
16676         Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
16677         (loongarch_split_symbol): Delete useless function declarations.
16678         (loongarch_split_symbol_type): Delete useless function declarations.
16679         * config/loongarch/loongarch.cc (enum loongarch_address_type):
16680         Delete unnecessary comment information.
16681         (loongarch_symbol_binds_local_p): Modified the judgment order of label
16682         and symbol.
16683         (loongarch_classify_symbol): Return symbol type. If symbol is a label,
16684         or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
16685         return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
16686         (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
16687         'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
16688         (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
16689         and 'SYMBOL_PCREL'.
16690         (loongarch_address_insns): Sort code.
16691         (loongarch_12bit_offset_address_p): Sort code.
16692         (loongarch_14bit_shifted_offset_address_p): Sort code.
16693         (loongarch_call_tls_get_addr): Sort code.
16694         (loongarch_legitimize_tls_address): Sort code.
16695         (loongarch_output_move): Remove schema support for cmodel other than normal.
16696         (loongarch_memmodel_needs_release_fence): Sort code.
16697         (loongarch_print_operand): Sort code.
16698         * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
16699         Rename to LARCH_12BIT_OFFSET_P.
16700         (LARCH_12BIT_OFFSET_P): New macro.
16701         * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
16702         support for cmodel other than normal.
16703         * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
16704         (is_const_call_plt_symbol): Delete this predicate.
16705         (is_const_call_global_noplt_symbol): Delete this predicate.
16706         (is_const_call_no_local_symbol): New predicate, determines whether it is a local
16707         symbol or label.
16709 2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
16711         PR target/106091
16712         * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
16713         REG_EH_REGION when replacing one store insn having it.
16714         (replace_swapped_aligned_load): Likewise.
16716 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
16718         * Makefile.in (OBJS): Add range-op-float.o.
16719         * range-op.cc (get_float_handler): New.
16720         (range_op_handler::range_op_handler): Save code and type for
16721         delayed querying.
16722         (range_op_handler::oeprator bool): Move from header file, and
16723         add support for floats.
16724         (range_op_handler::fold_range): Add support for floats.
16725         (range_op_handler::op1_range): Same.
16726         (range_op_handler::op2_range): Same.
16727         (range_op_handler::lhs_op1_relation): Same.
16728         (range_op_handler::lhs_op2_relation): Same.
16729         (range_op_handler::op1_op2_relation): Same.
16730         * range-op.h (class range_operator_float): New.
16731         (class floating_op_table): New.
16732         * value-query.cc (range_query::get_tree_range): Add case for
16733         REAL_CST.
16734         * range-op-float.cc: New file.
16736 2022-07-25  Roger Sayle  <roger@nextmovesoftware.com>
16737             Uroš Bizjak  <ubizjak@gmail.com>
16739         PR target/91681
16740         * config/i386/i386-expand.cc (split_double_concat): A new helper
16741         function for setting a double word value from two word values.
16742         * config/i386/i386-protos.h (split_double_concat): Prototype here.
16743         * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
16744         (*add<dwi>3_doubleword_zext): New define_insn_and_split.
16745         (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
16746         (*concat<mode><dwi>3_1): New define_insn_and_split replacing
16747         previous define_split for implementing DST = (HI<<32)|LO as
16748         pair of move instructions, setting lopart and hipart.
16749         (*concat<mode><dwi>3_2): Likewise.
16750         (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
16751         (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
16753 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
16755         PR middle-end/106432
16756         * gimple-range.cc (gimple_ranger::range_on_edge): Return false
16757         when the result range type is unsupported.
16759 2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
16761         * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
16763 2022-07-25  Richard Biener  <rguenther@suse.de>
16765         PR middle-end/106414
16766         * match.pd (~(x ^ y) -> x == y): Restrict to single bit
16767         precision types.
16769 2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
16771         * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
16772         (@aarch64_rbit<mode>): ... to this and change it in...
16773         (ffs<mode>2,ctz<mode>2): ... here.
16774         (@aarch64_rev16<mode>): New.
16775         * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
16776         Define the following enum AARCH64_REV16, AARCH64_REV16L,
16777         AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
16778         (aarch64_init_data_intrinsics): New.
16779         (aarch64_general_init_builtins): Add call to
16780         aarch64_init_data_intrinsics.
16781         (aarch64_expand_builtin_data_intrinsic): New.
16782         (aarch64_general_expand_builtin): Add call to
16783         aarch64_expand_builtin_data_intrinsic.
16784         * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
16785         __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
16786         __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
16788 2022-07-25  Martin Liska  <mliska@suse.cz>
16790         * doc/extend.texi: Remove trailing whitespaces.
16791         * doc/invoke.texi: Likewise.
16793 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
16795         * value-range-pretty-print.cc (vrange_printer::visit): New.
16796         (vrange_printer::print_frange_prop): New.
16797         * value-range-pretty-print.h (class vrange_printer): Add visit and
16798         print_frange_prop.
16799         * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
16800         (vrange_allocator::alloc_frange): New.
16801         * value-range.cc (vrange::operator=): Handle frange.
16802         (vrange::operator==): Same.
16803         (frange::accept): New.
16804         (frange::set): New.
16805         (frange::normalize_kind): New.
16806         (frange::union_): New.
16807         (frange::intersect): New.
16808         (frange::operator=): New.
16809         (frange::operator==): New.
16810         (frange::supports_type_p): New.
16811         (frange::verify_range): New.
16812         * value-range.h (enum value_range_discriminator): Handle frange.
16813         (class fp_prop): New.
16814         (FP_PROP_ACCESSOR): New.
16815         (class frange_props): New.
16816         (FRANGE_PROP_ACCESSOR): New.
16817         (class frange): New.
16818         (Value_Range::init): Handle frange.
16819         (Value_Range::operator=): Same.
16820         (Value_Range::supports_type_p): Same.
16821         (frange_props::operator==): New.
16822         (frange_props::union_): New.
16823         (frange_props::intersect): New
16824         (frange::frange): New.
16825         (frange::type): New.
16826         (frange::set_varying): New.
16827         (frange::set_undefined): New.
16829 2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
16830             Kewen Lin  <linkw@linux.ibm.com>
16832         PR testsuite/106345
16833         * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
16834         to filter out all -mtune options.
16836 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
16838         * value-query.cc (range_query::get_value_range): Add assert.
16839         * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
16840         on unsupported types in vr_values.
16841         (simplify_using_ranges::simplify): Same.
16843 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
16845         * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
16846         types.
16847         * value-query.cc (get_ssa_name_range_info): Remove precision check.
16849 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
16851         * value-relation.cc (value_relation::set_relation): Remove assert.
16852         (path_oracle::register_relation): Exit when trying to register
16853         same SSA name relations.
16855 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
16857         * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
16858         (ranger_cache::range_from_dom): Same.
16859         * tree-ssa-dom.cc
16860         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
16862 2022-07-24  Roger Sayle  <roger@nextmovesoftware.com>
16863             H.J. Lu  <hjl.tools@gmail.com>
16865         PR target/106303
16866         PR target/106347
16867         * config/i386/i386-features.cc (make_vector_copies): Move from
16868         general_scalar_chain to scalar_chain.
16869         (convert_reg): Likewise.
16870         (convert_insn_common): New scalar_chain method split out from
16871         general_scalar_chain convert_insn.
16872         (convert_registers): Move from general_scalar_chain to
16873         scalar_chain.
16874         (scalar_chain::convert): Call convert_insn_common before calling
16875         convert_insn.
16876         (timode_remove_non_convertible_regs): Iterate until there are
16877         no further changes to the candidates.
16878         * config/i386/i386-features.h (scalar_chain::hash_map): Move
16879         from general_scalar_chain.
16880         (scalar_chain::convert_reg): Likewise.
16881         (scalar_chain::convert_insn_common): New shared method.
16882         (scalar_chain::make_vector_copies): Move from general_scalar_chain.
16883         (scalar_chain::convert_registers): Likewise.  No longer virtual.
16884         (general_scalar_chain::hash_map): Delete.  Moved to scalar_chain.
16885         (general_scalar_chain::convert_reg): Likewise.
16886         (general_scalar_chain::make_vector_copies): Likewise.
16887         (general_scalar_chain::convert_registers): Delete virtual method.
16888         (timode_scalar_chain::convert_registers): Likewise.
16890 2022-07-23  Immad Mir  <mirimmad@outlook.com>
16892         * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
16893         "Common Function Attributes" section.
16894         * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
16895         -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
16896         warnings may be emitted through usage of three function attributes used
16897         for static analysis of file descriptors namely fd_arg, fd_arg_read and
16898         fd_arg_write.
16900 2022-07-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16902         * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
16903         Add a new insn_and_split pattern, and a few split patterns for
16904         spacial cases.
16906 2022-07-22  Richard Sandiford  <richard.sandiford@arm.com>
16908         * graphds.cc (graphds_scc): Fix algorithm attribution.
16910 2022-07-22  Richard Biener  <rguenther@suse.de>
16912         PR tree-optimization/106403
16913         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
16914         value valueization after check for IFN_MASKED_STORE or
16915         IFN_LEN_STORE.
16917 2022-07-22  Richard Biener  <rguenther@suse.de>
16919         PR tree-optimization/106397
16920         * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
16921         not update SSA form here.
16922         (mark_nontemporal_stores): Return whether we marked any
16923         non-temporal stores and inserted mfence.
16924         (loop_prefetch_arrays): Note when we need to update SSA.
16925         (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
16926         at the end of the pass.
16928 2022-07-22  Richard Biener  <rguenther@suse.de>
16930         PR tree-optimization/106387
16931         * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
16932         if ptr is not an SSA name.
16934 2022-07-22  liuhongt  <hongtao.liu@intel.com>
16936         PR target/106038
16937         * config/i386/mmx.md (<code><mode>3): New define_expand, it's
16938         original "<code><mode>3".
16939         (*<code><mode>3): New define_insn, it's original
16940         "<code><mode>3" be extended to handle memory and immediate
16941         operand with ix86_binary_operator_ok. Also adjust define_split
16942         after it.
16943         (mmxinsnmode): New mode attribute.
16944         (*mov<mode>_imm): Refactor with mmxinsnmode.
16945         * config/i386/predicates.md
16946         (register_or_x86_64_const_vector_operand): New predicate.
16948 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
16950         * config/rs6000/altivec.md:
16951         (vstrir_code_<mode>): Rename to...
16952         (vstrir_direct_<mode>): ... this.
16953         (vstrir_p_code_<mode>): Rename to...
16954         (vstrir_p_direct_<mode>): ... this.
16955         (vstril_code_<mode>): Rename to...
16956         (vstril_direct_<mode>): ... this.
16957         (vstril_p_code_<mode>): Rename to...
16958         (vstril_p_direct_<mode>): ... this.
16960 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
16962         * config/rs6000/rs6000-c.cc: Update comments.
16963         (rs6000_target_modify_macros): Remove bu_mask references.
16964         (rs6000_define_or_undefine_macro): Replace bu_mask reference
16965         with a rs6000_cpu value check.
16966         (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
16967         parameter from call to rs6000_target_modify_macros.
16968         * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
16969         rs6000_target_modify_macros_ptr): Remove parameter from extern
16970         for the prototype.
16971         * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
16972         parameter from prototype, update calls to this function.
16973         (rs6000_print_builtin_options): Remove prototype, call and function.
16974         (rs6000_builtin_mask_calculate): Remove function.
16975         (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
16976         (rs6000_option_override_internal): Remove rs6000_builtin_mask var
16977         and builtin_mask debug output.
16978         (rs6000_builtin_mask_names): Remove.
16979         (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
16980         diff_bumask references; Update calls to rs6000_target_modify_ptr.
16981         * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
16983 2022-07-21  Sam Feifer  <sfeifer@redhat.com>
16985         PR tree-optimization/94920
16986         * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
16987         (x <= 0 ? -x : 0): New simplification.
16989 2022-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16991         Revert:
16992         2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
16994         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
16995         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
16997 2022-07-21  Richard Biener  <rguenther@suse.de>
16999         PR tree-optimization/106379
17000         * match.pd (~(a ^ b) -> a == b): New pattern.
17002 2022-07-21  Richard Biener  <rguenther@suse.de>
17004         PR tree-optimization/106378
17005         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
17006         LEN_STORE, add mode to initialize a may-def and handle
17007         MASK_STORE that way.
17008         (dse_optimize_stmt): Query may-defs.  Handle internal
17009         functions LEN_STORE and MASK_STORE similar to how
17010         we handle memory builtins but without byte tracking.
17012 2022-07-21  Richard Biener  <rguenther@suse.de>
17014         PR tree-optimization/106365
17015         * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
17016         the offset to start encoding of RHS from.
17017         (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
17018         (vn_walk_cb_data::push_partial_def): Allow the first partial
17019         definition to be fully providing the def.  Offset RHS
17020         before encoding if requested.
17021         (vn_reference_lookup_3): Initialize def_rhs everywhere.
17022         Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
17024 2022-07-21  Richard Biener  <rguenther@suse.de>
17026         * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
17027         store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
17028         and IFN_MASK_LOAD_LANES.
17029         (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
17030         IFN_LEN_STORE and IFN_MASK_STORE_LANES.
17032 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
17034         PR rtl-optimization/101347
17035         * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
17036         population of nonlocal_goto_handler_labels from here ...
17037         (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
17038         * rtlanal.cc (remove_node_from_insn_list): Verify that a
17039         duplicate is not present in the remainder of the list.
17041 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
17043         * rtl.h (remove_node_from_expr_list): Remove declaration.
17044         * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
17046 2022-07-20  Richard Biener  <rguenther@suse.de>
17048         * tree-vect-data-refs.cc (bump_vector_ptr): Return an
17049         invariant updated address when the input was invariant.
17051 2022-07-20  liuhongt  <hongtao.liu@intel.com>
17053         * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
17054         and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
17055         * timevar.def (TV_TREE_POWCABS): New timevar.
17056         * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
17057         * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
17058         (class pass_expand_powcabs): Ditto.
17059         (pass_expand_powcabs::execute): Ditto.
17060         (make_pass_expand_powcabs): Ditto.
17061         (pass_cse_sincos::execute): Remove pow/cabs expand part.
17062         (make_pass_cse_sincos): Ditto.
17064 2022-07-20  Richard Biener  <richard.guenther@gmail.com>
17065             Hongtao Liu  <hongtao.liu@intel.com>
17067         PR tree-optimization/106010
17068         * tree-complex.cc (init_dont_simulate_again): Lower complex
17069         type move.
17070         (expand_complex_move): Also expand COMPLEX_CST for rhs.
17072 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
17074         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
17075         for incoming ranges on join nodes and add to worklist.
17077 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
17079         * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
17080         (ranger_cache::range_from_dom): Put all nodes to be calculated
17081         in the worklist and resolve after the dom walk.
17082         * gimple-range-cache.h (resolve_dom): New prototype.
17084 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
17086         * tree-cfg.cc (gimple_verify_flow_info): Check placement of
17087         returns_twice calls.
17089 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
17091         * cfghooks.cc (duplicate_block): Expand comment.
17092         * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
17093         calls that may return twice.
17095 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
17097         * tree-ssa-sink.cc (select_best_block): Punt if selected block
17098         has incoming abnormal edges.
17100 2022-07-19  Martin Liska  <mliska@suse.cz>
17102         * doc/extend.texi: Remove trailing :.
17104 2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
17106         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
17107         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
17109 2022-07-19  Richard Biener  <rguenther@suse.de>
17111         PR middle-end/106331
17112         * builtins.cc (get_memory_rtx): Compute alignment from
17113         the original address and set MEM_OFFSET to unknown when
17114         we create a MEM_EXPR from the base object of the address.
17116 2022-07-19  Richard Biener  <rguenther@suse.de>
17118         PR lto/106334
17119         * dwarf2out.cc (dwarf2out_register_external_die): Allow
17120         map entry re-use during WPA.
17122 2022-07-19  Roger Sayle  <roger@nextmovesoftware.com>
17123             Richard Biener  <rguenther@suse.de>
17125         PR c/106264
17126         * builtins.cc (fold_builtin_frexp): Call suppress_warning on
17127         COMPOUND_EXPR to silence spurious warning if result isn't used.
17128         (fold_builtin_modf): Likewise.
17129         (do_mpfr_remquo): Likewise.
17131 2022-07-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17133         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
17134         Change the relative cost of '(set (reg) (const_int N))' where
17135         N fits into signed 12-bit from 4 to 0 if optimizing for size.
17136         And use the appropriate macro instead of the bare number 4.
17138 2022-07-18  Andrew MacLeod  <amacleod@redhat.com>
17140         PR tree-optimization/106280
17141         * value-relation.cc (dom_oracle::register_relation): Register
17142         transitives only when it is possible for there to be one.
17143         (dom_oracle::set_one_relation): Return NULL if this is an
17144         existing relation.
17146 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
17148         * doc/invoke.texi (RISC-V Options): Add index references for
17149         `mrelax' and `mriscv-attribute'.
17151 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
17153         * doc/invoke.texi (Option Summary): Add missing second space
17154         around `-mstack-protector-guard-reg='.
17156 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
17158         * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
17159         (RISC-V Options): Likewise, and `-mriscv-attribute'.
17161 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
17163         * config/arc/arc-arch.h (arc_tune_attr): Add
17164         ARC_TUNE_ARCHS4X_REL31A variant.
17165         * config/arc/arc.cc (arc_override_options): Tune options for
17166         release 310a.
17167         (arc_sched_issue_rate): Use correct enum.
17168         (arc600_corereg_hazard): Textual change.
17169         (arc_hazard): Add release 310a tunning.
17170         * config/arc/arc.md (tune): Update and take into consideration new
17171         tune option.
17172         (tune_dspmpy): Likewise.
17173         (tune_store): New attribute.
17174         * config/arc/arc.opt (mtune): New tune option.
17175         * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
17176         (hs4x_brcc_op): New instruction rezervation.
17177         (hs4x_data_store_1_op): Likewise.
17178         * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
17179         * config/arc/arc-tables.opt: Regenerate.
17180         * config/arc/t-multilib: Likewise.
17181         * doc/invoke.texi (ARC): Update mcpu and tune sections.
17183 2022-07-18  Richard Biener  <rguenther@suse.de>
17185         * tree-loop-distribution.cc (loop_distribution::distribute_loop):
17186         When computing cost-based merging do not disregard builtin
17187         classified partitions in some cases.
17189 2022-07-18  Richard Sandiford  <richard.sandiford@arm.com>
17191         PR target/106253
17192         * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
17193         Delete.
17194         * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
17195         * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
17196         Delete.
17197         * config/arm/arm_neon_builtins.def (copysignf): Delete.
17198         * config/arm/iterators.md (nvrint_pattern): New attribute.
17199         * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
17200         New pattern.
17201         (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
17202         Likewise.
17203         (neon_copysignf<mode>): Rename to...
17204         (copysign<mode>3): ...this.
17206 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
17208         * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
17209         pointer first when in interrupts.
17211 2022-07-18  Richard Biener  <rguenther@suse.de>
17213         * tree-loop-distribution.cc (copy_loop_before): Add
17214         the ability to replace the original LC PHI defs.
17215         (generate_loops_for_partition): Pass through a flag
17216         whether to redirect original LC PHI defs.
17217         (generate_code_for_partition): Likewise.
17218         (loop_distribution::distribute_loop): Compute the partition
17219         that should provide the LC PHI defs for common reductions
17220         and pass that down.
17222 2022-07-18  Richard Ball  <richard.ball@arm.com>
17224         * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
17225         (aarch64_evpc_uzp): Likewise.
17226         (aarch64_evpc_zip): Likewise.
17228 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
17230         PR target/106231
17231         * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
17232         to recognize any_extend:DI of ctz:SI which is implicitly extended.
17233         (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
17234         extended ctz:SI that has preceding xor to break false dependency.
17236 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
17238         * config/i386/predicates.md (x86_64_const_vector_operand):
17239         Check the operand's mode matches the specified mode argument.
17241 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
17243         * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
17244         (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
17245         (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
17246         (vec_pack_trunc_qi): Update to specify the now required
17247         UNSPEC_MASKOP unspec.
17248         (vec_pack_trunc_<mode>): Likewise.
17250 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17252         * config/xtensa/xtensa.md
17253         (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
17254         *masktrue_const_shifted_mask): If the immediate for bitwise AND is
17255         represented as '-(1 << N)', decrease the lower bound of N from 12
17256         to 1.  And the other immediate for conditional branch is now no
17257         longer limited to zero, but also one of some positive integers.
17258         Finally, remove the checks of some conditions, because the comparison
17259         expressions that don't satisfy such checks are determined as
17260         compile-time constants and thus will be optimized away before
17261         RTL expansion.
17263 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17265         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
17266         (xtensa_constantsynth_2insn): Change to try all three synthetic
17267         methods and to use the one that fits the immediate value of
17268         the seed into a Narrow Move Immediate instruction "MOVI.N"
17269         when the Code Density Option is configured.
17271 2022-07-15  H.J. Lu  <hjl.tools@gmail.com>
17273         PR target/85620
17274         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
17275         false if callee has indirect_return attribute and caller
17276         doesn't.
17278 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
17280         PR target/106273
17281         * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
17282         constraints to reflect the output is earlyclobber, unless it is
17283         the same register (pair) as one of the operands.
17285 2022-07-15  David Malcolm  <dmalcolm@redhat.com>
17287         * doc/invoke.texi (Static Analyzer Options): Add the new fd
17288         warnings to the initial gccoptlist, and to the list of those
17289         disabled by -fanalyzer-checker=taint.
17291 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
17293         * config/aarch64/aarch64-builtins.cc
17294         (enum aarch64_type_qualifiers): Remove qualifier_internal.
17295         (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
17297 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
17299         * config/aarch64/aarch64-builtins.cc
17300         (v1di_UP): Add V1DI mode to _UP macros.
17301         * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
17302         * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
17303         * config/aarch64/aarch64-simd.md
17304         (vec_extractv2dfv1df): Replace with...
17305         (vec_extract<mode><V1half>): ...this.
17306         * config/aarch64/aarch64.cc
17307         (aarch64_classify_vector_mode): Add V1DI mode.
17308         * config/aarch64/iterators.md
17309         (VQ_2E, V1HALF, V1half): New.
17310         (nunits): Add V1DI mode.
17312 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
17314         PR target/106278
17315         * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
17316         Fix indentation whitespace.
17317         (timode_scalar_chain::fix_debug_reg_uses): Likewise.
17318         (timode_scalar_chain::convert_insn): Delete dead code.
17319         Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
17320         Fix indentation whitespace.
17321         (convertible_comparison_p): Likewise.
17322         (timode_scalar_to_vector_candidate_p): Likewise.
17324 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
17326         * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
17328 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
17330         * Makefile.in (OBJS): Add value-range-pretty-print.o.
17331         * pretty-print.h (pp_vrange): New.
17332         * value-range.cc (vrange::dump): Call pp version.
17333         (unsupported_range::dump): Move to its own file.
17334         (dump_bound_with_infinite_markers): Same.
17335         (irange::dump): Same.
17336         (irange::dump_bitmasks): Same.
17337         (vrange::debug): Remove.
17338         * value-range.h: Remove virtual designation for dump methods.
17339         Remove dump_bitmasks method.
17340         * value-range-pretty-print.cc: New file.
17341         * value-range-pretty-print.h: New file.
17343 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
17345         * value-range.cc (irange::accept): New.
17346         (unsupported_range::accept): New.
17347         * value-range.h (class vrange_visitor): New.
17348         (class vrange): Add accept method.
17349         (class unsupported_range): Same.
17350         (class Value_Range): Same.
17352 2022-07-15  Jonathan Wakely  <jwakely@redhat.com>
17354         * diagnostic-format-json.cc (json_from_location_range): Adjust
17355         to new label_text API.
17356         * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
17357         Likewise.
17358         * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
17359         (layout::print_any_labels): Likewise.
17360         * tree-diagnostic-path.cc (class path_label): Likewise.
17361         (struct event_range): Likewise.
17362         (default_tree_diagnostic_path_printer): Likewise.
17363         (default_tree_make_json_for_path): Likewise.
17365 2022-07-15  konglin1  <lingling.kong@intel.com>
17367         PR target/106113
17368         * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
17369         comparison due to intrinsics changed over time.
17370         * config/i386/i386-expand.cc (ix86_ssecom_setcc):
17371         Add unordered check and mode for sse comi codegen.
17372         (ix86_expand_sse_comi): Add unordered check and check a different
17373         CCmode.
17374         (ix86_expand_sse_comi_round):Extract unordered check and mode part
17375         in ix86_ssecom_setcc.
17377 2022-07-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
17379         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
17380         op_mode instead of vmode in calls to force_reg for op0 and op1.
17382 2022-07-14  H.J. Lu  <hjl.tools@gmail.com>
17384         PR tree-optimization/103798
17385         * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
17386         (simplify_builtin_call): Inline memchr with constant strings of
17387         no more than the bytes of a word.
17388         * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
17389         * tree-ssa-strlen.h (use_in_zero_equality): New.
17391 2022-07-14  Eric Botcazou  <ebotcazou@adacore.com>
17393         * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
17394         and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
17395         (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
17396         pass it in the call to lookup_tmp_var.
17397         (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
17398         (get_initialized_tmp_var): Likewise.
17399         (prepare_gimple_addressable): Call internal_get_tmp_var instead of
17400         get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
17402 2022-07-14  Martin Liska  <mliska@suse.cz>
17404         * doc/gimple.texi: Close properly a deftypefn.
17406 2022-07-14  Martin Liska  <mliska@suse.cz>
17408         * doc/gimple.texi: Close properly a deftypefn.
17410 2022-07-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17412         * config/xtensa/xtensa.md:
17413         In FP constant synthesis split pattern, subcontract to
17414         avoid_constant_pool_reference() as in the case of integer,
17415         because it can handle well too.  And cast to int32_t before
17416         calling xtensa_constantsynth() in order to ignore upper 32-bit.
17418 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
17420         * range-op.cc (operator_lt::fold_range): Use nonzero bits.
17422 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
17424         * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
17425         (irange::legacy_intersect): Clear nonzero mask.
17426         (irange::legacy_union): Same.
17427         (irange::invert): Same.
17429 2022-07-13  Richard Biener  <rguenther@suse.de>
17431         * tree-ssa-dom.h (record_temporary_equivalences): Remove.
17432         * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
17433         (dom_jt_state::get_blocks_on_stack): Likewise.
17434         (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
17435         (back_propagate_equivalences): Remove dominator bitmap
17436         compute and instead use passed in m_blocks_on_stack.
17437         (record_temporary_equivalences): Likewise.
17438         (record_equivalences_from_incoming_edge): Likewise.
17439         (dom_opt_dom_walker::before_dom_children): Maintain and
17440         pass down blocks on stack.
17441         (dom_opt_dom_walker::after_dom_children): Likewise.
17443 2022-07-13  Andrew Carlotti  <andrew.carlotti@arm.com>
17445         * config/aarch64/aarch64-builtins.cc
17446         (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
17448 2022-07-13  Richard Biener  <rguenther@suse.de>
17450         PR tree-optimization/106249
17451         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
17452         Only verify LC SSA of the new_loop if we created it.
17453         Use TODO_update_ssa_nophi for the SSA update after versioning
17454         the loop.
17456 2022-07-12  Aldy Hernandez  <aldyh@redhat.com>
17458         * range-op.cc (unsigned_singleton_p): Remove.
17459         (operator_bitwise_and::remove_impossible_ranges): Remove.
17460         (operator_bitwise_and::fold_range): Set nonzero bits.  *
17461         * value-range.cc (irange::get_nonzero_bits): Remove
17462         legacy_mode_p assert.
17463         (irange::dump_bitmasks): Remove legacy_mode_p check.
17465 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
17467         PR target/106253
17468         * predict.h (insn_optimization_type): Declare.
17469         * predict.cc (insn_optimization_type): New function.
17470         * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
17471         (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
17472         (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
17473         * internal-fn.cc (unary_convert_direct): New macro.
17474         (expand_convert_optab_fn): New function.
17475         (expand_unary_convert_optab_fn): New macro.
17476         (direct_unary_convert_optab_supported_p): Likewise.
17477         * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
17478         convert_optab_handler.
17479         * config/aarch64/aarch64-protos.h
17480         (aarch64_builtin_vectorized_function): Delete.
17481         * config/aarch64/aarch64-builtins.cc
17482         (aarch64_builtin_vectorized_function): Delete.
17483         * config/aarch64/aarch64.cc
17484         (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
17485         * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
17486         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
17487         optimize_insn_for_size_p test.
17489 2022-07-12  Richard Biener  <rguenther@suse.de>
17491         * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
17492         Remove.
17493         (vect_do_peeling): Do not call it, adjust comment.
17495 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
17497         * config/aarch64/aarch64-builtins.cc
17498         (aarch64_builtin_vectorized_function): Remove handling of
17499         floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
17501 2022-07-11  Andrew MacLeod  <amacleod@redhat.com>
17503         PR tree-optimization/106234
17504         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
17505         cache value before recursively resolving it.
17507 2022-07-11  Roger Sayle  <roger@nextmovesoftware.com>
17509         * config/i386/i386-features.h (scalar_chain): Add fields
17510         insns_conv, n_sse_to_integer and n_integer_to_sse to this
17511         parent class, moved from general_scalar_chain.
17512         (scalar_chain::convert_compare): Protected method moved
17513         from general_scalar_chain.
17514         (mark_dual_mode_def): Make protected, not private virtual.
17515         (scalar_chain:convert_op): New private virtual method.
17516         (general_scalar_chain::general_scalar_chain): Simplify constructor.
17517         (general_scalar_chain::~general_scalar_chain): Delete destructor.
17518         (general_scalar_chain): Move insns_conv, n_sse_to_integer and
17519         n_integer_to_sse fields to parent class, scalar_chain.
17520         (general_scalar_chain::mark_dual_mode_def): Delete prototype.
17521         (general_scalar_chain::convert_compare): Delete prototype.
17522         (timode_scalar_chain::compute_convert_gain): Remove simplistic
17523         implementation, convert to a method prototype.
17524         (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
17525         (timode_scalar_chain::convert_op): Prototype new virtual method.
17526         * config/i386/i386-features.cc (scalar_chain::scalar_chain):
17527         Allocate insns_conv and initialize n_sse_to_integer and
17528         n_integer_to_sse fields in constructor.
17529         (scalar_chain::scalar_chain): Free insns_conv in destructor.
17530         (general_scalar_chain::general_scalar_chain): Delete
17531         constructor, now defined in the class declaration.
17532         (general_scalar_chain::~general_scalar_chain): Delete destructor.
17533         (scalar_chain::mark_dual_mode_def): Renamed from
17534         general_scalar_chain::mark_dual_mode_def.
17535         (timode_scalar_chain::mark_dual_mode_def): Delete.
17536         (scalar_chain::convert_compare): Renamed from
17537         general_scalar_chain::convert_compare.
17538         (timode_scalar_chain::compute_convert_gain): New method to
17539         determine the gain from converting a TImode chain to V1TImode.
17540         (timode_scalar_chain::convert_op): New method to convert an
17541         operand from TImode to V1TImode.
17542         (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
17543         on REG_EQUAL notes that were originally TImode (not CONST_INT).
17544         Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
17545         (timode_mem_p): Helper predicate to check where operand is
17546         memory reference with sufficient alignment for TImode STV.
17547         (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
17548         to check whether COMPARE is convertible.  Handle SET_DESTs that
17549         that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
17550         CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
17552 2022-07-11  Richard Sandiford  <richard.sandiford@arm.com>
17554         PR tree-optimization/106250
17555         * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
17556         argument to directly_supported_p.
17558 2022-07-11  Richard Biener  <rguenther@suse.de>
17560         * tree-into-ssa.cc (update_ssa): Do not forcefully
17561         re-compute dominance fast queries for TODO_update_ssa_no_phi.
17563 2022-07-11  Richard Biener  <rguenther@suse.de>
17565         PR tree-optimization/106228
17566         * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
17567         VUSE compute for the non-loop case.
17569 2022-07-11  Richard Biener  <rguenther@suse.de>
17571         * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
17572         (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
17573         (rewrite_update_dom_walker::m_in_region_flag): New.
17574         (rewrite_update_dom_walker::before_dom_children): If the region
17575         to update is marked, STOP at exits.
17576         (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
17577         to be updated.
17578         (dump_update_ssa): Use bitmap_empty_p.
17579         (update_ssa): Likewise.  Use REWRITE_UPDATE_REGION when
17580         TODO_update_ssa_no_phi.
17581         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
17582         pending update_ssa to the caller.
17584 2022-07-11  Richard Biener  <rguenthert@suse.de>
17586         PR target/105459
17587         * config/i386/i386-options.cc (ix86_set_current_function):
17588         Rebuild the target optimization node whenever necessary,
17589         not only when the optimization node didn't change.
17591 2022-07-11  Richard Biener  <rguenther@suse.de>
17593         PR tree-optimization/106228
17594         * tree-vect-data-refs.cc (vect_setup_realignment): Properly
17595         set a VUSE operand on the emitted load.
17597 2022-07-11  Aldy Hernandez  <aldyh@redhat.com>
17599         * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
17600         verification against legacy value_range.
17601         (gimple_ranger::register_inferred_ranges): Same.
17602         (gimple_ranger::export_global_ranges): Rename update_global_range
17603         to set_range_info.
17604         * tree-core.h (struct range_info_def): Remove.
17605         (struct irange_storage_slot): New.
17606         (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
17607         (struct tree_ssa_name): Add vrange_storage support.
17608         * tree-ssanames.cc (range_info_p): New.
17609         (range_info_fits_p): New.
17610         (range_info_alloc): New.
17611         (range_info_free): New.
17612         (range_info_get_range): New.
17613         (range_info_set_range): New.
17614         (set_range_info_raw): Remove.
17615         (set_range_info): Adjust to use vrange_storage.
17616         (set_nonzero_bits): Same.
17617         (get_nonzero_bits): Same.
17618         (duplicate_ssa_name_range_info): Remove overload taking
17619         value_range_kind.
17620         Rewrite tree overload to use vrange_storage.
17621         (duplicate_ssa_name_fn): Adjust to use vrange_storage.
17622         * tree-ssanames.h (struct range_info_def): Remove.
17623         (set_range_info): Adjust prototype to take vrange.
17624         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
17625         duplicate_ssa_name_range_info.
17626         * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
17627         (SSA_NAME_RANGE_TYPE): Remove.
17628         * value-query.cc (get_ssa_name_range_info): Adjust to use
17629         vrange_storage.
17630         (update_global_range): Remove.
17631         (get_range_global): Remove as_a<irange>.
17632         * value-query.h (update_global_range): Remove.
17633         * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
17634         Rename update_global_range to set_range_info.
17635         * value-range-storage.cc (vrange_storage::alloc_slot): Remove
17636         gcc_unreachable.
17638 2022-07-10  Aldy Hernandez  <aldyh@redhat.com>
17640         * value-range.cc (irange::operator=): Call verify_range.
17641         (irange::irange_set): Normalize kind after everything else has
17642         been set.
17643         (irange::irange_set_anti_range): Same.
17644         (irange::set): Same.
17645         (irange::verify_range): Disallow nonzero masks for VARYING.
17646         (irange::irange_union): Call verify_range.
17647         Handle nonzero masks better.
17648         (irange::irange_intersect): Same.
17649         (irange::set_nonzero_bits): Calculate mask if either range has an
17650         explicit mask.
17651         (irange::intersect_nonzero_bits): Same.
17652         (irange::union_nonzero_bits): Same.
17653         (range_tests_nonzero_bits): New.
17654         (range_tests): Call range_tests_nonzero_bits.
17655         * value-range.h (class irange): Remove set_nonzero_bits method
17656         with trees.
17657         (irange::varying_compatible_p): Set nonzero mask.
17659 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
17661         * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
17662         the sign-extend of result in the RTL template.
17663         (<any_div><mode>3): Adjust for <any_div>di3_fake change.
17665 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
17667         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
17668         Remove static, for use in the machine description file.
17669         * config/loongarch/loongarch-protos.h:
17670         (loongarch_check_zero_div_p): Add prototype.
17671         * config/loongarch/loongarch.md (enabled): New attr.
17672         (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
17673         idiv.  Conditionally enable the alternatives using
17674         loongarch_check_zero_div_p.
17675         (<optab>di3_fake): Likewise.
17677 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
17679         * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
17680         instead of mul.d.
17682 2022-07-09  Aldy Hernandez  <aldyh@redhat.com>
17684         * value-range.cc (irange::irange_single_pair_union): Set
17685         VR_VARYING when appropriate.
17687 2022-07-09  Vit Kabele  <vit.kabele@sysgo.com>
17689         * stor-layout.cc (finalize_record_size): Extend warning message.
17691 2022-07-09  Sam Feifer  <sfeifer@redhat.com>
17693         PR tree-optimization/98304
17694         * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
17696 2022-07-09  Jeff Law  <jeffreyalaw@gmail.com>
17698         * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
17699         initializer and use clear_storage rather than copying the
17700         NULs to the destination array.
17702 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
17704         * config/i386/i386.md (define_peephole2): Use match_operand of
17705         flags_reg_operand to capture and preserve the mode of FLAGS_REG.
17706         (define_peephole2): Likewise.
17707         (define_peephole2): Likewise...
17709 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
17711         * config/i386/i386-features.cc (convert_compare): Add support
17712         for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
17713         by generating a pandn followed by ptest.
17714         (convertible_comparison_p): Recognize both *cmpdi_doubleword and
17715         recent *testdi_not_doubleword comparison patterns.
17717 2022-07-09  Tamar Christina  <tamar.christina@arm.com>
17719         * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
17720         indicate that the value is not undefined.
17722 2022-07-09  Andrew Pinski  <apinski@marvell.com>
17724         PR tree-optimization/106087
17725         * tree-ssa-dce.cc (simple_dce_from_worklist): Check
17726         to make sure the statement is only defining one operand.
17728 2022-07-08  Lewis Hyatt  <lhyatt@gmail.com>
17730         PR preprocessor/91733
17731         * input.cc (find_end_of_line): New helper function.
17732         (file_cache_slot::get_next_line): Recognize \r as a line ending.
17733         * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
17734         since \r will now be interpreted as a line-ending.
17736 2022-07-08  Martin Liska  <mliska@suse.cz>
17738         PR sanitizer/106132
17739         * opts.cc (finish_options): Use 2 calls to
17740         report_conflicting_sanitizer_options.
17742 2022-07-08  Richard Biener  <rguenther@suse.de>
17744         PR tree-optimization/106226
17745         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
17746         no SSA update is needed.  Move virtual SSA update ...
17747         * tree-vectorizer.cc (pass_vectorize::execute): ... here,
17748         via forced virtual renaming when TODO_update_ssa_only_virtuals
17749         is queued.
17750         (vect_transform_loops): Return TODO_update_ssa_only_virtuals
17751         when virtual SSA update is required.
17752         (try_vectorize_loop_1): Adjust.
17753         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
17754         virtual renaming if the ABI forces an aggregate return
17755         but the original call did not have a virtual definition.
17757 2022-07-08  Martin Liska  <mliska@suse.cz>
17759         * toplev.cc (init_asm_output): Do not init asm_out_file.
17761 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
17763         PR tree-optimization/106063
17764         * match.pd: Do not apply pattern after veclower is not supported.
17766 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
17768         * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
17769         'fn2' computation.
17771 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
17773         * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
17774         still undefined and if so emit a subreg move instead.
17775         (store_integral_bit_field): Likewise.
17776         (store_bit_field): Likewise.
17777         * expr.h (write_complex_part): Likewise.
17778         * expmed.h (store_bit_field): Add new parameter.
17779         * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
17780         parameter.
17781         (expand_ifn_atomic_compare_exchange): Likewise.
17782         * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
17783         * emit-rtl.cc (validate_subreg): Likewise.
17784         * expr.cc (emit_group_store): Likewise.
17785         (copy_blkmode_from_reg): Likewise.
17786         (copy_blkmode_to_reg): Likewise.
17787         (clear_storage_hints): Likewise.
17788         (write_complex_part):  Likewise.
17789         (emit_move_complex_parts): Likewise.
17790         (expand_assignment): Likewise.
17791         (store_expr): Likewise.
17792         (store_field): Likewise.
17793         (expand_expr_real_2): Likewise.
17794         * ifcvt.cc (noce_emit_move_insn): Likewise.
17795         * internal-fn.cc (expand_arith_set_overflow): Likewise.
17796         (expand_arith_overflow_result_store): Likewise.
17797         (expand_addsub_overflow): Likewise.
17798         (expand_neg_overflow): Likewise.
17799         (expand_mul_overflow): Likewise.
17800         (expand_arith_overflow): Likewise.
17802 2022-07-08  Haochen Jiang  <haochen.jiang@intel.com>
17804         PR target/106180
17805         * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
17806         Rename from *sse2_cvtps2pd<mask_name>_1.
17807         (vec_unpacks_lo_v4sf): Add handler for memory operand.
17809 2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
17811         * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
17812         Modify fp_sp_offset and gp_sp_offset's calculation method,
17813         when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
17814         or UNITS_PER_FP_REG.
17816 2022-07-07  David Malcolm  <dmalcolm@redhat.com>
17818         * diagnostic-format-json.cc (json_from_location_range): Update for
17819         removal of label_text::maybe_free in favor of automatic memory
17820         management.
17821         * diagnostic-format-sarif.cc
17822         (sarif_builder::make_location_object): Likewise.
17823         * diagnostic-show-locus.cc (struct pod_label_text): New.
17824         (class line_label): Convert m_text from label_text to pod_label_text.
17825         (layout::print_any_labels): Move "text" to the line_label.
17826         * tree-diagnostic-path.cc (path_label::get_text): Update for
17827         removal of label_text::maybe_free in favor of automatic memory
17828         management.
17829         (event_range::print): Likewise.
17830         (default_tree_diagnostic_path_printer): Likewise.
17831         (default_tree_make_json_for_path): Likewise.
17833 2022-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
17835         * statistics.cc (get_function_name): Add check to see if fn is not NULL.
17837 2022-07-07  Richard Biener  <rguenther@suse.de>
17839         * tree-into-ssa.cc (iterating_old_ssa_names): New.
17840         (add_new_name_mapping): Grow {new,old}_ssa_names separately
17841         and only when actually needed.  Assert we are not growing
17842         the old_ssa_names set when iterating over it.
17843         (update_ssa): Remove old_ssa_names copying and empty_p
17844         query, note we are iterating over it and expect no set changes.
17846 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
17848         * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
17849         (prepare_target_image, main): Handle OpenMP 'requires'.
17850         (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
17851         'GOMP_offload_unregister_ver'.
17853 2022-07-07  Richard Biener  <rguenther@suse.de>
17855         PR target/106219
17856         * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
17857         set DECL_PURE_P.
17859 2022-07-07  Richard Biener  <rguenther@suse.de>
17861         * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
17862         number of LC PHIs inserted.
17863         (add_exit_phis): Return whether any variable required
17864         multiple LC PHI nodes.
17865         (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
17866         when possible.
17868 2022-07-07  Richard Biener  <rguenther@suse.de>
17870         * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
17871         the def loop exit block bitmap as argument instead of
17872         re-computing it here.
17873         (add_exit_phis_var): Adjust.
17874         (loop_name_cmp): New function.
17875         (add_exit_phis): Sort variables to insert LC PHI nodes
17876         after definition loop, for each definition loop compute
17877         the exit block bitmap once.
17878         (get_loops_exit): Remove.
17879         (rewrite_into_loop_closed_ssa_1): Do not pre-record
17880         all loop exit blocks into bitmaps.  Record loop exits
17881         if required.
17883 2022-07-07  Dimitrije Milosevic  <Dimitrije.Milosevic@Syrmia.com>
17885         * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
17886         to handle the N32 ABI.
17887         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
17888         the macro, as it is not needed anymore.
17890 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
17892         * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
17893         '[...]_data'.
17894         * config/nvptx/mkoffload.cc (process): Likewise.
17896 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
17898         * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
17900 2022-07-05  Andrew MacLeod  <amacleod@redhat.com>
17902         * value-relation.cc (relation_to_code): New vector.
17903         (relation_oracle::validate_relation): New.
17904         (set_relation): Allow ssa1 == ssa2 to be registered.
17905         * value-relation.h (validate_relation): New prototype.
17906         (query_relation): Make internal variant protected.
17908 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
17910         * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
17911         for double word comparisons and tests (comparisons against zero).
17912         * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
17913         and;cmp into andn;cmp $0 as a pre-reload splitter.
17914         (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
17915         (*<any_or><dwi>3_doubleword): Likewise.
17917 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
17918             Hongtao Liu  <hongtao.liu@intel.com>
17920         * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
17921         CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
17922         * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
17923         and gen_ssse3_palignv1ti instead of TImode.
17924         * config/i386/sse.md (SSESCALARMODE): Delete.
17925         (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
17926         (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
17927         iterator instead of SSESCALARMODE.
17928         (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
17929         using a single move instruction (if required).
17931 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
17932             Uroš Bizjak  <ubizjak@gmail.com>
17934         PR rtl-optimization/96692
17935         * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
17936         as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
17938 2022-07-05  Richard Biener  <rguenther@suse.de>
17940         PR tree-optimization/106198
17941         * tree-cfgcleanup.cc (repair_loop_structures): Always do a
17942         full LC SSA rewrite but only if any blocks changed loop
17943         depth.
17945 2022-07-05  Richard Biener  <rguenther@suse.de>
17947         * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
17948         (find_uses_to_rename_in_loop): Likewise.
17949         (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
17950         uses.
17951         (rewrite_into_loop_closed_ssa): Adjust.
17953 2022-07-05  Richard Biener  <rguenther@suse.de>
17955         PR tree-optimization/106186
17956         * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
17957         Properly handle virtual PHI nodes.
17959 2022-07-05  Richard Biener  <rguenther@suse.de>
17961         PR tree-optimization/106196
17962         * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
17963         handle aggregate returns of calls for VDEF updates.
17965 2022-07-05  Richard Biener  <rguenther@suse.de>
17967         * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
17968         Maintain LC SSA.
17970 2022-07-05  Richard Sandiford  <richard.sandiford@arm.com>
17972         * tree-vect-patterns.cc (vect_convert_input): Expect the input
17973         type to be signed for optab_vector_mixed_sign.  Update the vectype
17974         at the same time as type.
17975         (vect_recog_dot_prod_pattern): Update accordingly.  If usdot isn't
17976         available, try sdot instead.
17977         * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
17978         (vect_model_reduction_cost): Model the cost of implementing usdot
17979         using sdot.
17980         (vectorizable_reduction): Likewise.  Skip target support test
17981         for lane reductions.
17982         (vect_emulate_mixed_dot_prod): New function.
17983         (vect_transform_reduction): Use it to emulate usdot via sdot.
17985 2022-07-05  Richard Biener  <rguenther@suse.de>
17987         PR tree-optimization/106182
17988         * loop-init.cc (fix_loop_structure): Return the number
17989         of newly discovered plus the number of deleted loops.
17990         * tree-cfgcleanup.cc (repair_loop_structures): Adjust
17991         variable name.
17993 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
17995         * gimple-range-fold.cc
17996         (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
17997         call to SCEV for irange supported types.
17998         (fold_using_range::range_of_builtin_int_call): Convert to vrange.
17999         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
18000         * tree-ssa-dom.cc (cprop_operand): Same.
18002 2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
18004         PR target/104489
18005         * calls.cc (precompute_register_parameters): Allow promotion
18006         of floating point values to be passed in wider integer modes
18007         by calling new convert_float_to_wider_int.
18008         (expand_call): Allow floating point results to be returned in
18009         wider integer modes by calling new convert wider_int_to_float.
18010         * cfgexpand.cc (expand_value_return): Allow backends to promote
18011         a scalar floating point return value to a wider integer mode
18012         by calling new convert_float_to_wider_int.
18013         * expr.cc (convert_float_to_wider_int): New function.
18014         (convert_wider_int_to_float): Likewise.
18015         (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
18016         scalar FP PARM_DECLs to wider integer modes, by calling new
18017         convert_wider_int_to_float.
18018         * expr.h (convert_modes): Name arguments for improved documentation.
18019         (convert_float_to_wider_int): Prototype new function here.
18020         (convert_wider_int_to_float): Likewise.
18021         * function.cc (assign_parm_setup_stack): Allow floating point
18022         values to be passed on the stack as wider integer modes by
18023         calling new convert_wider_int_to_float.
18025 2022-07-04  Martin Jambor  <mjambor@suse.cz>
18027         PR tree-optimization/105860
18028         * tree-sra.cc (build_reconstructed_reference): Start expr
18029         traversal only just below the outermost union.
18031 2022-07-04  Richard Biener  <rguenther@suse.de>
18033         * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
18034         and update virtual SSA form again.  Assert we do so for
18035         a known set of transforms only.
18036         * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
18037         * tree-vect-stmts.cc (vectorizable_load): When vectorizing
18038         using load-lanes allow virtual SSA update.
18040 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
18041             Chung-Lin Tang  <cltang@codesourcery.com>
18042             Thomas Schwinge  <thomas@codesourcery.com>
18044         * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
18045         (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
18046         (main): Ask lto1 to obtain omp_requires_mask and pass it on.
18047         * config/nvptx/mkoffload.cc (process, main): Likewise.
18048         * lto-cgraph.cc (omp_requires_to_name): New.
18049         (input_offload_tables): Save omp_requires_mask.
18050         (output_offload_tables): Read it, check for consistency,
18051         save value for mkoffload.
18052         * omp-low.cc (lower_omp_target): Force output_offloadtables
18053         call for OMP_REQUIRES_TARGET_USED.
18055 2022-07-04  Richard Biener  <rguenther@suse.de>
18057         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
18058         no SSA update is needed instead of updating virtual SSA
18059         form.
18060         * tree-vect-stmts.cc (vectorizable_load): For hoisted
18061         invariant load use the loop entry virtual use.
18062         For emulated gather loads use the virtual use of the
18063         original stmt like vect_finish_stmt_generation would do.
18065 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
18067         * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
18068         for direct circularity.
18070 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
18072         * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
18073         the language for vector types.
18075 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
18077         * value-range-storage.cc (irange_storage_slot::set_irange): Set
18078         nonzero bits in irange.
18079         (irange_storage_slot::get_irange): Get nonzero bits from irange.
18080         * value-range.cc (irange::operator=): Set nonzero bits.
18081         (irange::irange_set): Same.
18082         (irange::irange_set_anti_range): Same.
18083         (irange::set): Same.
18084         (irange::verify_range): Same.
18085         (irange::legacy_equal_p): Check nonzero bits.
18086         (irange::equal_p): Same.
18087         (irange::contains_p): Handle nonzero bits.
18088         (irange::irange_union): Same.
18089         (irange::irange_intersect): Same.
18090         (irange::dump): Same.
18091         (irange::set_nonzero_bits): New.
18092         (irange::get_nonzero_bits): New.
18093         (irange::intersect_nonzero_bits): New.
18094         (irange::union_nonzero_bits): New.
18095         (irange::dump_bitmasks): New.
18096         * value-range.h (class irange): Add m_nonzero_mask.
18097         (gt_ggc_mx): Handle nonzero bits.
18098         (gt_pch_nx): Same.
18099         (irange::set_undefined): Set nonzero bits.
18100         (irange::set_varying): Same.
18101         (irange::normalize_kind): Call set_undefined.
18103 2022-07-04  Richard Biener  <rguenther@suse.de>
18105         * tree-ssa-loop-manip.h
18106         (rewrite_virtuals_into_loop_closed_ssa): Remove.
18107         (rewrite_into_loop_closed_ssa_1): Likewise.
18108         * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
18109         Make static.
18110         (rewrite_into_loop_closed_ssa): Remove loop overload,
18111         always rewrite virtuals into LC SSA.
18112         (check_loop_closed_ssa_bb): Also check virtuals.
18113         * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
18114         LC PHIs when in LC SSA.
18115         * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
18116         loop-closed SSA here, but ...
18117         (tree_loop_unroll_and_jam): ... here once.
18118         * tree-if-conv.cc (version_loop_for_if_conversion): Use
18119         the cheaper TODO_update_ssa_no_phi.
18120         * tree-loop-distribution.cc (version_loop_by_alias_check):
18121         Likewise.
18122         * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
18123         Likewise.
18124         * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
18125         (tree_unswitch_outer_loop): Do not rewrite virtuals into
18126         LC ssa.
18127         * tree-parloops.cc (transform_to_exit_first_loop_alt):
18128         Likewise.
18129         (pass_parallelize_loops::execute): After finishing rewrite
18130         into LC SSA again because we do not maintain it properly.
18132 2022-07-04  Richard Biener  <rguenther@suse.de>
18134         PR tree-optimization/106055
18135         * graphite.cc (canonicalize_loop_closed_ssa): Check whether
18136         we can propagate.
18138 2022-07-04  Haochen Jiang  <haochen.jiang@intel.com>
18140         PR target/43618
18141         * config/i386/sse.md (extendv2sfv2df2): New define_expand.
18142         (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
18143         (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
18145 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
18147         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
18148         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
18149         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
18150         with two arguments.
18151         (find_unswitching_predicates_for_bb): Same.
18152         * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
18153         * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
18154         * value-range.cc (irange::equal_p): Rename to...
18155         (irange::operator==): ...this.
18156         * value-range.h (irange::set): Remove.
18157         (irange::operator==): Remove.
18158         (irange::set_zero): Use set with two arguments.
18159         * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
18160         (vr_values::extract_range_from_unary_expr): Same.
18161         (check_for_binary_op_overflow): Same.
18162         (bounds_of_var_in_loop): Same.
18164 2022-07-03  H.J. Lu  <hjl.tools@gmail.com>
18166         PR target/106022
18167         * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
18168         New.
18169         * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
18170         New.
18171         * config/i386/mmx.md (V_16_32_64): New.
18172         (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
18173         and 64-bit constant vector.
18174         * config/i386/predicates.md (x86_64_const_vector_operand): New.
18176 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
18178         * gimple-range-cache.cc: Include value-range-storage.h.
18179         * gimple-range-cache.h (class block_range_cache): Add "class" to
18180         m_range_allocator.
18181         * gimple-range-edge.cc
18182         (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
18183         (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
18184         (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
18185         * gimple-range-edge.h: Add "class" to m_range_allocator.
18186         * gimple-range-infer.cc
18187         (infer_range_manager::infer_range_manager): Allocate allocator.
18188         (infer_range_manager::~infer_range_manager): Free allocator.
18189         (infer_range_manager::get_nonzero): Dereference allocator.
18190         (infer_range_manager::add_range): Same.
18191         * gimple-range-infer.h (class vrange_allocator): Add "class" to
18192         m_range_allocator.
18193         * value-range-storage.h (class vrange_allocator): Move from
18194         value-range.h.
18195         (class obstack_vrange_allocator): Same.
18196         (class ggc_vrange_allocator): Same.
18197         (vrange_allocator::alloc_vrange): Same.
18198         (vrange_allocator::alloc_irange): Same.
18199         * value-range.h (class vrange_allocator): Move to value-range-storage.h.
18200         (class obstack_vrange_allocator): Same.
18201         (class ggc_vrange_allocator): Same.
18203 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
18205         * Makefile.in (OBJS): Add value-range-storage.o.
18206         (GTFILES): Add value-range-storage.h.
18207         * gengtype.cc (open_base_files): Add value-range-storage.h.
18208         * value-range-storage.cc: New file.
18209         * value-range-storage.h: New file.
18211 2022-07-03  Xi Ruoyao  <xry111@xry111.site>
18212             Lulu Cheng  <chenglulu@loongson.cn>
18214         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
18215         New static function.
18216         (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
18217         of TARGET_CHECK_ZERO_DIV.
18218         (loongarch_output_division): Likewise.
18219         * common/config/loongarch/loongarch-common.cc
18220         (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
18221         * doc/invoke.texi: Update to match the new behavior.
18223 2022-07-03  Ian Lance Taylor  <iant@golang.org>
18225         * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
18226         statement if -fdelete-dead-exceptions.
18228 2022-07-02  Tim Lange  <mail@tim-lange.me>
18230         PR analyzer/105900
18231         * doc/invoke.texi: Added Wanalyzer-allocation-size.
18233 2022-07-02  Immad Mir  <mirimmad17@gmail.com>
18235         PR analyzer/106003
18236         * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
18237         * doc/invoke.texi:  Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
18238         -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
18239         -Wanalyzer-fd-use-after-close.
18241 2022-07-01  Aldy Hernandez  <aldyh@redhat.com>
18243         * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
18244         (trailing_wide_ints::set_precision): Add num_elements argument.
18245         (trailing_wide_ints::extra_size): Same.
18247 2022-07-01  Uroš Bizjak  <ubizjak@gmail.com>
18249         * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
18250         Use "r" constraint for operand 1.
18252 2022-07-01  Richard Biener  <rguenther@suse.de>
18254         * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
18255         Do not look at interesting_blocks which is a copy of
18256         blocks_to_update.
18257         (update_ssa): Do not initialize it.
18258         (pass_build_ssa::execute): Set interesting_blocks to NULL
18259         after releasing it.
18261 2022-07-01  Richard Biener  <rguenther@suse.de>
18263         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
18264         back to using maybe_ne (off, -1).
18266 2022-07-01  Richard Biener  <rguenther@suse.de>
18268         * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
18269         checking dominance check conditional on flag_checking.
18271 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
18273         * config/gcn/gcn-protos.h (print_operand_address): Remove register
18274         keyword on 'rtx addr' argument.
18276 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
18277             Uroš Bizjak  <ubizjak@gmail.com>
18279         * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
18280         to post-reload define_insn_and_split.
18282 2022-07-01  Jakub Jelinek  <jakub@redhat.com>
18284         PR middle-end/106144
18285         * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
18286         emitting element for shift or if shift is 0 first element after start.
18287         (wide_int_cc_tests): Add tests for equivalency of wi::mask and
18288         wi::shifted_mask with 0 start.
18290 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
18292         PR target/106122
18293         * config/i386/i386.md (peephole2): Avoid generating pop %esp
18294         when optimizing for size.
18296 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
18297             Uroš Bizjak  <ubizjak@gmail.com>
18299         * config/i386/i386.md (general_szext_operand): Add TImode
18300         support using x86_64_hilo_general_operand predicate.
18301         (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
18302         (*add<dwi>3_doubleword): Improved optimization of zero addition.
18303         (and<mode>3): Use SDWIM mode iterator to add support for double
18304         word bit-wise AND in TImode.  Use force_reg when double word
18305         immediate operand isn't x86_64_hilo_general_operand.
18306         (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
18307         converted into a post-reload splitter.
18308         (*andndi3_doubleword): Previous define_insn deleted.
18309         (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
18310         TARGET_BMI that splits post-reload.
18311         (*andn<mode>3_doubleword): New define_insn_and_split for
18312         !TARGET_BMI, that lowers/splits before reload.
18313         (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
18314         double word bit-wise XOR and bit-wise IOR in TImode.  Use
18315         force_reg when double word immediate operand isn't
18316         x86_64_hilo_general_operand.
18317         (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
18318         (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
18319         double word bit-wise NOT in TImode.
18320         (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
18321         and converted into a post-reload splitter.
18323 2022-07-01  Eric Botcazou  <ebotcazou@adacore.com>
18325         PR middle-end/105874
18326         * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
18327         EXPAND_MEMORY for the expansion of the inner reference only
18328         in the usual cases where a memory reference is required.
18330 2022-07-01  Richard Biener  <rguenther@suse.de>
18332         PR tree-optimization/106131
18333         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
18334         zero when offsetting the read looking through an aggregate
18335         copy.
18337 2022-07-01  Martin Liska  <mliska@suse.cz>
18339         PR tree-optimization/106126
18340         * gimple-if-to-switch.cc (struct condition_info): Save
18341         has_side_effect.
18342         (find_conditions): Parse all BBs.
18343         (pass_if_to_switch::execute): Allow only side effects for first
18344         BB.
18346 2022-07-01  Haochen Jiang  <haochen.jiang@intel.com>
18348         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
18349         Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
18350         OPTION_MASK_ISA2_AVX512BF16_UNSET and
18351         OPTION_MASK_ISA2_AVX512FP16_UNSET.
18353 2022-06-30  Joseph Myers  <joseph@codesourcery.com>
18355         PR lto/106129
18356         * lto-wrapper.cc (find_option): Add argument start.
18357         (merge_and_complain): Loop over existing_opt_index and
18358         existing_opt2_index for Xassembler check.  Update calls to
18359         find_option.
18360         (find_and_merge_options): Add argument first to determine whether
18361         to merge options with those passed in *opts.
18362         (run_gcc): Update calls to find_and_merge_options.
18364 2022-06-30  Aldy Hernandez  <aldyh@redhat.com>
18366         * gimple-range-cache.cc (block_range_cache::block_range_cache):
18367         Rename vrange_allocator to obstack_vrange_allocator.
18368         (ssa_global_cache::ssa_global_cache): Same.
18369         * gimple-range-edge.h (class gimple_outgoing_range): Same.
18370         * gimple-range-infer.h (class infer_range_manager): Same.
18371         * value-range.h (class vrange_allocator): Make abstract.
18372         (class obstack_vrange_allocator): Inherit from vrange_allocator.
18373         (class ggc_vrange_allocator): New.
18375 2022-06-30  Roger Sayle  <roger@nextmovesoftware.com>
18376             Uroš Bizjak  <ubizjak@gmail.com>
18378         * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
18379         provide gen_swapsi.
18380         (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
18381         via new gen_<insn>32di2_doubleword below.
18382         (<anyrotate>32di2_doubleword): New define_insn_and_split
18383         that splits after reload as either a pair of move instructions
18384         or an xchgl (using gen_swapsi).
18386 2022-06-30  Richard Biener  <rguenther@suse.de>
18388         * domwalk.h (dom_walker::dom_walker): Update comment to
18389         reflect reality and new special argument value for
18390         bb_index_to_rpo.
18391         * domwalk.cc (dom_walker::dom_walker): Recognize -1
18392         bb_index_to_rpo.
18393         * tree-into-ssa.cc
18394         (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
18395         dom_walker to not use RPO.
18397 2022-06-30  Martin Liska  <mliska@suse.cz>
18399         * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
18400         it is unused.
18402 2022-06-30  Andrew MacLeod  <amacleod@redhat.com>
18404         PR tree-optimization/106114
18405         * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
18406         statement operands instead of GORI cache.
18408 2022-06-30  Antoni Boucher  <bouanto@zoho.com>
18410         PR target/106095
18411         * config/i386/sse.md: Fix asm generation.
18413 2022-06-29  Sergei Trofimovich  <siarheit@google.com>
18415         PR c++/106102
18416         * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
18418 2022-06-29  Joseph Myers  <joseph@codesourcery.com>
18420         * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
18421         not gen_const_mem for UNSPEC_PIC_CALL_SYM.
18423 2022-06-29  Richard Biener  <rguenther@suse.de>
18425         PR rtl-optimization/106082
18426         * combine.cc (distribute_notes): Preserve notes when
18427         they indicate a call doesn't perform a non-local goto.
18429 2022-06-29  Richard Biener  <rguenther@suse.de>
18431         PR tree-optimization/106112
18432         * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
18433         a constant operand according to its type.
18435 2022-06-29  Martin Liska  <mliska@suse.cz>
18437         * doc/invoke.texi: Remove removed evrp-mode.
18439 2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
18441         PR target/106097
18442         * config/loongarch/loongarch.cc (loongarch_build_integer):
18443         Remove undefined behavior from code.
18445 2022-06-28  Dimitar Dimitrov  <dimitar@dinux.eu>
18447         * doc/sourcebuild.texi: Document new no_alignment_constraints
18448         effective target check.
18450 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
18452         * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
18453         * flag-types.h (enum evrp_mode): Remove.
18454         * params.opt: Remove --param=evrp-mode.
18455         * tree-vrp.cc (make_pass_early_vrp): New.
18456         (pass_vrp::execute): Call early VRP instance.
18457         * gimple-ssa-evrp-analyze.cc: Removed.
18458         * gimple-ssa-evrp-analyze.h: Removed.
18459         * gimple-ssa-evrp.cc: Removed.
18461 2022-06-28  Alexandre Oliva  <oliva@adacore.com>
18463         * Makefile.in (TFLAGS): New.
18464         (GCC_FOR_TARGET): Add TFLAGS.
18465         (FLAGS_TO_PASS): Pass TFLAGS down.
18467 2022-06-28  Richard Biener  <rguenther@suse.de>
18469         * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
18470         call update_ssa.
18472 2022-06-28  Richard Biener  <rguenther@suse.de>
18474         * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
18475         mark_block_for_update.
18476         (update_ssa): Adjust.
18478 2022-06-28  Xi Ruoyao  <xry111@xry111.site>
18480         PR target/106096
18481         * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
18482         $r13 from SIBCALL_REGS.
18483         * config/loongarch/loongarch.cc (loongarch_regno_to_class):
18484         Change $r13 to JIRL_REGS.
18486 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
18488         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
18489         irange::supports_p.
18491 2022-06-28  Richard Biener  <rguenther@suse.de>
18493         PR middle-end/106053
18494         * match.pd ((T)a == (T)b): Avoid folding away sign
18495         changes in a comparison if we'd truncate to a boolean.
18497 2022-06-28  Kewen Lin  <linkw@linux.ibm.com>
18499         * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
18500         iterator GPR with SImode, adjust the condition and output template,
18501         rename to ...
18502         (*rotlsi3_insert_4): ... this.
18504 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
18506         * genmatch.cc: Add "final" and "override" to various vfunc
18507         implementations, removing redundant "virtual" as appropriate.
18508         * gensupport.cc: Likewise.
18509         * gimple-range-cache.h: Likewise.
18510         * ipa-icf-gimple.h: Likewise.
18511         * ipa-icf.h: Likewise.
18512         * read-md.h: Likewise.
18513         * read-rtl-function.cc: Likewise.
18514         * tree-ssa-loop-ch.cc: Likewise.
18515         * tree-ssa-sccvn.cc: Likewise.
18517 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
18519         * config/i386/i386-features.h: Add "final" and "override" to
18520         scalar_chain vfunc implementations as appropriate.
18522 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
18524         * tree-switch-conversion.h: Add "final" and "override" to cluster
18525         vfunc implementations as appropriate.
18527 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
18529         * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
18530         implementations as appropriate.
18532 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
18534         * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
18535         implementations, removing redundant "virtual" as appropriate.
18536         * gimple-ssa-strength-reduction.cc: Likewise.
18537         * ipa-prop.cc: Likewise.
18538         * rtl-ssa/blocks.cc: Likewise.
18539         * tree-into-ssa.cc: Likewise.
18540         * tree-ssa-dom.cc: Likewise.
18541         * tree-ssa-math-opts.cc: Likewise.
18542         * tree-ssa-phiopt.cc: Likewise.
18543         * tree-ssa-propagate.cc: Likewise.
18544         * tree-ssa-sccvn.cc: Likewise.
18545         * tree-ssa-strlen.cc: Likewise.
18546         * tree-ssa-uncprop.cc: Likewise.
18548 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
18550         * adjust-alignment.cc: Add "final" and "override" to opt_pass
18551         vfunc implementations, removing redundant "virtual" as
18552         appropriate.
18553         * asan.cc: Likewise.
18554         * auto-inc-dec.cc: Likewise.
18555         * auto-profile.cc: Likewise.
18556         * bb-reorder.cc: Likewise.
18557         * cfgcleanup.cc: Likewise.
18558         * cfgexpand.cc: Likewise.
18559         * cfgrtl.cc: Likewise.
18560         * cgraphbuild.cc: Likewise.
18561         * combine-stack-adj.cc: Likewise.
18562         * combine.cc: Likewise.
18563         * compare-elim.cc: Likewise.
18564         * config/i386/i386-features.cc: Likewise.
18565         * coroutine-passes.cc: Likewise.
18566         * cprop.cc: Likewise.
18567         * cse.cc: Likewise.
18568         * dce.cc: Likewise.
18569         * df-core.cc: Likewise.
18570         * dse.cc: Likewise.
18571         * dwarf2cfi.cc: Likewise.
18572         * early-remat.cc: Likewise.
18573         * except.cc: Likewise.
18574         * final.cc: Likewise.
18575         * function.cc: Likewise.
18576         * fwprop.cc: Likewise.
18577         * gcse.cc: Likewise.
18578         * gimple-harden-conditionals.cc: Likewise.
18579         * gimple-if-to-switch.cc: Likewise.
18580         * gimple-isel.cc: Likewise.
18581         * gimple-laddress.cc: Likewise.
18582         * gimple-loop-interchange.cc: Likewise.
18583         * gimple-loop-jam.cc: Likewise.
18584         * gimple-loop-versioning.cc: Likewise.
18585         * gimple-low.cc: Likewise.
18586         * gimple-ssa-backprop.cc: Likewise.
18587         * gimple-ssa-evrp.cc: Likewise.
18588         * gimple-ssa-isolate-paths.cc: Likewise.
18589         * gimple-ssa-nonnull-compare.cc: Likewise.
18590         * gimple-ssa-split-paths.cc: Likewise.
18591         * gimple-ssa-store-merging.cc: Likewise.
18592         * gimple-ssa-strength-reduction.cc: Likewise.
18593         * gimple-ssa-warn-access.cc: Likewise.
18594         * gimple-ssa-warn-alloca.cc: Likewise.
18595         * gimple-ssa-warn-restrict.cc: Likewise.
18596         * gimple-warn-recursion.cc: Likewise.
18597         * graphite.cc: Likewise.
18598         * ifcvt.cc: Likewise.
18599         * init-regs.cc: Likewise.
18600         * ipa-comdats.cc: Likewise.
18601         * ipa-cp.cc: Likewise.
18602         * ipa-devirt.cc: Likewise.
18603         * ipa-fnsummary.cc: Likewise.
18604         * ipa-free-lang-data.cc: Likewise.
18605         * ipa-icf.cc: Likewise.
18606         * ipa-inline.cc: Likewise.
18607         * ipa-modref.cc: Likewise.
18608         * ipa-profile.cc: Likewise.
18609         * ipa-pure-const.cc: Likewise.
18610         * ipa-reference.cc: Likewise.
18611         * ipa-split.cc: Likewise.
18612         * ipa-sra.cc: Likewise.
18613         * ipa-visibility.cc: Likewise.
18614         * ipa.cc: Likewise.
18615         * ira.cc: Likewise.
18616         * jump.cc: Likewise.
18617         * loop-init.cc: Likewise.
18618         * lower-subreg.cc: Likewise.
18619         * mode-switching.cc: Likewise.
18620         * modulo-sched.cc: Likewise.
18621         * multiple_target.cc: Likewise.
18622         * omp-expand.cc: Likewise.
18623         * omp-low.cc: Likewise.
18624         * omp-oacc-kernels-decompose.cc: Likewise.
18625         * omp-oacc-neuter-broadcast.cc: Likewise.
18626         * omp-offload.cc: Likewise.
18627         * omp-simd-clone.cc: Likewise.
18628         * passes.cc: Likewise.
18629         * postreload-gcse.cc: Likewise.
18630         * postreload.cc: Likewise.
18631         * predict.cc: Likewise.
18632         * recog.cc: Likewise.
18633         * ree.cc: Likewise.
18634         * reg-stack.cc: Likewise.
18635         * regcprop.cc: Likewise.
18636         * reginfo.cc: Likewise.
18637         * regrename.cc: Likewise.
18638         * reorg.cc: Likewise.
18639         * sancov.cc: Likewise.
18640         * sanopt.cc: Likewise.
18641         * sched-rgn.cc: Likewise.
18642         * stack-ptr-mod.cc: Likewise.
18643         * store-motion.cc: Likewise.
18644         * tracer.cc: Likewise.
18645         * trans-mem.cc: Likewise.
18646         * tree-call-cdce.cc: Likewise.
18647         * tree-cfg.cc: Likewise.
18648         * tree-cfgcleanup.cc: Likewise.
18649         * tree-complex.cc: Likewise.
18650         * tree-eh.cc: Likewise.
18651         * tree-emutls.cc: Likewise.
18652         * tree-if-conv.cc: Likewise.
18653         * tree-into-ssa.cc: Likewise.
18654         * tree-loop-distribution.cc: Likewise.
18655         * tree-nrv.cc: Likewise.
18656         * tree-object-size.cc: Likewise.
18657         * tree-parloops.cc: Likewise.
18658         * tree-predcom.cc: Likewise.
18659         * tree-profile.cc: Likewise.
18660         * tree-sra.cc: Likewise.
18661         * tree-ssa-ccp.cc: Likewise.
18662         * tree-ssa-copy.cc: Likewise.
18663         * tree-ssa-dce.cc: Likewise.
18664         * tree-ssa-dom.cc: Likewise.
18665         * tree-ssa-dse.cc: Likewise.
18666         * tree-ssa-forwprop.cc: Likewise.
18667         * tree-ssa-ifcombine.cc: Likewise.
18668         * tree-ssa-loop-ch.cc: Likewise.
18669         * tree-ssa-loop-im.cc: Likewise.
18670         * tree-ssa-loop-ivcanon.cc: Likewise.
18671         * tree-ssa-loop-prefetch.cc: Likewise.
18672         * tree-ssa-loop-split.cc: Likewise.
18673         * tree-ssa-loop-unswitch.cc: Likewise.
18674         * tree-ssa-loop.cc: Likewise.
18675         * tree-ssa-math-opts.cc: Likewise.
18676         * tree-ssa-phiopt.cc: Likewise.
18677         * tree-ssa-phiprop.cc: Likewise.
18678         * tree-ssa-pre.cc: Likewise.
18679         * tree-ssa-reassoc.cc: Likewise.
18680         * tree-ssa-sccvn.cc: Likewise.
18681         * tree-ssa-sink.cc: Likewise.
18682         * tree-ssa-strlen.cc: Likewise.
18683         * tree-ssa-structalias.cc: Likewise.
18684         * tree-ssa-uncprop.cc: Likewise.
18685         * tree-ssa-uninit.cc: Likewise.
18686         * tree-ssanames.cc: Likewise.
18687         * tree-stdarg.cc: Likewise.
18688         * tree-switch-conversion.cc: Likewise.
18689         * tree-tailcall.cc: Likewise.
18690         * tree-vect-generic.cc: Likewise.
18691         * tree-vectorizer.cc: Likewise.
18692         * tree-vrp.cc: Likewise.
18693         * tsan.cc: Likewise.
18694         * ubsan.cc: Likewise.
18695         * var-tracking.cc: Likewise.
18696         * vtable-verify.cc: Likewise.
18697         * web.cc: Likewise.
18699 2022-06-27  Andrew Stubbs  <ams@codesourcery.com>
18701         * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
18702         (jump): Likewise.
18703         (movdi_symbol_save_scc): Likewise.
18705 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
18707         PR rtl-optimization/7061
18708         * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
18710 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
18712         PR tree-optimization/94026
18713         * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
18714         (((X >> C1) & C2) eq/ne C3): Likewise.
18716 2022-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18718         * statistics.cc: Include tree.h.
18719         (get_function_name): New function.
18720         (statistics_fini_pass_2): Call get_function_name instead of
18721         current_function_name.
18722         (statistics_counter_event): Call get_function_name instead of
18723         function_name.
18724         (statistics_histogram_event): Likewise.
18726 2022-06-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18728         * config/xtensa/xtensa.md:
18729         Suppress unnecessary emitting nop insn in the split patterns for
18730         integer/FP constant synthesis, and add new peephole2 pattern that
18731         folds such synthesized additions.
18733 2022-06-25  Aldy Hernandez  <aldyh@redhat.com>
18735         * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
18736         instead of evrp.
18737         (dom_jt_state::push): Remove m_evrp.
18738         (dom_jt_state::pop): Same.
18739         (dom_jt_state::record_ranges_from_stmt): Remove.
18740         (dom_jt_state::register_equiv): Remove updating of evrp ranges.
18741         (class dom_jt_simplifier): Pass ranger to constructor.
18742         Inherit from hybrid_jt_simplifier.
18743         (dom_jt_simplifier::simplify): Convert to ranger.
18744         (pass_dominator::execute): Same.
18745         (all_uses_feed_or_dominated_by_stmt): New.
18746         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
18747         (dom_opt_dom_walker::before_dom_children): Call
18748         set_global_ranges_from_unreachable_edges.
18749         Do not call record_ranges_from_stmt.
18750         (dom_opt_dom_walker::after_dom_children): Remove evrp use.
18751         (cprop_operand): Use int_range<> instead of value_range.
18752         (dom_opt_dom_walker::fold_cond): New.
18753         (dom_opt_dom_walker::optimize_stmt): Pass ranger to
18754         cprop_into_stmt.
18755         Use fold_cond() instead of vrp_visit_cond_stmt().
18756         * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
18757         pass state to simplifier.
18758         * vr-values.h (class vr_values): Make fold_cond public.
18760 2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>
18762         * common/config/tilegx/tilegx-common.cc: Removed.
18763         * common/config/tilepro/tilepro-common.cc: Removed.
18764         * config.gcc: Remove tilegx and tilepro entries.
18765         * config/tilegx/constraints.md: Removed.
18766         * config/tilegx/feedback.h: Removed.
18767         * config/tilegx/linux.h: Removed.
18768         * config/tilegx/mul-tables.cc: Removed.
18769         * config/tilegx/predicates.md: Removed.
18770         * config/tilegx/sync.md: Removed.
18771         * config/tilegx/t-tilegx: Removed.
18772         * config/tilegx/tilegx-builtins.h: Removed.
18773         * config/tilegx/tilegx-c.cc: Removed.
18774         * config/tilegx/tilegx-generic.md: Removed.
18775         * config/tilegx/tilegx-modes.def: Removed.
18776         * config/tilegx/tilegx-multiply.h: Removed.
18777         * config/tilegx/tilegx-opts.h: Removed.
18778         * config/tilegx/tilegx-protos.h: Removed.
18779         * config/tilegx/tilegx.cc: Removed.
18780         * config/tilegx/tilegx.h: Removed.
18781         * config/tilegx/tilegx.md: Removed.
18782         * config/tilegx/tilegx.opt: Removed.
18783         * config/tilepro/constraints.md: Removed.
18784         * config/tilepro/feedback.h: Removed.
18785         * config/tilepro/gen-mul-tables.cc: Removed.
18786         * config/tilepro/linux.h: Removed.
18787         * config/tilepro/mul-tables.cc: Removed.
18788         * config/tilepro/predicates.md: Removed.
18789         * config/tilepro/t-tilepro: Removed.
18790         * config/tilepro/tilepro-builtins.h: Removed.
18791         * config/tilepro/tilepro-c.cc: Removed.
18792         * config/tilepro/tilepro-generic.md: Removed.
18793         * config/tilepro/tilepro-modes.def: Removed.
18794         * config/tilepro/tilepro-multiply.h: Removed.
18795         * config/tilepro/tilepro-protos.h: Removed.
18796         * config/tilepro/tilepro.cc: Removed.
18797         * config/tilepro/tilepro.h: Removed.
18798         * config/tilepro/tilepro.md: Removed.
18799         * config/tilepro/tilepro.opt: Removed.
18800         * configure.ac: Remove tilegx and tilepro entries.
18801         * configure: Rebuilt.
18802         * doc/extend.texi: Remove tilegx and tilepro entries.
18803         * doc/install.texi: Remove tilegx and tilepro entries.
18804         * doc/invoke.texi: Remove tilegx and tilepro entries.
18805         * doc/md.texi: Remove tilegx and tilepro entries.
18807 2022-06-25  Roger Sayle  <roger@nextmovesoftware.com>
18808             Richard Biener  <rguenther@suse.de>
18810         * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
18811         iteration over each basic block that was updated by the second
18812         iteration.
18814 2022-06-24  Jason Merrill  <jason@redhat.com>
18816         PR c++/87729
18817         PR c++/20423
18818         * doc/invoke.texi: Document changes.
18820 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
18822         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
18823         condition to avoid overflow.
18825 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18827         * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
18828         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
18829         * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
18830         OPTION_MASK_PPC_GFXOPT.
18831         * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
18832         * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
18833         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
18834         * config/rs6000/rs6000-c.cc: Update comment.
18835         * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
18836         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
18837         MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
18838         (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
18839         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
18840         * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
18841         MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
18842         MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
18843         MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
18845 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18847         * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
18848         OPTION_MASK_MFCRF.
18849         * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
18850         OPTION_MASK_MULTIPLE.
18851         * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
18852         * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
18853         OPTION_MASK_MFCRF.
18854         * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
18855         OPTION_MASK_EABI.
18856         * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
18857         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
18858         MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
18859         * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
18860         MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
18861         MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
18862         MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
18863         MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
18864         Replace with
18865         OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
18866         OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
18867         OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
18868         OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
18869         OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
18870         OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
18871         OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
18872         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
18873         MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
18874         * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
18875         with OPTION_MASK_MULTIPLE.
18876         (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
18877         MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
18878         MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
18879         MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
18880         MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
18881         * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
18882         with OPTION_MASK_EABI.
18884 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18886         * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
18887         RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
18888         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
18889         RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
18890         OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
18891         OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
18892         OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
18893         * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
18894         RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
18895         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
18896         RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
18898 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18900         * config/rs6000/rs6000-c.cc: Update comments.
18901         * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18902         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18903         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
18904         RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
18905         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
18906         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
18907         OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
18908         OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
18909         OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
18910         OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
18911         OPTION_MASK_MMA, OPTION_MASK_POWER10.
18912         * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
18913         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
18914         RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
18915         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
18916         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
18918 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
18920         * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
18921         MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
18922         OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
18924 2022-06-24  Richard Biener  <rguenther@suse.de>
18926         PR middle-end/106070
18927         * match.pd (a != b ? a : b): Fix translation of
18928         operand_equal_for_comparison_p.
18930 2022-06-24  Jan Hubicka  <jh@suse.cz>
18932         PR ipa/106057
18933         * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
18935 2022-06-24  Martin Liska  <mliska@suse.cz>
18937         PR middle-end/106059
18938         * profile-count.h: *= and /= operators need to modify this
18939         object.
18941 2022-06-24  Roger Sayle  <roger@nextmovesoftware.com>
18942             Uroš Bizjak  <ubizjak@gmail.com>
18944         PR target/105930
18945         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
18946         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
18947         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
18949 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
18951         * common.opt (nostdlib++): New.
18952         * doc/invoke.texi (-nostdlib++): Document it.
18954 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
18956         * doc/sourcebuild.texi (Environment attributes): Document
18957         two_plus_gigs.
18959 2022-06-23  David Malcolm  <dmalcolm@redhat.com>
18961         * common.opt (fdiagnostics-show-rules): New option.
18962         * diagnostic-format-json.cc (diagnostic_output_format_init_json):
18963         Fix up context->show_rules.
18964         * diagnostic-format-sarif.cc
18965         (diagnostic_output_format_init_sarif): Likewise.
18966         * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
18967         (diagnostic_metadata::precanned_rule): New class.
18968         (diagnostic_metadata::add_rule): New.
18969         (diagnostic_metadata::get_num_rules): New.
18970         (diagnostic_metadata::get_rule): New.
18971         (diagnostic_metadata::m_rules): New field.
18972         * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
18973         (print_any_rules): New.
18974         (diagnostic_report_diagnostic): Call it.
18975         * diagnostic.h (diagnostic_context::show_rules): New field.
18976         * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
18977         * opts.cc (common_handle_option): Handle
18978         OPT_fdiagnostics_show_rules.
18979         * toplev.cc (general_init): Set up global_dc->show_rules.
18981 2022-06-23  Martin Liska  <mliska@suse.cz>
18983         PR c++/106062
18984         * ubsan.cc (sanitize_unreachable_fn): Change order of calls
18985         in order to initialize UBSAN built-ins.
18987 2022-06-23  Martin Liska  <mliska@suse.cz>
18989         PR ipa/105600
18990         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
18991         Skip variables with body_removed.
18993 2022-06-23  liuhongt  <hongtao.liu@intel.com>
18995         * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
18996         reg_or_subregno.
18997         (sse4_2_pcmpistr): Ditto.
18999 2022-06-23  Xionghu Luo  <xionghuluo@tencent.com>
19001         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
19002         typo.
19003         * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
19004         * tree-switch-conversion.h: Likewise.
19006 2022-06-22  Jason Merrill  <jason@redhat.com>
19008         PR c++/104642
19009         * common.opt: Add -funreachable-traps.
19010         * doc/invoke.texi (-funreachable-traps): Document it.
19011         * opts.cc (finish_options): Enable at -O0 or -Og.
19012         * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
19013         (builtin_decl_unreachable, build_builtin_unreachable): New.
19014         * tree.h: Declare them.
19015         * ubsan.cc (sanitize_unreachable_fn): Factor out.
19016         (ubsan_instrument_unreachable): Use
19017         gimple_build_builtin_unreachable.
19018         * ubsan.h (sanitize_unreachable_fn): Declare.
19019         * gimple.cc (gimple_build_builtin_unreachable): New.
19020         * gimple.h: Declare it.
19021         * builtins.cc (expand_builtin_unreachable): Add assert.
19022         (fold_builtin_0): Call build_builtin_unreachable.
19023         * sanopt.cc: Don't run for just SANITIZE_RETURN
19024         or SANITIZE_UNREACHABLE when trapping.
19025         * cgraphunit.cc (walk_polymorphic_call_targets): Use new
19026         unreachable functions.
19027         * gimple-fold.cc (gimple_fold_call)
19028         (gimple_get_virt_method_for_vtable)
19029         * ipa-fnsummary.cc (redirect_to_unreachable)
19030         * ipa-prop.cc (ipa_make_edge_direct_to_target)
19031         (ipa_impossible_devirt_target)
19032         * ipa.cc (walk_polymorphic_call_targets)
19033         * tree-cfg.cc (pass_warn_function_return::execute)
19034         (execute_fixup_cfg)
19035         * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
19036         (unloop_loops)
19037         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
19038         Likewise.
19040 2022-06-22  Richard Sandiford  <richard.sandiford@arm.com>
19042         PR tree-optimization/106019
19043         * tree-data-ref.cc (dr_may_alias_p): Try using the
19044         innermost_loop_behavior to disambiguate non-loop queries.
19046 2022-06-22  Palmer Dabbelt  <palmer@rivosinc.com>
19048         * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
19050 2022-06-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19052         * config/xtensa/xtensa.md (bswapsi2_internal):
19053         Enlarge the buffer that is obviously smaller than the template
19054         string given to sprintf().
19056 2022-06-21  Roger Sayle  <roger@nextmovesoftware.com>
19057             Marek Polacek  <polacek@redhat.com>
19058             Segher Boessenkool  <segher@kernel.crashing.org>
19059             Kewen Lin  <linkw@linux.ibm.com>
19061         PR target/105991
19062         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
19063         exact_log2 doesn't return -1 (or zero).
19064         (plus_xor): New code iterator.
19065         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
19067 2022-06-21  Nathan Sidwell  <nathan@acm.org>
19069         * doc/invoke.texi (C++ Modules): Remove language-linkage
19070         as missing feature.
19072 2022-06-21  Arjun Shankar  <arjun@redhat.com>
19074         PR tree-optimization/94899
19075         * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
19076         0x80000000): New simplification.
19078 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
19080         PR rtl-optimization/106032
19081         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
19082         t may_trap_or_fault_p, even if it is cheap.
19084 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
19086         PR middle-end/106030
19087         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
19088         temp to expand_operands if mode has been promoted.
19090 2022-06-21  Xionghu Luo  <xionghuluo@tencent.com>
19092         PR target/105740
19093         * gimple-if-to-switch.cc (find_conditions): Don't skip the first
19094         condition bb.
19096 2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
19098         PR tree-optimization/105736
19099         * tree-object-size.cc (addr_object_size): Return size_unknown
19100         when object offset computation returns an error.
19102 2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
19104         PR target/105960
19105         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
19106         false if PIC register is used when calling ifunc functions.
19108 2022-06-20  Richard Biener  <rguenther@suse.de>
19110         PR middle-end/106027
19111         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
19112         type of the prevailing comparison for the new comparison type.
19113         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
19114         to A < X && A >= Y folding.
19116 2022-06-20  Kewen Lin  <linkw@linux.ibm.com>
19118         PR tree-optimization/105940
19119         * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
19120         slp_done_for_suggested_uf and adjust with it accordingly.
19121         (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
19122         pass it down to vect_analyze_loop_2 for the initial analysis and
19123         applying suggested unroll factor.
19124         (vect_is_simple_reduction): Add parameter slp and adjust with it.
19125         (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
19126         (vect_analyze_scalar_cycles): Likewise.
19128 2022-06-20  Martin Liska  <mliska@suse.cz>
19130         * bb-reorder.cc (find_traces_1_round): Add operators / and * and
19131         use them.
19132         (better_edge_p): Likewise.
19133         * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
19134         * cfgloopmanip.cc (scale_loop_profile): Likewise.
19135         * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
19136         * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
19137         * config/sh/sh.cc (expand_cbranchdi4): Likewise.
19138         * dojump.cc (do_compare_rtx_and_jump): Likewise.
19139         * final.cc (compute_alignments): Likewise.
19140         * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
19141         (decide_about_value): Likewise.
19142         * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
19143         * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
19144         * modulo-sched.cc (sms_schedule): Likewise.
19145         * omp-expand.cc (extract_omp_for_update_vars): Likewise.
19146         (expand_omp_ordered_sink): Likewise.
19147         (expand_omp_for_ordered_loops): Likewise.
19148         (expand_omp_for_static_nochunk): Likewise.
19149         * predict.cc (maybe_hot_count_p): Likewise.
19150         (probably_never_executed): Likewise.
19151         (set_even_probabilities): Likewise.
19152         (handle_missing_profiles): Likewise.
19153         (expensive_function_p): Likewise.
19154         * profile-count.h: Likewise.
19155         * profile.cc (compute_branch_probabilities): Likewise.
19156         * stmt.cc (emit_case_dispatch_table): Likewise.
19157         * symtab-thunks.cc (expand_thunk): Likewise.
19158         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
19159         * tree-ssa-sink.cc (select_best_block): Likewise.
19160         * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
19161         (switch_decision_tree::balance_case_nodes): Likewise.
19162         (switch_decision_tree::emit_case_nodes): Likewise.
19163         * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
19165 2022-06-20  yulong  <shiyulong@iscas.ac.cn>
19167         * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
19168         * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
19169         of RISCV_BUILTIN.
19170         * config/riscv/riscv-ftypes.def (0): Remove unused.
19171         (1): New.
19173 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19175         * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
19176         Consider relaxed MOVI instructions as L32R.
19178 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19180         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
19181         Use can_create_pseudo_p(), instead of using individual
19182         reload_in_progress and reload_completed.
19183         (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
19184         the existing predicate function.
19185         (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
19186         Use the standard RTX code predicate macros such as MEM_P,
19187         SYMBOL_REF_P and/or CONST_INT_P.
19188         * config/xtensa/xtensa.md: Avoid using numeric literals to determine
19189         if callee-saved register, at the split patterns for indirect sibcall
19190         fixups.
19192 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
19194         * common.opt (flag_sanitize_trap): New variable.
19195         (fsanitize-trap=, fsanitize-trap): New options.
19196         (fsanitize-undefined-trap-on-error): Change into deprecated alias
19197         for -fsanitize-trap=all.
19198         * opts.h (struct sanitizer_opts_s): Add can_trap member.
19199         * opts.cc (finish_options): Complain about unsupported
19200         -fsanitize-trap= options.
19201         (sanitizer_opts): Add can_trap values to all entries.
19202         (get_closest_sanitizer_option): Ignore -fsanitize-trap=
19203         options which have can_trap false.
19204         (parse_sanitizer_options): Add support for -fsanitize-trap=.
19205         For -fsanitize-trap=all, enable
19206         SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT.  Disallow
19207         -fsanitize-trap=vptr here.
19208         (common_handle_option): Handle OPT_fsanitize_trap_ and
19209         OPT_fsanitize_trap.
19210         * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
19211         flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
19212         flag_sanitize_undefined_trap_on_error.
19213         * gcc.cc (sanitize_spec_function): Use
19214         flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
19215         and drop use of flag_sanitize_undefined_trap_on_error in
19216         "undefined" handling.
19217         * ubsan.cc (ubsan_instrument_unreachable): Use
19218         flag_sanitize_trap & SANITIZE_??? instead of
19219         flag_sanitize_undefined_trap_on_error.
19220         (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
19221         ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
19222         ubsan_build_overflow_builtin, instrument_bool_enum_load,
19223         ubsan_instrument_float_cast, instrument_nonnull_arg,
19224         instrument_nonnull_return, instrument_builtin): Likewise.
19225         * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
19226         (-fsanitize-undefined-trap-on-error): Document as deprecated
19227         alias of -fsanitize-trap.
19229 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
19231         PR middle-end/105998
19232         * varasm.cc (narrowing_initializer_constant_valid_p): Check
19233         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
19234         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
19236 2022-06-18  Roger Sayle  <roger@nextmovesoftware.com>
19238         PR tree-optimization/105835
19239         * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
19240         Narrow integer multiplication by a zero_one_valued_p operand.
19241         (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
19242         conversions inside COND_EXPR where both data operands are
19243         integer constants.
19245 2022-06-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19247         * config/xtensa/constraints.md (Y):
19248         Change to include integer constants until reload begins.
19249         * config/xtensa/predicates.md (move_operand): Ditto.
19250         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
19251         Change to allow storing integer constants into litpool only after
19252         reload begins.
19254 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
19256         PR target/105209
19257         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
19258         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
19259         (alpha_store_data_bypass_p_1): Ditto.
19260         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
19261         of generic store_data_bypass_p.
19262         (ev4_ist_c): Remove insn reservation.
19264 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
19266         PR target/105970
19267         * config/i386/i386.cc (ix86_function_arg): Assert that
19268         the mode of pointer argumet is equal to ptr_mode, not Pmode.
19270 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
19272         PR target/105993
19273         * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
19274         instead of REGNO comparisons in combine splitter.
19276 2022-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
19278         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
19279         types.
19281 2022-06-17  Kito Cheng  <kito.cheng@sifive.com>
19283         * config/riscv/bitmanip.md: Supress warning.
19285 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
19287         PR target/106004
19288         * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
19289         Clear bits in the mask above bit 31.
19291 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
19293         * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
19294         to avoid spilling trivial literals to the constant pool.
19296 2022-06-16  David Malcolm  <dmalcolm@redhat.com>
19298         * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
19299         auto_diagnostic_group to group any warning with its note.
19300         (maybe_warn_for_bound): Likewise.
19301         (check_access): Likewise.
19302         (warn_dealloc_offset): Likewise.
19303         (pass_waccess::maybe_warn_memmodel): Likewise.
19304         (pass_waccess::maybe_check_dealloc_call): Likewise.
19305         (pass_waccess::warn_invalid_pointer): Likewise.
19306         (pass_waccess::check_dangling_stores): Likewise.
19308 2022-06-16  Jason Merrill  <jason@redhat.com>
19310         * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
19311         opts_set->x_flag_sanitize.
19313 2022-06-16  Jason Merrill  <jason@redhat.com>
19315         * flags.h (issue_strict_overflow_warning): Comment #endif.
19317 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
19319         * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
19320         was invaraint before, clear the invariant bit.
19321         * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
19322         * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
19324 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
19326         * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
19328 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
19330         PR tree-optimization/105983
19331         * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
19332         y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
19333         on non-equality comparisons.
19335 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
19337         PR tree-optimization/105984
19338         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
19339         x > stype_max / cst || x < stype_min / cst): fold_convert @1
19340         to TREE_TYPE (@0) just once and test for negative divisor
19341         also on that folded constant instead of on @1.
19343 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
19345         PR middle-end/105951
19346         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
19347         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
19348         as last argument to the internal functions.
19349         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
19350         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
19351         lhs == NULL_TREE case, fall through into the optab code with
19352         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
19353         fails, construct a CALL_EXPR and expand that.
19354         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
19355         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
19356         expand that.
19358 2022-06-16  Haochen Gui  <guihaoc@gcc.gnu.org>
19360         PR target/103316
19361         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
19362         gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
19363         RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
19364         RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
19365         * config/rs6000/vector.md (VEC_IC): New mode iterator.  Add support
19366         for new Power10 V1TI instructions.
19367         (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
19368         (vec_cmpu<mode><mode>): Likewise.
19369         (vector_nlt<mode>): Set mode iterator to VEC_IC.
19370         (vector_nltv1ti): Remove.
19371         (vector_gtu<mode>): Set mode iterator to VEC_IC.
19372         (vector_gtuv1ti): Remove.
19373         (vector_nltu<mode>): Set mode iterator to VEC_IC.
19374         (vector_nltuv1ti): Remove.
19375         (vector_geu<mode>): Set mode iterator to VEC_IC.
19376         (vector_ngt<mode>): Likewise.
19377         (vector_ngtv1ti): Remove.
19378         (vector_ngtu<mode>): Set mode iterator to VEC_IC.
19379         (vector_ngtuv1ti): Remove.
19380         (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
19381         (vector_gtu_v1ti_p): Remove.
19382         (vrotl<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
19383         (vrotlv1ti3): Remove.
19384         (vashr<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
19385         (vashrv1ti3): Remove.
19387 2022-06-16  Martin Liska  <mliska@suse.cz>
19389         * gengtype-state.cc (read_a_state_token): Do not skip extra
19390         character after escaped sequence.
19392 2022-06-16  Martin Liska  <mliska@suse.cz>
19394         PR driver/105564
19395         * spellcheck.cc (test_find_closest_string): Add new test.
19396         * spellcheck.h (class best_match): Prefer a difference in
19397         trailing sign symbol.
19399 2022-06-16  liuhongt  <hongtao.liu@intel.com>
19401         PR tree-optimization/53533
19402         * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
19403         (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
19404         and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
19406 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19408         * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
19410 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19412         * config/xtensa/predicates.md (reload_operand):
19413         New predicate.
19414         * config/xtensa/xtensa.md: New peephole2 pattern.
19416 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19418         * config/xtensa/xtensa.md (*round_up_to_even):
19419         New insn-and-split pattern.
19420         (*signed_ge_zero): Ditto.
19422 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19424         * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
19425         xtensa_emit_sibcall): New prototypes.
19426         (xtensa_expand_epilogue): Add new argument that specifies whether
19427         or not sibling call.
19428         * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
19429         New macro definition.
19430         (xtensa_prepare_expand_call): New function in order to share
19431         the common code.
19432         (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
19433         New functions.
19434         (xtensa_expand_epilogue): Add new argument sibcall_p and use it
19435         for sibling call handling.
19436         * config/xtensa/xtensa.md (call, call_value):
19437         Use xtensa_prepare_expand_call.
19438         (call_internal, call_value_internal):
19439         Add the condition in order to be disabled if sibling call.
19440         (sibcall, sibcall_value, sibcall_epilogue): New expansions.
19441         (sibcall_internal, sibcall_value_internal): New insn patterns,
19442         and split ones in order to take care of the indirect sibcalls.
19444 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19446         * doc/invoke.texi: Document -mextra-l32r-costs= option.
19448 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
19450         PR analyzer/105962
19451         * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
19452         * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
19453         Extend -fdiagnostics-path-format=separate-events so that with
19454         -fdiagnostics-show-path-depths it prints fndecls as well as stack
19455         depths.
19457 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
19459         * value-relation.h: Add "final" and "override" to relation_oracle
19460         vfunc implementations as appropriate.
19462 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
19464         PR middle-end/105975
19465         Revert everything apart from the expand_fn_using_insn and
19466         expand_direct_optab_fn changes from:
19467         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
19468         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
19469         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
19470         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
19471         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
19472         member variable.
19473         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
19474         (direct_internal_fn_p): Also return true for internal functions
19475         that map directly to instructions defined target-insns.def.
19476         (direct_internal_fn): Adjust comment accordingly.
19477         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
19478         (vectorizable_optab2): New local macros.
19479         (not_direct): Initialize directly_mapped.
19480         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
19481         (gather_load_direct, len_load_direct, mask_store_direct)
19482         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
19483         (vec_cond_direct, scatter_store_direct, len_store_direct)
19484         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
19485         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
19486         (while_direct, fold_extract_direct, fold_left_direct)
19487         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
19488         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
19489         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
19490         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
19491         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
19492         (direct_internal_fn_types): Handle functions that map to instructions
19493         defined in target-insns.def.
19494         (direct_internal_fn_types): Likewise.
19495         (direct_internal_fn_supported_p): Likewise.
19496         (internal_fn_expanders): Likewise.
19497         (expand_fn_using_insn): New function,
19498         split out and adapted from...
19499         (expand_direct_optab_fn): ...here.
19500         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
19501         (expand_GOMP_SIMT_EXIT): Likewise.
19502         (expand_GOMP_SIMT_LANE): Likewise.
19503         (expand_GOMP_SIMT_LAST_LANE): Likewise.
19504         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
19505         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
19506         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
19507         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
19509 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
19511         PR target/105981
19512         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
19513         to first_reg and second_reg respectively.  Initialize them correctly
19514         when generating big-endian code.
19516 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
19518         PR target/105974
19519         * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
19521 2022-06-15  Richard Biener  <rguenther@suse.de>
19523         PR tree-optimization/105971
19524         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
19525         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
19526         to leak less surprising alias results.
19528 2022-06-15  Richard Biener  <rguenther@suse.de>
19530         PR tree-optimization/105969
19531         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
19532         by zero in overflow check.
19534 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
19536         PR tree-optimization/105254
19537         PR tree-optimization/105940
19538         Revert:
19539         * config/aarch64/aarch64.cc
19540         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
19541         loop_vec_info as argument.  Restrict the unroll factor to values
19542         that divide the VF.
19543         (aarch64_vector_costs::finish_cost): Update call accordingly.
19545 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
19547         * read-rtl.cc (find_int): Substitute symbolic constants
19548         before converting the string to an integer.
19550 2022-06-15  Roger Sayle  <roger@nextmovesoftware.com>
19551             Richard Biener  <rguenther@suse.de>
19553         * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
19554         left shifts by a constant when the result is truncated, and the
19555         shift constant is well-defined.
19556         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
19557         support for rotations of signed integer types, by lowering
19558         using unsigned vector shifts.
19560 2022-06-15  liuhongt  <hongtao.liu@intel.com>
19562         PR target/105953
19563         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
19564         operands[3].
19566 2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
19568         PR rtl-optimization/105041
19569         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
19571 2022-06-14  Segher Boessenkool  <segher@kernel.crashing.org>
19573         * config/rs6000/vsx.md (VS_scalar): Delete.
19574         (rest of file): Adjust.
19576 2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
19578         PR ipa/105739
19579         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
19581 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
19583         * config/riscv/bitmanip.md: Add split to handle opportunities
19584         for slli + sh[123]add.uw
19586 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
19588         * config/riscv/predicates.md (consecutive_bits_operand):
19589         Implement new predicate.
19591 2022-06-14  Richard Biener  <rguenther@suse.de>
19593         PR tree-optimization/105946
19594         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
19595         Do not look at arguments not specified in the function call.
19597 2022-06-14  Richard Biener  <rguenther@suse.de>
19599         PR middle-end/105965
19600         * match.pd (view_convert CONSTRUCTOR): Handle single-element
19601         CTOR case.
19603 2022-06-14  Eric Botcazou  <ebotcazou@adacore.com>
19605         * warning-control.cc (copy_warning) [generic version]: Do not erase
19606         the warning data of the destination location when the no-warning
19607         bit is not set on the source.
19608         (copy_warning) [tree version]: Return early if TO is equal to FROM.
19609         (copy_warning) [gimple version]: Likewise.
19611 2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
19613         PR tree-optimization/105940
19614         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
19615         applying suggested_unroll_factor after start_over.
19617 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19619         * config/xtensa/predicates.md (shifted_mask_operand):
19620         New predicate.
19621         * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
19622         New insn-and-split pattern.
19623         (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
19624         *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
19625         *masktrue_const_shifted_mask): Ditto.
19627 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19629         * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
19631 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19633         * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
19634         Remove the first argument.
19635         (xtensa_emit_bit_branch): Remove it because now called only from the
19636         output statement of *bittrue insn pattern.
19637         * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
19638         argument 'p_invert', and make so that the condition is reversed by
19639         itself as needed.
19640         (xtensa_expand_conditional_branch): Share the common path, and remove
19641         condition inversion code.
19642         (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
19643         "false side" pattern.
19644         (xtensa_emit_bit_branch): Remove it because of the abovementioned
19645         reason, and move the function body to *bittrue insn pattern.
19646         * config/xtensa/xtensa.md (*bittrue): Transplant the output
19647         statement from removed xtensa_emit_bit_branch().
19648         (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
19649         insn patterns.
19651 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19653         * config/xtensa/predicates.md (logical_shift_operator,
19654         xtensa_shift_per_byte_operator): New predicates.
19655         * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
19656         New prototype.
19657         * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
19658         New helper function for funnel shift patterns.
19659         * config/xtensa/xtensa.md (ior_op): New code iterator.
19660         (*ashlsi3_1): Replace with new split pattern.
19661         (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
19662         (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
19663         New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
19664         in order to omit unnecessary bitwise AND operation.
19665         (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
19666         *shlrd_per_byte_<code>_omit_AND):
19667         New insn patterns for funnel shifts.
19669 2022-06-13  Jason Merrill  <jason@redhat.com>
19671         * tree-cfg.cc (pass_warn_function_return::execute): Also check
19672         BUILT_IN_TRAP.
19674 2022-06-13  Maciej W. Rozycki  <macro@embecosm.com>
19676         * config/riscv/riscv.md (length): Remove the explicit setting
19677         for "fcmp".
19679 2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
19681         * common/config/i386/cpuinfo.h (get_available_features): Require
19682         AVX for F16C and VAES.
19684 2022-06-13  Uroš Bizjak  <ubizjak@gmail.com>
19686         PR target/105927
19687         * config/i386/predicates.md (register_no_elim_operand):
19688         Return true for subreg of a memory operand.
19690 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
19692         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
19693         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
19694         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
19695         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
19696         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
19697         member variable.
19698         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
19699         (direct_internal_fn_p): Also return true for internal functions
19700         that map directly to instructions defined target-insns.def.
19701         (direct_internal_fn): Adjust comment accordingly.
19702         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
19703         (vectorizable_optab2): New local macros.
19704         (not_direct): Initialize directly_mapped.
19705         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
19706         (gather_load_direct, len_load_direct, mask_store_direct)
19707         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
19708         (vec_cond_direct, scatter_store_direct, len_store_direct)
19709         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
19710         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
19711         (while_direct, fold_extract_direct, fold_left_direct)
19712         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
19713         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
19714         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
19715         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
19716         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
19717         (direct_internal_fn_types): Handle functions that map to instructions
19718         defined in target-insns.def.
19719         (direct_internal_fn_types): Likewise.
19720         (direct_internal_fn_supported_p): Likewise.
19721         (internal_fn_expanders): Likewise.
19723 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
19725         * internal-fn.cc (expand_fn_using_insn): New function,
19726         split out and adapted from...
19727         (expand_direct_optab_fn): ...here.
19728         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
19729         (expand_GOMP_SIMT_EXIT): Likewise.
19730         (expand_GOMP_SIMT_LANE): Likewise.
19731         (expand_GOMP_SIMT_LAST_LANE): Likewise.
19732         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
19733         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
19734         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
19735         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
19737 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
19739         * omp-expand.cc (expand_omp_target): Remap user provided
19740         device clause arguments, -1 to -2 and -2 to -3, either
19741         at compile time if constant, or at runtime.
19743 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
19745         * common.opt (finstrument-functions): Set explicit value.
19746         (-finstrument-functions-once): New option.
19747         * doc/invoke.texi (Program Instrumentation Options): Document it.
19748         * gimplify.cc (build_instrumentation_call): New static function.
19749         (gimplify_function_tree): Call it to emit the instrumentation calls
19750         if -finstrument-functions[-once] is specified.
19752 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
19754         * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
19755         * gimple.h (gimple_set_location): Do not copy warning data from
19756         the previous location when it is UNKNOWN_LOCATION.
19757         * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
19759 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
19761         PR target/105911
19762         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
19763         *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
19764         (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
19765         operands[3] unmodified.
19767 2022-06-12  Simon Wright  <simon@pushface.org>
19769         PR target/104871
19770         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
19771         version is darwin20 (macOS 11) or greater, truncate the version to the
19772         major number.
19774 2022-06-12  Mark Mentovai  <mark@mentovai.com>
19776         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
19778 2022-06-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19780         PR target/96463
19781         * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
19782         (svld1rq_impl::fold): Define.
19783         * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
19784         op_mode and op_vec_flags.
19785         (aarch64_evpc_reencode): Initialize newd.op_mode and
19786         newd.op_vec_flags.
19787         (aarch64_evpc_sve_dup): New function.
19788         (aarch64_expand_vec_perm_const_1): Gate existing calls to
19789         aarch64_evpc_* functions under d->vmode == d->op_mode,
19790         and call aarch64_evpc_sve_dup.
19791         (aarch64_vectorize_vec_perm_const): Remove assert
19792         d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
19793         * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
19794         vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
19795         constant.
19797 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19799         * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
19800         New prototype.
19801         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
19802         xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
19803         xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
19804         New backend functions that process the abovementioned logic.
19805         (xtensa_emit_move_sequence): Revert the previous changes.
19806         * config/xtensa/xtensa.md: New split patterns for integer
19807         and floating-point, as the frontend part.
19809 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19811         * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
19812         for ABS and NEG, add missing case for BSWAP and CLRSB, and
19813         double the costs for integer divisions using libfuncs if
19814         optimizing for speed, in order to take advantage of fast constant
19815         division by multiplication.
19816         (TARGET_INSN_COST): New macro definition.
19817         (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
19818         calculating relative costs of a RTL insns, for both of speed and
19819         size.
19820         * config/xtensa/xtensa.md (return, nop, trap): Correct values of
19821         the attribute "length" that depends on TARGET_DENSITY.
19822         (define_asm_attributes, blockage, frame_blockage): Add missing
19823         attributes.
19824         * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
19825         dependent option, however, preparatory work for now.
19827 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19829         * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
19830         Pass through the block length / loop count conditions if
19831         zero-overhead looping is configured and active,
19833 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19835         * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
19836         Split into individual signedness, in order to use libcall
19837         "__umulsidi3" but not the other.
19838         (<u>mulhisi3): Merge into one by using code iterator.
19839         (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
19841 2022-06-11   Michael Meissner  <meissner@linux.ibm.com>
19843         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
19844         not generate block copies with vector pair instructions if we are
19845         tuning for power10.
19847 2022-06-10  Roger Sayle  <roger@nextmovesoftware.com>
19849         PR rtl-optimization/7061
19850         * expr.cc (emit_group_store): For groups that consist of a single
19851         scalar integer register that hold a complex mode value, use
19852         gen_lowpart to generate a SUBREG to "view_convert" to the complex
19853         mode.  For modes of different sizes, first convert to an integer
19854         mode of the appropriate size.
19856 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19858         * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
19860 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19862         * config/xtensa/xtensa.md (*andsi3_bitcmpl):
19863         New insn_and_split pattern.
19865 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19867         * config/xtensa/xtensa.md (one_cmplsi2):
19868         Rearrange as an insn_and_split pattern.
19870 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19872         * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
19874 2022-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
19876         * config/rs6000/rs6000.md (FP_ISA3): Delete.
19877         (float<QHI:mode><FP_ISA3:mode>2): Rename to...
19878         (float<QHI:mode><SFDF:mode>2): ... this.  Adjust.
19879         (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
19880         (*float<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
19881         (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
19882         (floatuns<QHI:mode><SFDF:mode>2): ... this.  Adjust.
19883         (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
19884         (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
19886 2022-06-09  Maciej W. Rozycki  <macro@embecosm.com>
19888         * config/riscv/riscv.md
19889         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
19890         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
19891         rather than space with FSFLAGS.
19893 2022-06-09  Tobias Burnus  <tobias@codesourcery.com>
19895         * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
19896         omp_discover_declare_target_fn_r): Don't walk reverse-offload
19897         target regions.
19899 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
19901         * doc/invoke.texi (-Waddress): Fix a typo in small example.
19902         Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
19904 2022-06-09  Cui,Lili  <lili.cui@intel.com>
19906         PR target/105493
19907         * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
19908         from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
19909         unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
19910         (icelake_cost): Ditto.
19911         (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
19912         stores and unaligned stores cost from {6, 6, 6, 10, 15} to
19913         {8, 8, 8, 10, 15}.
19915 2022-06-09  Haochen Gui  <guihaoc@gcc.gnu.org>
19917         * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
19918         and ior insns to one rotate and mask insn.
19919         (define_split for bswapdi register): Likewise.
19921 2022-06-08  Roger Sayle  <roger@nextmovesoftware.com>
19923         PR middle-end/105874
19924         * expr.cc (expand_expr_real_1) <normal_inner_ref>:  New local
19925         variable tem_modifier for calculating the expand_modifier enum to
19926         use for expanding tem.  If tem is a VAR_DECL, use EXPAND_MEMORY.
19928 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
19930         PR target/105879
19931         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
19932         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
19933         'gen_highpart' bitwise semantics and fix order of highpart and
19934         lowpart depending on target endianness.
19936 2022-06-08  Chung-Ju Wu  <jasonwucj@gmail.com>
19938         * config/arm/arm-cpus.in (star-mc1): New cpu.
19939         * config/arm/arm-tables.opt: Regenerate.
19940         * config/arm/arm-tune.md: Regenerate.
19941         * doc/invoke.texi: Update docs.
19943 2022-06-08  liuhongt  <hongtao.liu@intel.com>
19945         PR target/105513
19946         PR target/105504
19947         * config/i386/i386.md (*movsi_internal): Change alternative
19948         from *v to ?v.
19949         (*movdi_internal): Ditto.
19950         * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
19951         to ?r.
19952         (*vec_extractv4sf_mem): Ditto.
19953         (*vec_extracthf): Ditto.
19955 2022-06-07  Richard Earnshaw  <rearnsha@arm.com>
19957         PR target/105090
19958         * config/arm/arm.cc (arm_bfi_1_p): New function.
19959         (arm_bfi_p): New function.
19960         (arm_rtx_costs_internal): Add costs for BFI idioms.
19961         (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
19962         * config/arm/constraints.md (Dj): New constraint.
19963         * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
19964         (insv_zero): Convert to an insn with a split.
19965         (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
19967 2022-06-07  liuhongt  <hongtao.liu@intel.com>
19969         PR target/105854
19970         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
19971         from Yv to Yw.
19973 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
19975         PR middle-end/105853
19976         PR target/105856
19977         * calls.cc (load_register_parameters): Call store_constructor
19978         and int_expr_size directly instead of expanding via expand_expr.
19979         * expr.cc (static void store_constructor): Don't prototype here.
19980         (static HOST_WIDE_INT int_expr_size): Likewise.
19981         (store_constructor): No longer static.
19982         (int_expr_size): Likewise, no longer static.
19983         * expr.h (store_constructor): Prototype here.
19984         (int_expr_size): Prototype here.
19986 2022-06-07  Jan Beulich  <jbeulich@suse.com>
19988         Revert:
19989         2022-06-03  Jan Beulich  <jbeulich@suse.com>
19991         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19992         * configure.ac: Check for objcopy, producing
19993         ORIGINAL_OBJCOPY_FOR_TARGET.
19994         * configure: Update accordingly.
19995         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
19996         Handle objcopy.
19998 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
20000         * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
20001         * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
20002         Adjust clause printing style depending on
20003         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
20005 2022-06-07  Jan Beulich  <jbeulich@suse.com>
20007         * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
20008         Change type.
20009         * config/i386/i386-builtin-types.def: New function type
20010         (V4DI, V32QI, V32QI).
20011         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
20012         V4DI_FTYPE_V32QI_V32QI.
20014 2022-06-07  Jan Beulich  <jbeulich@suse.com>
20016         * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
20017         into account for reg-only insns.
20019 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
20021         * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
20022         IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
20023         TARGET_CMOVE's (scalar integer) conditional moves.
20024         * config/i386/sse.md (define_split): Recognize XOP's vpcmov
20025         from its equivalent (canonical) pxor;pand;pxor sequence.
20027 2022-06-07  Kewen Lin  <linkw@linux.ibm.com>
20029         * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
20030         parameter ORDER.
20032 2022-06-06  Andrew Stubbs  <ams@codesourcery.com>
20034         * config.in: Regenerate.
20035         * configure: Regenerate.
20036         * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
20038 2022-06-04  Roger Sayle  <roger@nextmovesoftware.com>
20040         PR middle-end/95126
20041         * calls.cc (load_register_parameters): When loading a suitable
20042         immediate_const_ctor_p VAR_DECL into a single word_mode register,
20043         construct it directly in a pseudo rather than read it (by parts)
20044         from memory.
20045         * expr.cc (int_expr_size): Make tree argument a const_tree.
20046         (immediate_const_ctor_p): Helper predicate.  Return true for
20047         simple constructors that may be materialized in a register.
20048         (expand_expr_real_1) [VAR_DECL]: When expanding a constant
20049         VAR_DECL with a suitable immediate_const_ctor_p constructor
20050         use store_constructor to materialize it directly in a pseudo.
20051         * expr.h (immediate_const_ctor_p): Prototype here.
20052         * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
20053         VALUE argument from tree to const_tree.
20054         * varasm.h (initializer_constant_valid_for_bitfield_p): Update
20055         prototype.
20057 2022-06-04  Jakub Jelinek  <jakub@redhat.com>
20059         PR target/105825
20060         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
20061         *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
20062         bits of mask aren't all set, use operands[2] mode for the AND
20063         operation instead of always SImode.
20065 2022-06-03  Jakub Jelinek  <jakub@redhat.com>
20067         PR middle-end/30314
20068         PR middle-end/105777
20069         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
20070         x > stype_max / cst || x < stype_min / cst): New simplification.
20072 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
20074         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
20075         Value_Range.
20076         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
20077         * value-range.h (Value_Range::Value_Range): Implement copy
20078         constructor for Value_Range.
20080 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
20082         * value-range.h (struct vrange_traits): Remove.
20083         (is_a): Rewrite without vrange_traits.
20084         (as_a): Same.
20086 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
20088         * value-range.cc (vrange::contains_p): Implement.
20089         (vrange::type): Return void.
20090         (vrange::supports_type_p): Implement.
20091         (irange::fits_p): Same.
20092         (vrange::set_undefined): Same.
20093         (irange::set_nonnegative): Same.
20094         (vrange::set_varying): Same.
20095         (vrange::union_): Same.
20096         (unsupported_range::set): Move to vrange.
20097         (unsupported_range::type): Move to vrange.
20098         (vrange::intersect): Implement for varying and undefined.
20099         (vrange::zero_p): Implement.
20100         (unsupported_range::supports_type_p): Move to vrange.
20101         (vrange::nonzero_p): Implement.
20102         (unsupported_range::set_undefined): Move to vrange.
20103         (unsupported_range::set_varying): Same.
20104         (unsupported_range::dump): Same.
20105         (unsupported_range::union_): Same.  Implement for varying and
20106         undefined.
20107         (unsupported_range::intersect): Move to vrange.
20108         (unsupported_range::zero_p): Same.
20109         (unsupported_range::nonzero_p): Same.
20110         (unsupported_range::set_nonzero): Same.
20111         (unsupported_range::set_zero): Same.
20112         (unsupported_range::set_nonnegative): Same.
20113         (unsupported_range::fits_p): Same.
20114         * value-range.h (class vrange): Remove abstract markers for most
20115         methods.
20116         (class unsupported_range): Remove most methods as they will now be
20117         inherited from vrange.
20119 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
20121         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
20122         an object level supports_type_p for irange and a static
20123         Value_Range::supports_type_p.
20124         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
20125         (fold_using_range::range_of_address): Same.
20126         (fold_using_range::range_of_builtin_call): Same.
20127         * gimple-range-fold.h (gimple_range_type): Same.
20128         (gimple_range_ssa_p): Same.
20129         * gimple-range-path.cc (path_range_query::internal_range_of_expr):
20130         Same.
20131         (path_range_query::range_of_stmt): Same.
20132         (path_range_query::add_to_imports): Same.
20133         * gimple-range.cc (gimple_ranger::range_on_edge): Same.
20134         (gimple_ranger::export_global_ranges): Same.
20135         * gimple-ssa-evrp-analyze.cc
20136         (evrp_range_analyzer::record_ranges_from_phis):  Same.
20137         * range-op.cc (range_operator::wi_fold): Same.
20138         (range_operator::fold_range): Same.
20139         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
20140         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
20141         (evaluate_control_stmt_using_entry_checks): Same.
20142         * tree-ssa-threadedge.cc
20143         (hybrid_jt_simplifier::compute_ranges_from_state): Same.
20144         * tree-vrp.cc (supported_types_p): Same.
20145         * value-query.cc (range_query::value_of_expr): Same.
20146         (range_query::value_on_edge): Same.
20147         (range_query::value_of_stmt): Same.
20148         (range_query::get_tree_range): Same.
20149         (get_range_global): Same.
20150         (global_range_query::range_of_expr): Same.
20151         * value-range-equiv.h (class value_range_equiv): Same.
20152         * value-range.cc (irange::supports_type_p): Same.
20153         (unsupported_range::supports_type_p): Same.
20154         * value-range.h (enum value_range_discriminator): Same.
20155         (Value_Range::init): Same.
20156         (Value_Range::supports_type_p): Same.
20157         (irange::supports_type_p): Same.
20158         (irange::supports_p): Same.
20159         (vrange::supports_type_p): Same.
20160         (vrange_allocator::alloc_vrange): Same.
20162 2022-06-03  Jan Beulich  <jbeulich@suse.com>
20164         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
20165         * configure.ac: Check for objcopy, producing
20166         ORIGINAL_OBJCOPY_FOR_TARGET.
20167         * configure: Update accordingly.
20168         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
20169         Handle objcopy.
20171 2022-06-03  Jan Beulich  <jbeulich@suse.com>
20173         * config/i386/mmx.md (mmx_psadbw): Convert to expander.
20174         (*mmx_psadbw): New. Mark as commutative.
20175         * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
20176         (*<sse2_avx2>_psadbw): New. Mark as commutative.
20178 2022-06-03  Alexandre Oliva  <oliva@adacore.com>
20180         PR tree-optimization/105665
20181         PR tree-optimization/100810
20182         * tree-ssa-loop-ivopts.cc
20183         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
20184         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
20185         (find_ssa_undef): Check precomputed flag and intervening uses.
20186         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
20188 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
20190         * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
20191         tree-logical-location.o.
20192         (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
20193         (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
20194         * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
20195         (sarif-stderr, sarif-file): New enum values.
20196         * diagnostic-client-data-hooks.h: New file.
20197         * diagnostic-format-sarif.cc: New file.
20198         * diagnostic-path.h (enum diagnostic_event::verb): New enum.
20199         (enum diagnostic_event::noun): New enum.
20200         (enum diagnostic_event::property): New enum.
20201         (struct diagnostic_event::meaning): New struct.
20202         (diagnostic_event::get_logical_location): New vfunc.
20203         (diagnostic_event::get_meaning): New vfunc.
20204         (simple_diagnostic_event::get_logical_location): New vfunc impl.
20205         (simple_diagnostic_event::get_meaning): New vfunc impl.
20206         * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
20207         (diagnostic_initialize): Initialize m_client_data_hooks.
20208         (diagnostic_finish): Clean up m_client_data_hooks.
20209         (diagnostic_event::meaning::dump_to_pp): New.
20210         (diagnostic_event::meaning::maybe_get_verb_str): New.
20211         (diagnostic_event::meaning::maybe_get_noun_str): New.
20212         (diagnostic_event::meaning::maybe_get_property_str): New.
20213         (get_cwe_url): Make non-static.
20214         (diagnostic_output_format_init): Handle
20215         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
20216         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
20217         * diagnostic.h (enum diagnostics_output_format): Add
20218         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
20219         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
20220         (class diagnostic_client_data_hooks): New forward decl.
20221         (class logical_location): New forward decl.
20222         (diagnostic_context::m_client_data_hooks): New field.
20223         (diagnostic_output_format_init_sarif_stderr): New decl.
20224         (diagnostic_output_format_init_sarif_file): New decl.
20225         (get_cwe_url): New decl.
20226         * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
20227         sarif-file.
20228         * doc/sourcebuild.texi (Scan a particular file): Add
20229         scan-sarif-file and scan-sarif-file-not.
20230         * langhooks-def.h (lhd_get_sarif_source_language): New decl.
20231         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
20232         (LANG_HOOKS_INITIALIZER): Add
20233         LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
20234         * langhooks.cc (lhd_get_sarif_source_language): New.
20235         * langhooks.h (lang_hooks::get_sarif_source_language): New field.
20236         * logical-location.h: New file.
20237         * plugin.cc (struct for_each_plugin_closure): New.
20238         (for_each_plugin_cb): New.
20239         (for_each_plugin): New.
20240         * plugin.h (for_each_plugin): New decl.
20241         * tree-diagnostic-client-data-hooks.cc: New file.
20242         * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
20243         (tree_diagnostics_defaults): Populate m_client_data_hooks.
20244         * tree-logical-location.cc: New file.
20245         * tree-logical-location.h: New file.
20247 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
20249         * common.opt (fdiagnostics-format=): Add json-stderr and json-file
20250         to description.
20251         (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
20252         (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
20253         (diagnostics_output_format): Add json-stderr and json-file.
20254         * diagnostic-format-json.cc (json_flush_to_file): New.
20255         (json_final_cb): Convert to...
20256         (json_flush_to_file): ...this, ...
20257         (json_stderr_final_cb): ...this, and...
20258         (json_file_final_cb): ...this.
20259         (diagnostic_output_format_init): Move to diagnostic.cc.
20260         (json_output_base_file_name): New.
20261         (diagnostic_output_format_init_json): New.
20262         (diagnostic_output_format_init_json_stderr): New.
20263         (diagnostic_output_format_init_json_file): New.
20264         * diagnostic.cc (diagnostic_output_format_init): Move here from
20265         diagnostic-format-json.cc; update for changes to enum.
20266         * diagnostic.h (enum diagnostics_output_format): Rename
20267         DIAGNOSTICS_OUTPUT_FORMAT_JSON to
20268         DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
20269         DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
20270         (diagnostic_output_format_init): Add base_file_name param.
20271         (diagnostic_output_format_init_json_stderr): New decl.
20272         (diagnostic_output_format_init_json_file): New dec.
20273         * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
20274         "json-file".  Rewrite so that the existing "json" is a synonym of
20275         "json-stderr".
20276         * gcc.cc (driver_handle_option): Pass dump_base_name to
20277         diagnostic_output_format_init.
20278         * opts.cc (common_handle_option): Likewise.
20280 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
20282         * json.cc (string::print): Fix escaping of '\'.
20284 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
20286         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
20287         (-1 << 31) for the single-bit case, when operating on (1 << 31)
20288         in SImode.
20289         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
20290         any single-bit value, moving the special case for (1 << 31) to
20291         riscv_build_integer_1 (in riscv.c).
20293 2022-06-02  Roger Sayle  <roger@nextmovesoftware.com>
20295         PR target/105791
20296         * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
20297         (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
20299 2022-06-02  Jakub Jelinek  <jakub@redhat.com>
20301         PR target/105778
20302         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
20303         from AND and its operands and just verify operands[2] has HImode,
20304         SImode or for TARGET_64BIT DImode.  Allow operands[3] to be a mask
20305         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
20306         just throw away the masking.  Use force_reg before calling
20307         gen_lowpart.
20308         (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
20309         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
20310         just throw away the masking.
20311         (*ashl<mode>3_doubleword): Rename to ...
20312         (ashl<mode>3_doubleword): ... this.
20313         (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
20314         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
20315         Use force_reg before calling gen_lowpart.
20316         (*<insn><mode>3_mask): Likewise.
20317         (*<insn><dwi>3_doubleword_mask): Likewise.  Allow operands[3] to be
20318         a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
20319         case just throw away the masking.  Use force_reg before calling
20320         gen_lowpart.
20321         (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
20322         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
20323         throw away the masking.
20324         (*<insn><mode>3_doubleword): Rename to ...
20325         (<insn><mode>3_doubleword): ... this.
20326         (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
20327         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
20328         Use force_reg before calling gen_lowpart.
20329         (splitter after it): Remove :SI from AND and its operands and just
20330         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
20331         (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
20332         operands and just verify operands[1] has HImode, SImode or for
20333         TARGET_64BIT DImode.  Use force_reg before calling gen_lowpart.
20334         (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
20335         * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
20336         ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
20338 2022-06-02  Richard Biener  <rguenther@suse.de>
20340         PR tree-optimization/101668
20341         * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
20342         for vector types with compatible lane types.
20343         (vect_build_slp_tree_2): Deal with this.
20344         (vect_add_slp_permutation): Adjust.  Emit lowpart/concat
20345         special cases without VEC_PERM.
20346         (vectorizable_slp_permutation): Select the operand vector
20347         type and relax requirements.  Handle identity permutes
20348         with mismatching operand types.
20349         * optabs-query.cc (can_vec_perm_const_p): Only allow variable
20350         permutes for op_mode == mode.
20352 2022-06-02  Richard Biener  <rguenther@suse.de>
20354         PR tree-optimization/105802
20355         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
20356         Make sure to also compute the range in the type of the switch index.
20358 2022-06-01  David Seifert  <soap@gentoo.org>
20360         PR plugins/95648
20361         * configure: Regenerate.
20363 2022-06-01  H.J. Lu  <hjl.tools@gmail.com>
20365         PR rtl-optimization/105638
20366         * df-core.cc (df_find_single_def_src): Moved and renamed from
20367         find_single_def_src in loop-iv.cc.  Change the argument to rtx
20368         and use rtx_equal_p.  Return null for partial or conditional
20369         defs.
20370         * df.h (df_find_single_def_src): New prototype.
20371         * dse.cc (record_store): Use the constant source if the source
20372         register is set only once.
20373         * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
20374         (replace_single_def_regs): Replace find_single_def_src with
20375         df_find_single_def_src.
20377 2022-06-01  Wilco Dijkstra  <wilco.dijkstra@arm.com>
20379         * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
20380         selected_tune.
20381         (explicit_arch): Rename to selected_arch.
20382         (x_aarch64_override_tune_string): Remove.
20383         (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
20384         (aarch64_override_tune_string): Add Save so it gets saved/restored.
20385         * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
20386         * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
20387         (processor): Remove archtecture_version field.
20388         (selected_arch): Remove global.
20389         (selected_cpu): Remove global.
20390         (selected_tune): Remove global.
20391         (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
20392         (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
20393         (aarch64_override_options): Further simplify code to only set
20394         selected_arch and selected_tune globals.
20395         (aarch64_option_save): Remove now that target options are saved.
20396         (aarch64_option_restore): Remove redundant target option restores.
20397         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
20398         AARCH64_ISA_V9.
20399         * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
20400         * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
20401         (aarch64_ra_sign_key): Remove.
20403 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
20405         PR middle-end/30314
20406         * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
20407         x > ~(utype)0 / cst): New simplification.
20409 2022-06-01  Richard Biener  <rguenther@suse.de>
20411         PR tree-optimization/105786
20412         * tree-loop-distribution.cc
20413         (loop_distribution::transform_reduction_loop): Only do strlen
20414         replacement for integer type reductions.
20416 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
20418         PR tree-optimization/105770
20419         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
20420         CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
20422 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
20424         * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
20425         (sbr_vector::sbr_vector): Same.
20426         (sbr_vector::grow): Same.
20427         (sbr_vector::set_bb_range): Same.
20428         (sbr_vector::get_bb_range): Same.
20429         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
20430         (sbr_sparse_bitmap::set_bb_range): Same.
20431         (sbr_sparse_bitmap::get_bb_range): Same.
20432         (block_range_cache::set_bb_range): Same.
20433         (block_range_cache::get_bb_range): Same.
20434         (block_range_cache::dump): Same.
20435         (ssa_global_cache::get_global_range): Same.
20436         (ssa_global_cache::set_global_range): Same.
20437         (ssa_global_cache::clear): Same.
20438         (ssa_global_cache::dump): Same.
20439         (ranger_cache::get_global_range): Same.
20440         (ranger_cache::set_global_range): Same.
20441         (ranger_cache::range_of_def): Same.
20442         (ranger_cache::entry_range): Same.
20443         (ranger_cache::exit_range): Same.
20444         (ranger_cache::edge_range): Same.
20445         (ranger_cache::range_of_expr): Same.
20446         (ranger_cache::range_on_edge): Same.
20447         (ranger_cache::block_range): Same.
20448         (ranger_cache::propagate_cache): Same.
20449         (ranger_cache::fill_block_cache): Same.
20450         (ranger_cache::range_from_dom): Same.
20451         * gimple-range-cache.h: Same.
20452         * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
20453         Same.
20454         (gimple_outgoing_range::switch_edge_range): Same.
20455         (gimple_outgoing_range::edge_range_p): Same.
20456         * gimple-range-edge.h: Same.
20457         * gimple-range-fold.cc (fur_source::get_operand): Same.
20458         (fur_source::get_phi_operand): Same.
20459         (fur_edge::get_operand): Same.
20460         (fur_edge::get_phi_operand): Same.
20461         (fur_stmt::get_operand): Same.
20462         (fur_stmt::get_phi_operand): Same.
20463         (fur_list::fur_list): Same.
20464         (fur_list::get_operand): Same.
20465         (fur_list::get_phi_operand): Same.
20466         (fold_range): Same.
20467         (adjust_imagpart_expr): Same.
20468         (adjust_realpart_expr): Same.
20469         (gimple_range_adjustment): Same.
20470         (fold_using_range::fold_stmt): Same.
20471         (fold_using_range::range_of_range_op): Same.
20472         (fold_using_range::range_of_address): Same.
20473         (fold_using_range::range_of_phi): Same.
20474         (fold_using_range::range_of_call): Same.
20475         (fold_using_range::range_of_builtin_call): Same.
20476         (fold_using_range::range_of_builtin_int_call): Same.
20477         (fold_using_range::range_of_cond_expr): Same.
20478         (fur_source::register_outgoing_edges): Same.
20479         * gimple-range-fold.h (fold_range): Same.
20480         (gimple_range_type): Same.
20481         (gimple_range_ssa_p): Same.
20482         * gimple-range-gori.cc (gimple_range_calc_op1): Same.
20483         (gimple_range_calc_op2): Same.
20484         (gori_compute::compute_operand_range_switch): Same.
20485         (gori_compute::compute_operand_range): Same.
20486         (gori_compute::logical_combine): Same.
20487         (gori_compute::compute_logical_operands): Same.
20488         (gori_compute::compute_operand1_range): Same.
20489         (gori_compute::compute_operand2_range): Same.
20490         (gori_compute::compute_operand1_and_operand2_range): Same.
20491         (gori_compute::outgoing_edge_range_p): Same.
20492         (gori_compute::condexpr_adjust): Same.
20493         * gimple-range-gori.h (gimple_range_calc_op1): Same.
20494         (gimple_range_calc_op2): Same.
20495         * gimple-range-path.cc (path_range_query::get_cache): Same.
20496         (path_range_query::set_cache): Same.
20497         (path_range_query::range_on_path_entry): Same.
20498         (path_range_query::internal_range_of_expr): Same.
20499         (path_range_query::range_of_expr): Same.
20500         (path_range_query::ssa_range_in_phi): Same.
20501         (path_range_query::range_defined_in_block): Same.
20502         (path_range_query::compute_ranges_in_phis): Same.
20503         (path_range_query::compute_ranges_in_block): Same.
20504         (path_range_query::add_to_imports): Same.
20505         (path_range_query::range_of_stmt): Same.
20506         * gimple-range-path.h: Same.
20507         * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
20508         (gimple_infer_range::~side_effect_manager): Same.
20509         (gimple_infer_range::get_nonzero): Same.
20510         (gimple_infer_range::maybe_adjust_range): Same.
20511         (gimple_infer_range::add_range): Same.
20512         * gimple-range-infer.h: Same.
20513         * gimple-range-tests.cc: Same.
20514         * gimple-range-trace.cc (range_tracer::trailer): Same.
20515         (debug_seed_ranger): Same.
20516         * gimple-range-trace.h: Same.
20517         * gimple-range.cc (gimple_ranger::range_of_expr): Same.
20518         (gimple_ranger::range_on_entry): Same.
20519         (gimple_ranger::range_on_exit): Same.
20520         (gimple_ranger::range_on_edge): Same.
20521         (gimple_ranger::fold_range_internal): Same.
20522         (gimple_ranger::range_of_stmt): Same.
20523         (gimple_ranger::prefill_name): Same.
20524         (gimple_ranger::prefill_stmt_dependencies): Same.
20525         (gimple_ranger::export_global_ranges): Same.
20526         (gimple_ranger::dump_bb): Same.
20527         * gimple-range.h: Same.
20528         * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
20529         (memmodel_to_uhwi): Same.
20530         * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
20531         (determine_value_range): Same.
20532         (record_nonwrapping_iv): Same.
20533         (infer_loop_bounds_from_signedness): Same.
20534         (scev_var_range_cant_overflow): Same.
20535         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
20536         * value-query.cc (range_query::range_on_edge): Same.
20537         (range_query::range_of_stmt): Same.
20538         (range_query::value_of_expr): Same.
20539         (range_query::value_on_edge): Same.
20540         (range_query::value_of_stmt): Same.
20541         (range_query::get_tree_range): Same.
20542         (update_global_range): Same.
20543         (get_range_global): Same.
20544         (gimple_range_global): Same.
20545         (global_range_query::range_of_expr): Same.
20546         (range_query::query_relation): Same.
20547         * value-query.h (gimple_range_global): Same.
20548         (update_global_range): Same.
20549         * vr-values.cc (vr_values::range_of_expr): Same.
20550         (bounds_of_var_in_loop): Same.
20551         (simplify_using_ranges::vrp_visit_cond_stmt): Same.
20552         * vr-values.h (class vr_values): Same.
20553         * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
20555 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
20557         * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
20558         vrange allocator.
20559         (sbr_vector::grow): Same.
20560         (sbr_vector::set_bb_range): Same.
20561         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
20562         (sbr_sparse_bitmap::set_bb_range): Same.
20563         (block_range_cache::~block_range_cache): Same.
20564         (block_range_cache::set_bb_range): Same.
20565         (ssa_global_cache::ssa_global_cache): Same.
20566         (ssa_global_cache::~ssa_global_cache): Same.
20567         (ssa_global_cache::set_global_range): Same.
20568         * gimple-range-cache.h (block_range_cache): Same.
20569         (ssa_global_cache): Same.
20570         * gimple-range-edge.cc
20571         (gimple_outgoing_range::calc_switch_ranges): Same.
20572         * gimple-range-edge.h (gimple_outgoing_range): Same.
20573         * gimple-range-infer.cc (infer_range_manager::get_nonzero):
20574         Same.
20575         (infer_range_manager::add_range): Same.
20576         * gimple-range-infer.h (class infer_range_manager): Same.
20577         * value-range.h (class irange_allocator): Rename to...
20578         (class vrange_allocator): ...this.
20579         (irange_allocator::irange_allocator): New.
20580         (vrange_allocator::vrange_allocator): New.
20581         (irange_allocator::~irange_allocator): New.
20582         (vrange_allocator::~vrange_allocator): New.
20583         (irange_allocator::get_memory): Rename to...
20584         (vrange_allocator::alloc): ...this.
20585         (vrange_allocator::alloc_vrange): Rename from...
20586         (irange_allocator::allocate): ...this.
20587         (vrange_allocator::alloc_irange): New.
20589 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
20591         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
20592         vrange and convert range_op_handler function calls to use the
20593         identically named object.
20594         * gimple-range-fold.cc (gimple_range_operand1): Same.
20595         (gimple_range_operand2): Same.
20596         (fold_using_range::fold_stmt): Same.
20597         (fold_using_range::range_of_range_op): Same.
20598         (fold_using_range::range_of_builtin_ubsan_call): Same.
20599         (fold_using_range::relation_fold_and_or): Same.
20600         (fur_source::register_outgoing_edges): Same.
20601         * gimple-range-fold.h (gimple_range_handler): Remove.
20602         * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
20603         (gimple_range_calc_op2): Same.
20604         (range_def_chain::get_def_chain): Same.
20605         (gori_compute::compute_operand_range): Same.
20606         (gori_compute::condexpr_adjust): Same.
20607         * gimple-range.cc (gimple_ranger::prefill_name): Same.
20608         (gimple_ranger::prefill_stmt_dependencies): Same.
20609         * range-op.cc (get_bool_state): Same.
20610         (class operator_equal): Add using clause.
20611         (class operator_not_equal): Same.
20612         (class operator_lt): Same.
20613         (class operator_le): Same.
20614         (class operator_gt): Same.
20615         (class operator_ge): Same.
20616         (class operator_plus): Same.
20617         (class operator_minus): Same.
20618         (class operator_mult): Same.
20619         (class operator_exact_divide): Same.
20620         (class operator_lshift): Same.
20621         (class operator_rshift): Same.
20622         (class operator_cast): Same.
20623         (class operator_logical_and): Same.
20624         (class operator_bitwise_and): Same.
20625         (class operator_logical_or): Same.
20626         (class operator_bitwise_or): Same.
20627         (class operator_bitwise_xor): Same.
20628         (class operator_trunc_mod): Same.
20629         (class operator_logical_not): Same.
20630         (class operator_bitwise_not): Same.
20631         (class operator_cst): Same.
20632         (class operator_identity): Same.
20633         (class operator_unknown): Same.
20634         (class operator_abs): Same.
20635         (class operator_negate): Same.
20636         (class operator_addr_expr): Same.
20637         (class pointer_or_operator): Same.
20638         (operator_plus::op1_range): Adjust for vrange.
20639         (operator_minus::op1_range): Same.
20640         (operator_mult::op1_range): Same.
20641         (operator_cast::op1_range): Same.
20642         (operator_bitwise_not::fold_range): Same.
20643         (operator_negate::fold_range): Same.
20644         (range_op_handler): Rename to...
20645         (get_handler): ...this.
20646         (range_op_handler::range_op_handler): New.
20647         (range_op_handler::fold_range): New.
20648         (range_op_handler::op1_range): New.
20649         (range_op_handler::op2_range): New.
20650         (range_op_handler::lhs_op1_relation): New.
20651         (range_op_handler::lhs_op2_relation): New.
20652         (range_op_handler::op1_op2_relation): New.
20653         (range_cast): Adjust for vrange.
20654         * range-op.h (range_op_handler): Remove function.
20655         (range_cast): Adjust for vrange.
20656         (class range_op_handler): New.
20657         (get_bool_state): Adjust for vrange.
20658         (empty_range_varying): Same.
20659         (relop_early_resolve): Same.
20660         * tree-data-ref.cc (compute_distributive_range): Same.
20661         * tree-vrp.cc (get_range_op_handler): Remove.
20662         (range_fold_binary_symbolics_p): Use range_op_handler class
20663         instead of get_range_op_handler.
20664         (range_fold_unary_symbolics_p): Same.
20665         (range_fold_binary_expr): Same.
20666         (range_fold_unary_expr): Same.
20667         * value-query.cc (range_query::get_tree_range): Adjust for vrange.
20669 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
20671         * gimple-range-fold.h (gimple_range_type): Check type before
20672         calling supports_type_p.
20673         * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
20674         * value-query.cc (range_query::get_tree_range): Same.
20675         * value-range.cc (Value_Range::lower_bound): New.
20676         (Value_Range::upper_bound): New.
20677         (Value_Range::dump): New.
20678         * value-range.h (class Value_Range): New.
20679         (irange::supports_type_p): Do not check if type is non-zero.
20681 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
20683         * value-range-equiv.cc (value_range_equiv::set): New.
20684         * value-range-equiv.h (class value_range_equiv): Make set method
20685         virtual.
20686         Remove default bitmap argument from set method.
20687         * value-range.cc (vrange::contains_p): New.
20688         (vrange::singleton_p): New.
20689         (vrange::operator=): New.
20690         (vrange::operator==): New.
20691         (irange::fits_p): Move to .cc file.
20692         (irange::set_nonnegative): New.
20693         (unsupported_range::unsupported_range): New.
20694         (unsupported_range::set): New.
20695         (unsupported_range::type): New.
20696         (unsupported_range::set_undefined): New.
20697         (unsupported_range::set_varying): New.
20698         (unsupported_range::dump): New.
20699         (unsupported_range::union_): New.
20700         (unsupported_range::intersect): New.
20701         (unsupported_range::zero_p): New.
20702         (unsupported_range::nonzero_p): New.
20703         (unsupported_range::set_nonzero): New.
20704         (unsupported_range::set_zero): New.
20705         (unsupported_range::set_nonnegative): New.
20706         (unsupported_range::fits_p): New.
20707         (irange::set): Call irange::set_undefined.
20708         (irange::verify_range): Check discriminator field.
20709         (irange::dump): Dump [irange] marker.
20710         (irange::debug): Move to...
20711         (vrange::debug): ...here.
20712         (dump_value_range): Accept vrange.
20713         (debug): Same.
20714         * value-range.h (enum value_range_discriminator): New.
20715         (class vrange): New.
20716         (class unsupported_range): New.
20717         (struct vrange_traits): New.
20718         (is_a): New.
20719         (as_a): New.
20720         (class irange): Inherit from vrange.
20721         (dump_value_range): Adjust for vrange.
20722         (irange::kind): Rename to...
20723         (vrange::kind): ...this.
20724         (irange::varying_p): Rename to...
20725         (vrange::varying_p): ...this.
20726         (irange::undefined_p): Rename to...
20727         (vrange::undefined_p): ...this.
20728         (irange::irange): Set discriminator.
20729         (irange::union_): Convert to irange before passing to irange
20730         method.
20731         (irange::intersect): Same.
20732         (vrange::supports_type_p): New.
20733         * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
20734         NULL bitmap argument to value_range_equiv::set.
20735         (vr_values::extract_range_basic): Same.
20737 2022-06-01  Richard Biener  <rguenther@suse.de>
20739         PR tree-optimization/105763
20740         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
20741         Check gimple_range_ssa_p.
20743 2022-05-31  Jason Merrill  <jason@redhat.com>
20745         * Makefile.in (TAGS): Look at libcpp/*.cc.
20747 2022-05-31  Christophe Lyon  <christophe.lyon@arm.com>
20749         * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
20750         Prefix mode names with E_.
20752 2022-05-31  Alan Modra  <amodra@gmail.com>
20754         * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
20755         spelling of DW_AT_namelist_item.
20757 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
20759         * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
20760         allow var to be private in the outer context.
20761         (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
20762         to build_outer_var_ref.
20764 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
20766         * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
20767         tieable with DImode on TARGET_64BIT, and SCmode tieable with
20768         V2SFmode, and DCmode with V2DFmode.
20770 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
20772         PR rtl-optimization/101617
20773         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
20774         special case (indicated by negate_cc_compare_p) to generate a
20775         -1/0 mask using neg;sbb.
20776         * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
20777         to generate an *x86_neg<mode>_ccc instruction.
20778         (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
20779         generate a *x86_mov<mode>cc_0_m1_neg instruction.
20781 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
20783         * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
20784         SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
20785         <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
20787 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
20789         PR target/70321
20790         * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
20791         DI mode equality/inequality using XOR here.  Instead generate a
20792         COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
20793         * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
20794         gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
20795         (general_scalar_chain::convert_compare): New function to convert
20796         scalar equality/inequality comparison into vector operations.
20797         (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
20798         new convert_compare helper method.
20799         (convertible_comparion_p): Update to match doubleword COMPARE
20800         of two register, memory or integer constant operands.
20801         * config/i386/i386-features.h (general_scalar_chain::convert_compare):
20802         Prototype/declare member function here.
20803         * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
20804         only allow new doubleword modes for EQ and NE operators.
20805         (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
20806         doubleword comparison into a pair of XORs followed by an IOR to
20807         set the (zero) flags register, optimizing the XORs if possible.
20808         * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
20809         iterator; V_AVX is (currently) only used by ptest.
20810         (sse4_1 mode attribute): Update to support V1TI and V2TI.
20812 2022-05-30  Uroš Bizjak  <ubizjak@gmail.com>
20814         * config/i386/i386.md: Remove constraints when used with
20815         const_int_operand, const0_operand, const_1_operand, constm1_operand,
20816         const8_operand, const128_operand, const248_operand, const123_operand,
20817         const2367_operand, const1248_operand, const359_operand,
20818         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
20819         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
20820         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
20821         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
20822         const_0_to_255_mul_8_operand, const_1_to_31_operand,
20823         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
20824         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
20825         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
20826         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
20827         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
20828         const_24_to_27_operand and const_28_to_31_operand.
20829         * config/i386/mmx.md: Ditto.
20830         * config/i386/sse.md: Ditto.
20831         * config/i386/subst.md: Ditto.
20832         * config/i386/sync.md: Ditto.
20834 2022-05-30  Jan Beulich  <jbeulich@suse.com>
20836         * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
20837         arguments.
20839 2022-05-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
20841         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
20843 2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
20845         PR target/105599
20846         * config/darwin.h: Move versions-specific handling of multiply_defined
20847         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
20849 2022-05-29  Eric Gallager  <egallager@gcc.gnu.org>
20851         PR other/82383
20852         * doc/sourcebuild.texi: Add entries for the c++tools,
20853         gotools, libbacktrace, libcc1, libcody, liboffloadmic,
20854         and libsanitizer directories. Remove entry for boehm-gc.
20855         Fix alphabetization for libquadmath.
20857 2022-05-28  Joel Holdsworth  <jholdsworth@nvidia.com>
20859         * config/avr/avr-mcus.def: Add device definitions.
20860         * doc/avr-mmcu.texi: Corresponding changes.
20861         * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
20862         device prefix.
20863         * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
20864         from leaking into cc1.
20866 2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
20868         PR target/103722
20869         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
20870         is special) for various scenarios.
20872 2022-05-28  Iain Sandoe  <iain@sandoe.co.uk>
20874         * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
20875         describing this macro.
20877 2022-05-27  Richard Biener  <rguenther@suse.de>
20879         * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
20881 2022-05-27  Martin Jambor  <mjambor@suse.cz>
20883         PR ipa/105639
20884         * ipa-prop.cc (propagate_controlled_uses): Check type of the
20885         constant before adding a LOAD reference.
20887 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
20889         * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
20890         to OMP_CLAUSE_ENTER.
20891         * tree.h (OMP_CLAUSE_ENTER_TO): Define.
20892         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
20893         OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
20894         * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
20895         instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
20896         "to" instead of "enter".
20897         * tree-nested.cc (convert_nonlocal_omp_clauses,
20898         convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
20899         OMP_CLAUSE_TO_DECLARE.
20901 2022-05-27  Richard Biener  <rguenther@suse.de>
20903         PR tree-optimization/105726
20904         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
20905         Constrain array-of-flexarray case more.
20907 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
20909         PR sanitizer/105729
20910         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
20911         to (X &) z + w if -fsanitize=null during GENERIC folding.
20913 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
20915         * match.pd (match_zero_one_valued_p): New predicate.
20916         (mult @0 @1): Use zero_one_valued_p for optimization to the
20917         expression "bit_and @0 @1".
20918         (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
20919         (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
20920         (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
20921         (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
20922         Remove three redundant transforms obsoleted by the three above.
20924 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
20926         * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
20927         to split a combined "and;cmp" sequence into "not;test".
20929 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20931         * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
20932         (bswapsi2_internal): Revise the template and condition, and add
20933         detection code for preceding the same insn in order to omit a
20934         "SSAI 8" instruction of the latter.
20935         (bswapdi2): Suppress built-in insn expansion with the corresponding
20936         library call when optimizing for size.
20938 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20940         * config/xtensa/xtensa-protos.h
20941         (xtensa_expand_block_set_unrolled_loop,
20942         xtensa_expand_block_set_small_loop): New prototypes.
20943         * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
20944         xtensa_expand_block_set_unrolled_loop,
20945         xtensa_expand_block_set_small_loop): New functions.
20946         * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
20947         * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
20949 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20951         * config/xtensa/xtensa.cc (xtensa_expand_block_move):
20952         Make instruction counting more accurate, and simplify emitting insns.
20954 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20956         * config/xtensa/constraints.md (M, O): Use the macro.
20957         * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
20958         sext_fldsz_operand): Ditto.
20959         * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
20960         xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
20961         xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
20962         xtensa_expand_prologue): Ditto.
20963         * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
20965 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20967         * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
20968         * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
20969         Ditto.
20971 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
20973         * gimple-range-cache.cc: Adjust comments.
20974         * gimple-range-infer.cc: Adjust comments.
20975         * gimple-range-infer.h: Adjust comments.
20976         * gimple-range.cc: Adjust comments.
20978 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
20980         * Makefile.in (OBJS): Use gimple-range-infer.o.
20981         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
20982         (ranger_cache::range_from_dom): Rename var side_effect to infer.
20983         (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
20984         * gimple-range-cache.h: Include gimple-range-infer.h.
20985         (class ranger_cache): Adjust prototypes, use infer_range_manager.
20986         * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
20987         (gimple_infer_range::*): Rename from stmt_side_effects.
20988         (infer_range_manager::*): Rename from side_effect_manager.
20989         * gimple-range-side-effect.cc: Rename.
20990         * gimple-range-side-effect.h: Rename.
20991         * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
20992         (class gimple_infer_range): Rename from stmt_side_effects.
20993         (class infer_range_manager): Rename from side_effect_manager.
20994         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
20995         from register_side_effects.
20996         * gimple-range.h (register_inferred_ranges): Adjust prototype.
20997         * range-op.h: Adjust comment.
20998         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
20999         (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
21001 2022-05-25  Simon Cook  <simon.cook@embecosm.com>
21003         * config/riscv/arch-canonicalize: Only add mafd extension if
21004         base was rv32/rv64g.
21006 2022-05-25  Tobias Burnus  <tobias@codesourcery.com>
21008         * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
21010 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
21012         PR sanitizer/105714
21013         * asan.cc (has_stmt_been_instrumented_p): For assignments which
21014         are both stores and loads, return true only if both destination
21015         and source have been instrumented.
21017 2022-05-25  Martin Liska  <mliska@suse.cz>
21018             Richard Biener   <rguenther@suse.de>
21020         * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
21021         * params.opt (max-unswitch-level): Remove.
21022         * doc/invoke.texi (max-unswitch-level): Likewise.
21023         * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
21024         gimplified expressions.
21025         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
21026         (tree_may_unswitch_on): Rename to ...
21027         (find_unswitching_predicates_for_bb): ... this and handle
21028         switch statements.
21029         (get_predicates_for_bb): Likewise.
21030         (set_predicates_for_bb): Likewise.
21031         (init_loop_unswitch_info): Likewise.
21032         (tree_ssa_unswitch_loops): Prepare stuff before calling
21033         tree_unswitch_single_loop.
21034         (tree_unswitch_single_loop): Rework the function using
21035         pre-computed predicates and with a per original loop cost model.
21036         (merge_last): New.
21037         (add_predicate_to_path): Likewise.
21038         (find_range_for_lhs): Likewise.
21039         (simplify_using_entry_checks): Rename to ...
21040         (evaluate_control_stmt_using_entry_checks): ... this, handle
21041         switch statements and improve simplifications using ranger.
21042         (simplify_loop_version): Rework using
21043         evaluate_control_stmt_using_entry_checks.
21044         (evaluate_bbs): New.
21045         (evaluate_loop_insns_for_predicate): Likewise.
21046         (tree_unswitch_loop): Adjust to allow switch statements and
21047         pass in the edge to unswitch.
21048         (clean_up_after_unswitching): New.
21049         (pass_tree_unswitch::execute): Pass down fun.
21051 2022-05-24  Eugene Rozenfeld  <erozen@microsoft.com>
21053         * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
21054         counts for the epilog loop.
21056 2022-05-24  Martin Sebor  <msebor@redhat.com>
21057             Richard Biener  <rguenther@suse.de>
21059         PR middle-end/105604
21060         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
21061         (get_origin_and_offset_r): Remove null handling.  Handle variable array
21062         sizes.
21063         (get_origin_and_offset): Handle null argument here.  Simplify.
21064         (alias_offset): Update comment.
21065         * pointer-query.cc (field_at_offset): Update comment.  Handle members
21066         of variable-length types.
21068 2022-05-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
21070         * target.def (vec_perm_const): Define new parameter op_mode and
21071         update doc.
21072         * doc/tm.texi: Regenerate.
21073         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
21074         vec_perm_const hook to add new parameter op_mode and return false
21075         if result and operand modes do not match.
21076         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
21077         * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
21078         * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
21079         * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
21080         * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
21081         * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
21082         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
21083         * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
21084         * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
21085         prototype.
21086         * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
21087         (ashrv2di3): Likewise.
21088         * optabs.cc (expand_vec_perm_const): Likewise.
21089         * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
21090         * optabs-query.cc (can_vec_perm_const_p): Define new parameter
21091         op_mode and pass it to vec_perm_const hook.
21092         (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
21093         * match.pd (vec_perm X Y CST): Likewise.
21094         * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
21095         * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
21096         (vect_grouped_load_supported): Likewise.
21097         (vect_shift_permute_load_chain): Likewise.
21098         * tree-vect-generic.cc (lower_vec_perm): Likewise.
21099         * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
21100         * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
21101         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
21102         * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
21103         (vect_transform_slp_perm_load): Likewise.
21104         (vectorizable_slp_permutation): Likewise.
21105         * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
21106         (vectorizable_bswap): Likewise.
21107         (scan_store_can_perm_p): Likewise.
21108         (vect_gen_perm_mask_checked): Likewise.
21110 2022-05-24  H.J. Lu  <hjl.tools@gmail.com>
21112         PR target/104816
21113         * config/i386/i386.opt: Remove Undocumented.
21114         * doc/invoke.texi: Document -mcet-switch.
21116 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
21118         * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
21119         * config/gcn/gcn-opts.h (enum gcn_isa): New.
21120         (TARGET_GCN3): Use enum gcn_isa.
21121         (TARGET_GCN3_PLUS): Likewise.
21122         (TARGET_GCN5): Likewise.
21123         (TARGET_GCN5_PLUS): Likewise.
21124         (TARGET_CDNA1): New.
21125         (TARGET_CDNA1_PLUS): New.
21126         (TARGET_CDNA2): New.
21127         (TARGET_CDNA2_PLUS): New.
21128         (TARGET_M0_LDS_LIMIT): New.
21129         (TARGET_PACKED_WORK_ITEMS): New.
21130         * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
21131         (gcn_option_override): Recognise CDNA ISA variants.
21132         (gcn_omp_device_kind_arch_isa): Support gfx90a.
21133         (gcn_expand_prologue): Make m0 init optional.
21134         Add support for packed work items.
21135         (output_file_start): Support gfx90a.
21136         (gcn_hsa_declare_function_name): Support gfx90a metadata.
21137         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
21138         __CDNA2__.
21139         * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
21140         (<su>mulsi3_highpart_imm): Likewise.
21141         (<su>mulsidi3): Likewise.
21142         (<su>mulsidi3_imm): Likewise.
21143         * config/gcn/gcn.opt (gpu_type): Add gfx90a.
21144         * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
21145         (main): Support gfx90a.
21146         * config/gcn/t-gcn-hsa: Add gfx90a multilib.
21147         * config/gcn/t-omp-device: Add gfx90a isa.
21149 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
21151         * config.in: Regenerate.
21152         * config/gcn/gcn-hsa.h (X_FIJI): Delete.
21153         (X_900): Delete.
21154         (X_906): Delete.
21155         (X_908): Delete.
21156         (S_FIJI): Delete.
21157         (S_900): Delete.
21158         (S_906): Delete.
21159         (S_908): Delete.
21160         (NO_XNACK): New macro.
21161         (NO_SRAM_ECC): New macro.
21162         (SRAMOPT): Keep only v4 variant.
21163         (HSACO3_SELECT_OPT): Delete.
21164         (DRIVER_SELF_SPECS): Delete.
21165         (ASM_SPEC): Remove LLVM 9 support.
21166         * config/gcn/gcn-valu.md
21167         (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
21168         (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
21169         * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
21170         (print_operand_address): Remove assembler bug workaround.
21171         * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
21172         (EF_AMDGPU_SRAM_ECC_V3): Delete.
21173         (SET_XNACK_ON): Delete v3 variants.
21174         (SET_XNACK_OFF): Delete v3 variants.
21175         (TEST_XNACK): Delete v3 variants.
21176         (SET_SRAM_ECC_ON): Delete v3 variants.
21177         (SET_SRAM_ECC_ANY): Delete v3 variants.
21178         (SET_SRAM_ECC_OFF): Delete v3 variants.
21179         (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
21180         (TEST_SRAM_ECC_ANY): Delete v3 variants.
21181         (TEST_SRAM_ECC_ON): Delete v3 variants.
21182         (copy_early_debug_info): Remove v3 support.
21183         (main): Remove v3 support.
21184         * configure: Regenerate.
21185         * configure.ac: Replace all GCN feature checks with a version check.
21187 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
21189         * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
21190         i.e. a double word negation of a zero extended operand, to
21191         neg;sbb.
21193 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
21195         PR tree-optimization/105668
21196         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
21197         V1TImode, just like V2DImode.
21198         * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
21199         Use VI_128 mode iterator instead of VI124_128 to include V2DI.
21200         (vcond_mask_v2div2di): Delete.
21201         (vcond_mask_v1tiv1ti): New define_expand.
21203 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
21205         * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
21206         to strncmp for strings of length one.
21208 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
21210         * config/riscv/predicates.md (imm5_operand): Add a new operand type for
21211         prefetch instructions.
21212         * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
21213         Extensions.
21214         (RISCV_ATYPE_SI): New.
21215         (RISCV_ATYPE_DI): New.
21216         * config/riscv/riscv-ftypes.def (0): New.
21217         (1): New.
21218         * config/riscv/riscv.md (riscv_clean_<mode>): New.
21219         (riscv_flush_<mode>): New.
21220         (riscv_inval_<mode>): New.
21221         (riscv_zero_<mode>): New.
21222         (prefetch): New.
21223         (riscv_prefetchi_<mode>): New.
21224         * config/riscv/riscv-cmo.def: New file.
21226 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
21228         * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
21229         * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
21230         (MASK_ZICBOM): New.
21231         (MASK_ZICBOP): New.
21232         (TARGET_ZICBOZ): New.
21233         (TARGET_ZICBOM): New.
21234         (TARGET_ZICBOP): New.
21235         * config/riscv/riscv.opt (riscv_zicmo_subext): New.
21237 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
21239         * tree-vect-slp-patterns.cc: Add "final" and "override" to
21240         vect_pattern::build impls as appropriate.
21242 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
21244         * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
21245         implementations, removing redundant "virtual" as appropriate.
21246         * ipa-fnsummary.h: Likewise.
21247         * ipa-modref.cc: Likewise.
21248         * ipa-param-manipulation.cc: Likewise.
21249         * ipa-profile.cc: Likewise.
21250         * ipa-prop.h: Likewise.
21251         * ipa-pure-const.cc: Likewise.
21252         * ipa-reference.cc: Likewise.
21253         * ipa-sra.cc: Likewise.
21254         * symbol-summary.h: Likewise.
21255         * symtab-thunks.cc: Likewise.
21257 2022-05-24  Martin Liska  <mliska@suse.cz>
21259         Revert:
21260         2022-05-24  Martin Liska  <mliska@suse.cz>
21262         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
21263         warning.
21265 2022-05-24  Martin Liska  <mliska@suse.cz>
21267         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
21268         warning.
21270 2022-05-24  Bruno Haible  <bruno@clisp.org>
21272         PR other/105527
21273         * doc/install.texi (Configuration): Add more details about --with-zstd.
21274         Document --with-zstd-include and --with-zstd-lib
21276 2022-05-24  Richard Biener  <rguenther@suse.de>
21278         PR middle-end/105711
21279         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
21280         and use it.
21281         (extract_bit_field_1): Pass down the mode of op0 to
21282         extract_bit_field_as_subreg.
21284 2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
21286         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
21287         fmv_cost.
21288         (rocket_tune_info): Add default fmv_cost 8.
21289         (sifive_7_tune_info): Ditto.
21290         (thead_c906_tune_info): Ditto.
21291         (optimize_size_tune_info): Ditto.
21292         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
21294 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
21296         PR c/105378
21297         * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
21298         builtin.
21299         * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
21300         clause but no depend clauses.
21301         * omp-expand.cc (expand_taskwait_call): Use
21302         BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
21303         BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
21305 2022-05-24  Richard Biener  <rguenther@suse.de>
21307         PR tree-optimization/100221
21308         * tree-ssa-dse.cc (contains_phi_arg): New function.
21309         (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
21311 2022-05-24  Richard Biener  <rguenther@suse.de>
21313         PR tree-optimization/105629
21314         * tree-ssa-phiopt.cc (spaceship_replacement): Allow
21315         a sign-extending conversion.
21317 2022-05-24  Kewen Lin  <linkw@linux.ibm.com>
21319         PR target/105627
21320         * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
21321         be a debug insn.
21322         (union_uses): Skip debug use_insn.
21324 2022-05-23  Vineet Gupta  <vineetg@rivosinc.com>
21326         * config/riscv/predicates.md (const_0_operand): Remove
21327         const_double.
21328         * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
21329         CONST_DOUBLE.
21330         * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
21332 2022-05-23  Mayshao  <mayshao-oc@zhaoxin.com>
21334         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
21335         the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
21336         (cpu_indicator_init): Handle Zhaoxin processors.
21337         * common/config/i386/i386-common.cc: Add lujiazui.
21338         * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
21339         VENDOR_ZHAOXIN.
21340         (enum processor_types): Add ZHAOXIN_FAM7H.
21341         (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
21342         * config.gcc: Add lujiazui.
21343         * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
21344         Signatures for zhaoxin
21345         (signature_SHANGHAI_ecx): Ditto.
21346         (signature_SHANGHAI_edx): Ditto.
21347         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
21348         -march=native recognize lujiazui processors.
21349         * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
21350         * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
21351         * config/i386/i386.h (enum processor_type): Ditto.
21352         * config/i386/i386.md: Add lujiazui.
21353         * config/i386/x86-tune-costs.h (struct processor_costs): Add
21354         lujiazui costs.
21355         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
21356         (ix86_adjust_cost): Ditto.
21357         * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
21358         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
21359         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
21360         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
21361         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
21362         (X86_TUNE_MOVX): Ditto.
21363         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
21364         (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
21365         (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
21366         (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
21367         (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
21368         (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
21369         (X86_TUNE_USE_LEAVE): Ditto.
21370         (X86_TUNE_PUSH_MEMORY): Ditto.
21371         (X86_TUNE_LCP_STALL): Ditto.
21372         (X86_TUNE_USE_INCDEC): Ditto.
21373         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
21374         (X86_TUNE_OPT_AGU): Ditto.
21375         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
21376         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
21377         (X86_TUNE_USE_SAHF): Ditto.
21378         (X86_TUNE_USE_BT): Ditto.
21379         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
21380         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
21381         (X86_TUNE_AVOID_MFENCE): Ditto.
21382         (X86_TUNE_EXPAND_ABS): Ditto.
21383         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
21384         (X86_TUNE_USE_FFREEP): Ditto.
21385         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
21386         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
21387         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
21388         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
21389         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
21390         * doc/extend.texi: Add details about lujiazui.
21391         * doc/invoke.texi: Add details about lujiazui.
21392         * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
21394 2022-05-23  Martin Liska  <mliska@suse.cz>
21396         * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
21398 2022-05-23  Richard Biener  <rguenther@suse.de>
21400         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
21401         (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
21403 2022-05-23  Richard Biener  <rguenther@suse.de>
21405         * gimple-expr.cc (is_gimple_condexpr): Remove.
21406         * gimple-expr.h (is_gimple_condexpr): Likewise.
21407         * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
21408         * tree-if-conv.cc (set_bb_predicate): Likewie.
21409         (add_to_predicate_list): Likewise.
21410         (gen_phi_arg_condition): Likewise.
21411         (predicate_scalar_phi): Likewise.
21412         (predicate_statements): Likewise.
21414 2022-05-23  Richard Biener  <rguenther@suse.de>
21416         * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
21417         * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
21418         as is_gimple_val.
21419         * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
21420         * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
21421         * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
21422         Build the condition of the COND_EXPR separately.
21423         * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
21424         * tree-vect-generic.cc (expand_vector_condition): Likewise.
21425         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
21426         Likewise.
21427         * vr-values.cc (simplify_using_ranges::simplify): Likewise.
21428         * tree-vect-patterns.cc: Add comment indicating we are
21429         building invalid COND_EXPRs and why.
21430         * omp-expand.cc (expand_omp_simd): Gimplify the condition
21431         to the COND_EXPR separately.
21432         (expand_omp_atomic_cas): Note part that should be unreachable
21433         now.
21434         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
21435         condition for valid replacements.
21436         * tree-if-conv.cc (predicate_bbs): Simulate previous
21437         re-folding of the condition in folded COND_EXPRs which
21438         is necessary because of unfolded GIMPLE_CONDs in the IL
21439         as in for example gcc.dg/fold-bopcond-1.c.
21440         * gimple-range-gori.cc (gori_compute::condexpr_adjust):
21441         Handle that the comparison is now in the def stmt of
21442         the select operand.  Required by gcc.dg/pr104526.c.
21444 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
21446         PR fortran/104949
21447         * langhooks-def.h (lhd_omp_array_size): New.
21448         (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
21449         (LANG_HOOKS_DECLS): Add it.
21450         * langhooks.cc (lhd_omp_array_size): New.
21451         * langhooks.h (struct lang_hooks_for_decls): Add hook.
21452         * omp-low.cc (scan_sharing_clauses, lower_omp_target):
21453         Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
21455 2022-05-23  Roger Sayle  <roger@nextmovesoftware.com>
21457         * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
21458         XOR/IOR case.  Account for two instructions for double-word
21459         operations.  In case of vector pandn, account for single
21460         instruction.  Likewise for integer andn with TARGET_BMI.
21461         <case NOT>: Vector NOT requires more than 1 instruction (pxor).
21462         <case NEG>: Double-word negation requires 3 instructions.
21464 2022-05-23  Tsukasa OI  <research_trasio@irq.a4lg.com>
21466         * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
21467         Fix "K" extension prefix to be placed before "J".
21468         * config/riscv/arch-canonicalize: Likewise.
21470 2022-05-23  liuhongt  <hongtao.liu@intel.com>
21472         * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
21473         <-> mask cost from 5 to 6.
21474         (icelake_cost): Ditto.
21476 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
21478         * config/aarch64/aarch64.md
21479         (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
21480         (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
21481         (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
21482         (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
21483         (one_cmpl_<optab><mode>2): Likewise.
21484         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
21485         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
21486         (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
21487         (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
21488         (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
21489         (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
21490         (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
21491         (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
21492         (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
21493         (rolsi3_insn_uxtw): New pattern.
21494         * config/aarch64/iterators.md (SHIFT): Add rotate left.
21495         (SHIFT_no_rotate): Add new iterator.
21496         (SHIFT:shift): Print rotate left as ror.
21497         (is_rotl): Add test for left rotate.
21499 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
21501         * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
21502         processing.  Add support for architectural extensions.
21503         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
21504         AARCH64_CPU_DEFAULT_FLAGS.
21505         (TARGET_CPU_NBITS): Remove.
21506         (TARGET_CPU_MASK): Remove.
21507         * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
21508         (get_tune_cpu): Assert CPU is always valid.
21509         (get_arch): Assert architecture is always valid.
21510         (aarch64_override_options): Cleanup CPU selection code and simplify logic.
21511         (aarch64_option_restore): Remove unnecessary checks on tune.
21513 2022-05-20  David Malcolm  <dmalcolm@redhat.com>
21515         * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
21516         "FINAL" and "OVERRIDE" with "final" and "override".
21517         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
21518         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
21519         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
21520         * diagnostic-path.h: Likewise.
21521         * digraph.cc: Likewise.
21522         * gcc-rich-location.h: Likewise.
21523         * gimple-array-bounds.cc: Likewise.
21524         * gimple-loop-versioning.cc: Likewise.
21525         * gimple-range-cache.cc: Likewise.
21526         * gimple-range-cache.h: Likewise.
21527         * gimple-range-fold.cc: Likewise.
21528         * gimple-range-fold.h: Likewise.
21529         * gimple-range-tests.cc: Likewise.
21530         * gimple-range.h: Likewise.
21531         * gimple-ssa-evrp.cc: Likewise.
21532         * input.cc: Likewise.
21533         * json.h: Likewise.
21534         * read-rtl-function.cc: Likewise.
21535         * tree-complex.cc: Likewise.
21536         * tree-diagnostic-path.cc: Likewise.
21537         * tree-ssa-ccp.cc: Likewise.
21538         * tree-ssa-copy.cc: Likewise.
21539         * tree-vrp.cc: Likewise.
21540         * value-query.h: Likewise.
21541         * vr-values.h: Likewise.
21543 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
21545         * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
21546         target_memcpy_rect_async to omp_runtime_apis array.
21548 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
21550         * doc/sourcebuild.texi (Decimal floating point attributes): Document
21551         dfp_bid effective-target.
21553 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
21555         * config/aarch64/aarch64.cc
21556         (aarch64_split_128bit_move): Handle DFP modes.
21557         (aarch64_mode_valid_for_sched_fusion_p): Likewise.
21558         (aarch64_classify_address): Likewise.
21559         (aarch64_legitimize_address_displacement): Likewise.
21560         (aarch64_reinterpret_float_as_int): Likewise.
21561         (aarch64_float_const_zero_rtx_p): Likewise.
21562         (aarch64_can_const_movi_rtx_p): Likewise.
21563         (aarch64_anchor_offset): Likewise.
21564         (aarch64_secondary_reload): Likewise.
21565         (aarch64_rtx_costs): Likewise.
21566         (aarch64_legitimate_constant_p): Likewise.
21567         (aarch64_gimplify_va_arg_expr): Likewise.
21568         (aapcs_vfp_sub_candidate): Likewise.
21569         (aarch64_vfp_is_call_or_return_candidate): Likewise.
21570         (aarch64_output_scalar_simd_mov_immediate): Likewise.
21571         (aarch64_gen_adjusted_ldpstp): Likewise.
21572         (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
21573         * config/aarch64/aarch64.md
21574         (movsf_aarch64): Use SFD iterator and rename into
21575         mov<mode>_aarch64.
21576         (movdf_aarch64): Use DFD iterator and rename into
21577         mov<mode>_aarch64.
21578         (movtf_aarch64): Use TFD iterator and rename into
21579         mov<mode>_aarch64.
21580         (split pattern for move TF mode): Use TFD iterator.
21581         * config/aarch64/iterators.md
21582         (GPF_TF_F16_MOV): Add DFP modes.
21583         (SFD, DFD, TFD): New iterators.
21584         (GPF_TF): Add DFP modes.
21585         (TX, DX, DX2): Likewise.
21587 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
21589         * configure: Regenerate.
21591 2022-05-19  Roger Sayle  <roger@nextmovesoftware.com>
21593         PR middle-end/98865
21594         * expr.cc (expand_expr_real_2) [MULT_EXPR]:  Expand X*Y as X&Y
21595         when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
21596         likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
21598 2022-05-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
21600         * config/rs6000/rs6000-builtins.def: Rephrase
21601         to remove RS6000_BTC_SPECIAL from comment.
21602         * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
21603         RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
21604         RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
21605         RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
21606         RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
21607         RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
21608         RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
21609         RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
21610         RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
21611         RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
21612         RS6000_BTM_ALWAYS): Delete.
21614 2022-05-19  Richard Biener  <rguenther@suse.de>
21616         * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
21617         computation of the new value.
21619 2022-05-19  Richard Biener  <rguenther@suse.de>
21621         * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
21622         (add_to_value): Use get_expression_id.
21623         (bitmap_insert_into_set): Likewise.
21624         (bitmap_value_insert_into_set): Likewise.
21626 2022-05-19  David Malcolm  <dmalcolm@redhat.com>
21628         * doc/invoke.texi (-fanalyzer-checker=): Add
21629         -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
21630         the list of analyzer warnings disabled by
21631         -fanalyzer-checker=taint.
21633 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
21635         PR debug/105630
21636         * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
21637         global vars without symtab node even when they have DECL_RTL
21638         set.
21640 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
21642         PR c/105635
21643         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
21644         doesn't have pointer or reference type.
21646 2022-05-18  Marek Polacek  <polacek@redhat.com>
21648         PR c/105131
21649         * doc/invoke.texi: Document -Wenum-int-mismatch.
21651 2022-05-18  Uros Bizjak  <ubizjak@gmail.com>
21653         * config/i386/gnu-user-common.h (defined): Only define
21654         TARGET_CAN_SPLIT_STACK for glibc targets.
21655         * config/i386/gnu.h (defined): Ditto.
21657 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
21659         * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
21660         is wider than word_mode, a multiplication costs three word_mode
21661         multiplications and two word_mode additions.
21663 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
21665         * config/i386/i386.md (define_split):  Split *andsi_1
21666         and *andn_si_ccno after reload with -Oz.
21668 2022-05-18  Frederik Harwath  <frederik@codesourcery.com>
21670         * graphite-scop-detection.cc (scop_detection::can_represent_loop):
21671         Output reason for failure to dump file.
21672         (scop_detection::harmful_loop_in_region): Likewise.
21673         (scop_detection::graphite_can_represent_expr): Likewise.
21674         (scop_detection::stmt_has_simple_data_refs_p): Likewise.
21675         (scop_detection::stmt_simple_for_scop_p): Likewise.
21676         (print_sese_loop_numbers): New function.
21677         (scop_detection::add_scop): Use from here.
21679 2022-05-18  liuhongt  <hongtao.liu@intel.com>
21681         PR middle-end/103462
21682         * match.pd (bitwise_induction_p): New match.
21683         * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
21684         Declare.
21685         (analyze_and_compute_bitwise_induction_effect): New function.
21686         (enum bit_op_kind): New enum.
21687         (final_value_replacement_loop): Enhanced to handle bitwise
21688         induction.
21690 2022-05-18  Haochen Gui  <guihaoc@gcc.gnu.org>
21692         PR target/95737
21693         * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
21695 2022-05-18  liuhongt  <hongtao.liu@intel.com>
21697         PR target/104375
21698         * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
21699         define_insn.
21701 2022-05-18  liuhongt  <hongtao.liu@intel.com>
21703         PR target/104610
21704         * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
21705         for QImode when code is EQ or NE.
21706         * config/i386/i386.md (cbranchoi4): New expander.
21708 2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
21709             Segher Boessenkool  <segher@kernel.crashing.org>
21711         PR target/105556
21712         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
21713         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
21714         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
21715         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
21716         Update other operands accordingly.
21718 2022-05-17  Marek Polacek  <polacek@redhat.com>
21720         * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
21722 2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
21724         PR target/99685
21725         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
21726         register count when not splitting IEEE 128-bit Complex.
21728 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
21730         * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
21731         target inside target if inner is reverse offload.
21733 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
21735         * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
21736         * config/nvptx/mkoffload.cc (process): Likewise.
21738 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
21740         * Makefile.in (OBJS): Add gimple-range-side-effect.o.
21741         * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
21742         (non_null_ref::~non_null_ref): Delete.
21743         (non_null_ref::set_nonnull): Delete.
21744         (non_null_ref::non_null_deref_p): Delete.
21745         (non_null_ref::process_name): Delete.
21746         (ranger_cache::ranger_cache): Initialize m_exit object.
21747         (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
21748         (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
21749         (ranger_cache::update_to_nonnull): Delete.
21750         (non_null_loadstore): Delete.
21751         (ranger_cache::block_apply_nonnull): Delete.
21752         (ranger_cache::apply_side_effects): New.
21753         * gimple-range-cache.h (class non_null_ref): Delete.
21754         (non_null_ref::adjust_range): Delete.
21755         (class ranger_cache): Adjust prototypes, add side effect manager.
21756         * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
21757         side effect manager for queries.
21758         (path_range_query::adjust_for_non_null_uses): Ditto.
21759         * gimple-range-path.h (class path_range_query): Delete non_null_ref.
21760         * gimple-range-side-effect.cc: New.
21761         * gimple-range-side-effect.h: New.
21762         * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
21763         (gimple_ranger::range_of_expr): Check def block for override value.
21764         (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
21765         (gimple_ranger::range_on_edge): Check for outgoing side-effects.
21766         (gimple_ranger::register_side_effects): Call apply_side_effects.
21767         (enable_ranger): Update contructor.
21768         * gimple-range.h (class gimple_ranger): Update prototype.
21769         (enable_ranger): Update prototype.
21770         * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
21772 2022-05-17  Giuliano Belinassi  <gbelinassi@suse.de>
21774         PR c++/105169
21775         * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
21776         * varasm.cc (switch_to_comdat_section): New
21777         (handle_vtv_comdat_section): Call switch_to_comdat_section.
21778         * varasm.h: Declare switch_to_comdat_section.
21780 2022-05-17  Richard Biener  <rguenther@suse.de>
21782         * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
21783         not clear bb->aux of the copied blocks.
21785 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
21787         PR tree-optimization/105458
21788         * value-relation.cc (path_oracle::register_relation): Merge, then check
21789         for equivalence.
21791 2022-05-17  Uroš Bizjak  <ubizjak@gmail.com>
21793         PR target/105624
21794         Revert:
21795         * config/i386/i386.md: Remove constraints when used with
21796         const_int_operand, const0_operand, const_1_operand, constm1_operand,
21797         const8_operand, const128_operand, const248_operand, const123_operand,
21798         const2367_operand, const1248_operand, const359_operand,
21799         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
21800         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
21801         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
21802         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
21803         const_0_to_255_mul_8_operand, const_1_to_31_operand,
21804         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
21805         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
21806         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
21807         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
21808         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
21809         const_24_to_27_operand and const_28_to_31_operand.
21810         * config/i386/mmx.md: Ditto.
21811         * config/i386/sse.md: Ditto.
21812         * config/i386/subst.md: Ditto.
21813         * config/i386/sync.md: Ditto.
21815 2022-05-17  Thomas Schwinge  <thomas@codesourcery.com>
21817         * diagnostic.cc: Don't advise to call 'abort' instead of
21818         'internal_error'.
21819         * system.h: Advise to call 'internal_error' instead of 'abort' or
21820         'fancy_abort'.
21822 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
21824         * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
21825         a reference to a variable which does not exist.
21826         * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
21827         in comment.
21829 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
21831         * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
21832         (isl_id_for_parameter): ... this new function name.
21833         (build_scop_context): Adjust function use.
21835 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
21837         PR target/105602
21838         * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
21839         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
21841 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
21843         * tree-core.h (enum omp_clause_depend_kind): Add
21844         OMP_CLAUSE_DEPEND_INOUTSET.
21845         * tree-pretty-print.cc (dump_omp_clause): Handle
21846         OMP_CLAUSE_DEPEND_INOUTSET.
21847         * gimplify.cc (gimplify_omp_depend): Likewise.
21848         * omp-low.cc (lower_depend_clauses): Likewise.
21850 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
21852         PR target/105613
21853         * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
21854         andv4si3 only for EQ, for NE use iorv4si3 instead.
21856 2022-05-17  Richard Biener  <rguenther@suse.de>
21858         PR tree-optimization/105618
21859         * tree-ssa-sink.cc (statement_sink_location): For virtual
21860         PHI uses ignore those defining the used virtual operand.
21862 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
21864         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
21865         hanlde -> handle.  Fix up comment formatting.
21867 2022-05-17  liuhongt  <hongtao.liu@intel.com>
21869         PR target/105033
21870         * config/i386/sse.md (*vec_concatv4si): Extend to ..
21871         (*vec_concat<mode>): .. V16QI and V8HImode.
21872         (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
21873         (*vec_concatv8hi_permt2): Ditto.
21875 2022-05-17  liuhongt  <hongtao.liu@intel.com>
21877         PR tree-optimization/105591
21878         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
21879         vec_perm_expr index.
21881 2022-05-16  Jason Merrill  <jason@redhat.com>
21883         PR c/105492
21884         * attribs.cc (decl_attributes): Fix broken typedefs here.
21886 2022-05-16  David Malcolm  <dmalcolm@redhat.com>
21888         PR analyzer/105103
21889         * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
21890         * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
21891         -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
21892         -Wanalyzer-va-list-use-after-va-end.
21894 2022-05-16  Richard Biener  <rguenther@suse.de>
21896         * gimple-match.h (gimple_build): Move code_helper overloads ...
21897         * gimple-fold.h (gimple_build): ... here.
21898         (gimple_build): Transition to new worker API.  Provide
21899         overloads from sequence-based API.
21900         (gimple_convert): Likewise.
21901         (gimple_convert_to_ptrofftype): Likewise.
21902         (gimple_build_vector_from_val): Likewise.
21903         (gimple_build_vector): Likewise.
21904         (gimple_build_round_up): Likewise.
21905         * gimple-fold.cc (gimple_build_insert_seq): New helper.
21906         (gimple_build): Use it.  Transition combined_fn and code_helper
21907         API parts.
21908         (gimple_convert): Transition to new worker API.
21909         (gimple_convert_to_ptrofftype): Likewise.
21910         (gimple_build_vector_from_val): Likewise.
21911         (gimple_build_vector): Likewise.
21912         (gimple_build_round_up): Likewise.
21914 2022-05-16  Richard Biener  <rguenther@suse.de>
21916         * gimple-match.h (code_helper): Move class ...
21917         * tree.h (code_helper): ... here.
21919 2022-05-16  Martin Liska  <mliska@suse.cz>
21921         * opts-global.cc (write_langs): Add comment.
21923 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
21925         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
21926         instead of a bitwise negation.
21927         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
21929 2022-05-16  Martin Liska  <mliska@suse.cz>
21931         * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
21932         (decls_mismatched_attributes): Likewise.
21933         * builtins.cc (c_strlen): Likewise.
21934         * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
21935         * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
21936         * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
21937         (aarch64_init_simd_builtin_types): Likewise.
21938         (aarch64_init_builtin_rsqrt): Likewise.
21939         * config/aarch64/aarch64.cc (is_madd_op): Likewise.
21940         * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
21941         (arm_init_simd_builtin_types): Likewise.
21942         * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
21943         (c_prefix): Likewise.
21944         (main): Likewise.
21945         * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
21946         * config/darwin-c.cc (darwin_register_frameworks): Likewise.
21947         * config/gcn/mkoffload.cc (process_obj): Likewise.
21948         * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
21949         (fold_builtin_cpu): Likewise.
21950         * config/m32c/m32c.cc (PUSHM_N): Likewise.
21951         * config/nvptx/mkoffload.cc (process): Likewise.
21952         * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
21953         * config/s390/s390.cc (NR_C_MODES): Likewise.
21954         * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
21955         (create_insn_code_compression_table): Likewise.
21956         * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
21957         * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
21958         * dwarf2out.cc (ARRAY_SIZE): Likewise.
21959         * genhooks.cc (emit_documentation): Likewise.
21960         (emit_init_macros): Likewise.
21961         * gimple-ssa-sprintf.cc (format_floating): Likewise.
21962         * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
21963         * godump.cc (keyword_hash_init): Likewise.
21964         * hash-table.cc (hash_table_higher_prime_index): Likewise.
21965         * input.cc (for_each_line_table_case): Likewise.
21966         * ipa-free-lang-data.cc (free_lang_data): Likewise.
21967         * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
21968         * optc-save-gen.awk: Likewise.
21969         * spellcheck.cc (test_metric_conditions): Likewise.
21970         * tree-vect-slp-patterns.cc (sizeof): Likewise.
21971         (ARRAY_SIZE): Likewise.
21972         * tree.cc (build_common_tree_nodes): Likewise.
21974 2022-05-16  Martin Liska  <mliska@suse.cz>
21976         * opts-global.cc (write_langs): Allocate at least one byte.
21978 2022-05-16  Richard Biener  <rguenther@suse.de>
21980         * match.pd (A cmp B ? A : B -> min/max): New patterns
21981         carried over from fold_cond_expr_with_comparison.
21983 2022-05-16  liuhongt  <hongtao.liu@intel.com>
21985         PR target/105587
21986         * config/i386/i386-expand.cc
21987         (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
21988         d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
21990 2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
21992         * config/i386/i386.md: Remove constraints when used with
21993         const_int_operand, const0_operand, const_1_operand, constm1_operand,
21994         const8_operand, const128_operand, const248_operand, const123_operand,
21995         const2367_operand, const1248_operand, const359_operand,
21996         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
21997         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
21998         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
21999         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
22000         const_0_to_255_mul_8_operand, const_1_to_31_operand,
22001         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
22002         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
22003         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
22004         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
22005         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
22006         const_24_to_27_operand and const_28_to_31_operand.
22007         * config/i386/mmx.md: Ditto.
22008         * config/i386/sse.md: Ditto.
22009         * config/i386/subst.md: Ditto.
22010         * config/i386/sync.md: Ditto.
22012 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
22013             Uroš Bizjak  <ubizjak@gmail.com>
22015         * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
22016         For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
22017         by a pshufd and pand.
22018         (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
22019         vector equality as a V2DImode vector comparison (see above),
22020         followed by a pshufd and pand.
22022 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
22024         PR tree-optimization/83907
22025         * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
22026         for memset with an constant char value.
22027         (handle_store): Improved handling of stores with a first byte
22028         of zero, but not storing_all_zeros_p.
22030 2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
22031             Manolis Tsamis  <manolis.tsamis@vrull.eu>
22033         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
22034         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
22035         * doc/sourcebuild.texi: add documentation for RISC-V specific
22036         test target keywords
22038 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22040         PR tree-optimization/105597
22041         * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
22042         of the lhs and make sure it is not undefined.
22044 2022-05-13  Sebastian Pop  <spop@amazon.com>
22046         PR target/105162
22047         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
22048         of str array.
22049         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
22050         memmodel_from_int and handle MEMMODEL_SYNC_*.
22051         (DEF0): Add __aarch64_*_sync functions.
22053 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22055         * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
22056         enumerated values.
22057         * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
22058         * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
22059         new VREL enumerated values.
22060         (*::lhs_op2_relation): Ditto.
22061         (*::op1_op2_relation): Ditto.
22062         (*::fold_range): Use new VREL enumerated values.
22063         (minus_op1_op2_relation_effect): Ditto.
22064         (range_relational_tests): Ditto.
22065         * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
22066         (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
22067         relation_kind.
22068         (*_op1_op2_relation): Return relation_kind.
22069         (relop_early_resolve): Use VREL_UNDEFINED.
22070         * value-query.cc (range_query::query_relation): Use VREL_VARYING.
22071         * value-relation.cc (VREL_LAST): Change enumerated value.
22072         (vrel_range_assert): Delete.
22073         (print_relation): Remove range assert.
22074         (rr_negate_table): Adjust table to use new enumerated values..
22075         (relation_negate): Remove range assert.
22076         (rr_swap_table): Adjust.
22077         (relation_swap): Remove range assert.
22078         (rr_intersect_table): Adjust.
22079         (relation_intersect): Remove range assert.
22080         (rr_union_table): Adjust.
22081         (relation_union): Remove range assert.
22082         (rr_transitive_table): Adjust.
22083         (relation_transitive): Remove range assert.
22084         (equiv_oracle::query_relation): Use new VREL enumerated values.
22085         (equiv_oracle::register_relation): Ditto.
22086         (relation_oracle::register_stmt): Ditto.
22087         (dom_oracle::set_one_relation): Ditto.
22088         (dom_oracle::register_transitives): Ditto.
22089         (dom_oracle::query_relation): Ditto.
22090         (path_oracle::register_relation): Ditto.
22091         (path_oracle::query_relation): Ditto.
22092         * value-relation.h (enum relation_kind_t): New relation_kind.
22093         (*_op1_op2_relation): Adjust prototypes.
22095 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22097         * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
22098         * value-range.cc (irange::legacy_verbose_union_): Add return value.
22099         (irange::irange_single_pair_union): New.
22100         (irange::irange_union): Add return value.
22101         * value-range.h (class irange): Adjust prototypes.
22103 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22105         * value-range.cc (irange::legacy_verbose_intersect): Add return value.
22106         (irange::irange_contains_p): New.
22107         (irange::irange_intersect): Add return value.
22108         * value-range.h (class irange): Adjust prototypes.
22110 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22112         * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
22113         had_global value instead.
22115 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22117         PR tree-optimization/104547
22118         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
22119         the op1/op2 relation to the relation call.
22120         * range-op.cc (*::lhs_op1_relation): Add param.
22121         (*::lhs_op2_relation): Ditto.
22122         (operator_minus::lhs_op1_relation): New.
22123         (range_relational_tests): Add relation param.
22124         * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
22126 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22128         * gimple-range.cc (gimple_ranger::register_side_effects): First check
22129         if the DEF should be exported as a global.
22130         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
22131         which will export globals.
22132         (execute_ranger_vrp): Remove call to export_global_ranges.
22134 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22136         * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
22138 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
22140         * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
22141         worlist truncated.
22142         (ranger_cache::entry_range): Add rfd_mode parameter.
22143         (ranger_cache::exit_range): Ditto.
22144         (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
22145         (ranger_cache::range_of_expr): Adjust call to entry_range.
22146         (ranger_cache::range_on_edge): Split to edge_range and call.
22147         (ranger_cache::fill_block_cache): Always invoke range_from_dom.
22148         (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
22149         mutiple predecessors.
22150         (ranger_cache::update_to_nonnull): Adjust call to exit_range.
22151         * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
22152         prototypes.
22154 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
22156         * gimple-harden-conditionals.cc: Include sbitmap.h.
22157         (pass_harden_conditional_branches::execute): Skip new blocks.
22158         (pass_harden_compares::execute): Likewise.
22160 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
22162         PR target/105463
22163         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
22164         mve_memory_operand.
22165         (*movmisalign<mode>_mve_load): Likewise.
22166         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
22167         form...
22168         (@movmisalign<mode>): ... thus.  Use generic predicates and then
22169         rework operands if they are not valid.  For MVE rework to a
22170         narrower element size if the alignment is not high enough.
22172 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
22174         * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
22175         when there is no write-back.  Fix use when strict is true.
22177 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22179         * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
22180         definition.
22182 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22184         * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
22185         extzvsi_internal): Rename from extv, extv_internal, extzv and
22186         extzv_internal, respectively.
22188 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
22190         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
22191         is the same on the LHS and RHS before rewriting one with the model
22192         of the other.
22194 2022-05-13  Richard Biener  <rguenther@suse.de>
22196         * gimple-fold.cc (gimple_build): Adjust for new
22197         main API.
22198         * gimple-fold.h (gimple_build): New main APIs with
22199         iterator, insert direction and iterator update.
22200         (gimple_build): New forwarder template.
22201         (clear_padding_type_may_have_padding_p): Remove.
22202         (clear_type_padding_in_mask): Likewise.
22203         (arith_overflowed_p): Likewise.
22204         * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
22205         (clear_type_padding_in_mask): Likewise.
22206         (arith_overflowed_p): Likewise.
22207         * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
22208         (gimplify_build2): Likewise.
22209         (gimplify_build1): Likewise.
22210         * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
22211         compare stmt.
22212         * gengtype.cc (open_base_files): Re-order includes.
22213         * builtins.cc: Re-order gimple-fold.h include.
22214         * calls.cc: Likewise.
22215         * cgraphbuild.cc: Likewise.
22216         * cgraphunit.cc: Likewise.
22217         * config/rs6000/rs6000-builtin.cc: Likewise.
22218         * config/rs6000/rs6000-call.cc: Likewise.
22219         * config/rs6000/rs6000.cc: Likewise.
22220         * config/s390/s390.cc: Likewise.
22221         * expr.cc: Likewise.
22222         * fold-const.cc: Likewise.
22223         * function-tests.cc: Likewise.
22224         * gimple-match-head.cc: Likewise.
22225         * gimple-range-fold.cc: Likewise.
22226         * gimple-ssa-evrp-analyze.cc: Likewise.
22227         * gimple-ssa-evrp.cc: Likewise.
22228         * gimple-ssa-sprintf.cc: Likewise.
22229         * gimple-ssa-warn-access.cc: Likewise.
22230         * gimplify.cc: Likewise.
22231         * graphite-isl-ast-to-gimple.cc: Likewise.
22232         * ipa-cp.cc: Likewise.
22233         * ipa-devirt.cc: Likewise.
22234         * ipa-prop.cc: Likewise.
22235         * omp-low.cc: Likewise.
22236         * pointer-query.cc: Likewise.
22237         * range-op.cc: Likewise.
22238         * tree-cfg.cc: Likewise.
22239         * tree-if-conv.cc: Likewise.
22240         * tree-inline.cc: Likewise.
22241         * tree-object-size.cc: Likewise.
22242         * tree-ssa-ccp.cc: Likewise.
22243         * tree-ssa-dom.cc: Likewise.
22244         * tree-ssa-forwprop.cc: Likewise.
22245         * tree-ssa-ifcombine.cc: Likewise.
22246         * tree-ssa-loop-ivcanon.cc: Likewise.
22247         * tree-ssa-math-opts.cc: Likewise.
22248         * tree-ssa-pre.cc: Likewise.
22249         * tree-ssa-propagate.cc: Likewise.
22250         * tree-ssa-reassoc.cc: Likewise.
22251         * tree-ssa-sccvn.cc: Likewise.
22252         * tree-ssa-strlen.cc: Likewise.
22253         * tree-ssa.cc: Likewise.
22254         * value-pointer-equiv.cc: Likewise.
22255         * vr-values.cc: Likewise.
22257 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
22259         PR rtl-optimization/105455
22260         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
22261         probabilities for newly-conditional edges.
22263 2022-05-13  liuhongt  <hongtao.liu@intel.com>
22265         PR tree-optimization/102583
22266         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
22267         contiguous stride in the VEC_PERM_EXPR.
22269 2022-05-12  Richard Biener  <rguenther@suse.de>
22271         PR rtl-optimization/105577
22272         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
22273         edges before running fast DCE via df_analyze.
22275 2022-05-12  Richard Biener  <rguenther@suse.de>
22277         PR tree-optimization/105562
22278         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
22279         against all CLOBBER defs if there's not an obvious must-alias
22280         and we are not doing redundant store elimination.
22281         (vn_walk_cb_data::redundant_store_removal_p): New field.
22282         (vn_reference_lookup_pieces): Initialize it.
22283         (vn_reference_lookup): Add argument to specify if we are
22284         doing redundant store removal.
22285         (eliminate_dom_walker::eliminate_stmt): Specify we do.
22286         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
22288 2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
22290         PR target/104371
22291         * config/i386/sse.md (vi1avx2const): New define_mode_attr.
22292         (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
22293         New define_split pattern.
22295 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
22297         * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
22298         if null_pointer_node.
22299         (gimplify_scan_omp_clauses): Likewise.
22300         * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
22301         as omp_all_memory.
22303 2022-05-11  Patrick Palka  <ppalka@redhat.com>
22305         * tree.h (TREE_VEC_BEGIN): Define.
22306         (TREE_VEC_END): Correct 'length' member access.
22307         (class tree_vec_range): Define.
22309 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
22311         * config/rs6000/rs6000.md: Use wa instead of <Fv>.
22313 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
22315         * config/rs6000/rs6000.md: Use d instead of <Ff>.
22317 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
22319         * config/rs6000/constraints.md (register_constraint "f"): Use
22320         RS6000_CONSTRAINT_d.
22321         * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
22322         RS6000_CONSTRAINT_f.
22323         (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
22324         * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
22325         RS6000_CONSTRAINT_d.
22327 2022-05-11  Richard Biener  <rguenther@suse.de>
22329         * gimple-fold.h (gimple_build): Use variadic template
22330         functions for the gimple_build API forwarders without
22331         location_t argument.
22333 2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
22335         PR middle-end/70090
22336         * asan.cc (initialize_sanitizer_builtins): Register
22337         __builtin_dynamic_object_size if necessary.
22339 2022-05-11  Richard Biener  <rguenther@suse.de>
22341         PR rtl-optimization/105559
22342         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
22343         for non-debug insns.
22345 2022-05-11  Richard Biener  <rguenther@suse.de>
22347         * generic-match-head.cc: Include tree-eh.h.
22348         * match.pd ((cond ...) cmp X): New simplification inspired
22349         by fold_binary_op_with_conditional_arg.
22350         (eq/ne (cmp ...) true/false): Likewise.
22352 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
22354         * doc/install.texi: Don't document '--with-hsa-runtime',
22355         '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
22357 2022-05-11  Martin Liska  <mliska@suse.cz>
22359         PR other/105527
22360         * doc/install.texi: Document the configure option --with-zstd.
22362 2022-05-11  Martin Liska  <mliska@suse.cz>
22364         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
22365         compute index in cpu_features2.
22366         (set_cpu_feature): Likewise.
22367         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
22368         loop for cpu_features2 and use NOP_EXPRs.
22370 2022-05-11  Richard Biener  <rguenther@suse.de>
22372         PR bootstrap/105551
22373         * opts.cc (finish_options): Also disable var-tracking if
22374         !DWARF2_DEBUGGING_INFO.
22376 2022-05-11  liuhongt  <hongtao.liu@intel.com>
22378         PR target/104915
22379         * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
22380         pre_reload define_insn_and_split.
22381         (*vec_setv2di_0_zero_extendhi_1): Ditto.
22382         (*vec_set<mode>_0_zero_extendsi): Ditto.
22383         (*vec_setv2di_0_zero_extendsi_1): Ditto.
22384         (ssewvecmode): New mode attr.
22385         (ssewvecmodelower): Ditto.
22386         (ssepackmodelower): Ditto.
22388 2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
22390         * config/rs6000/constraints.md (register constraint v): Use
22391         rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
22393 2022-05-11  Martin Liska  <mliska@suse.cz>
22395         PR target/105355
22396         * config/riscv/riscv.opt: Remove Separate from
22397         -msmall-data-limit=.
22398         * optc-gen.awk: Report error for the described situation.
22399         * gcc.cc: Use Separate syntax.
22400         * opts.cc (gen_command_line_string): Change option name.
22402 2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
22404         PR target/105414
22405         * match.pd (minmax): Skip constant folding for fmin/fmax when both
22406         arguments are sNaN or one is sNaN and another is NaN.
22408 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
22410         PR tree-optimization/105528
22411         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
22412         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
22414 2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
22416         * doc/md.texi (Defining Mode Iterators): Correct example replacement
22417         text.
22419 2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
22421         * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
22422         constants.
22423         (fmin<mode>3, fmax<mode>3): New insns.
22425 2022-05-10  Richard Biener  <rguenther@suse.de>
22427         * tree-if-conv.cc (fold_build_cond_expr): Use
22428         match-and-simplify to simplify the condition.
22429         (ifcvt_follow_ssa_use_edges): Remove.
22430         (predicate_scalar_phi): Use follow_all_ssa_edges.
22432 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
22434         PR middle-end/100400
22435         * omp-oacc-kernels-decompose.cc
22436         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
22437         call 'internal_error'.
22439 2022-05-10  Richard Biener  <rguenther@suse.de>
22441         PR middle-end/105537
22442         * toplev.cc (process_options): Move flag_var_tracking
22443         handling ...
22444         * opts.cc (finish_options): ... here.
22446 2022-05-10  Martin Liska  <mliska@suse.cz>
22448         * basic-block.h (struct basic_block_d): Use void *
22449         instead PTR.
22450         * cfgloop.h: Likewise.
22451         * cgraph.h: Likewise.
22452         * gengtype-state.cc (state_ident_by_name): Likewise.
22453         (record_type): Likewise.
22454         (read_state_already_seen_type): Likewise.
22455         * gengtype.cc (dump_type): Likewise.
22456         (input_file_by_name): Likewise.
22457         (main): Likewise.
22458         * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
22459         * ipa-utils.h (struct ipa_dfs_info): Likewise.
22460         * plugin.cc (htab_hash_plugin): Likewise.
22462 2022-05-10  Richard Biener  <rguenther@suse.de>
22464         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
22465         API with !GENERATOR_FILE.
22466         * opts.cc (global_options): Poison.
22467         (global_options_set): Likewise.
22468         (finish_options): Refer to options via opts.
22470 2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
22471             Roger Sayle  <roger@nextmovesoftware.com>
22473         * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
22474         alternative when optimizing for size and the immediate operand is
22475         const_0_to_127_operand.
22476         (*andqi_2_maybe_si): Likewise.
22477         * config/i386/predicates.md (const_0_to_127_operand): New predicate.
22479 2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
22481         * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
22482         "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
22483         can't be negative.
22485 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
22487         PR target/105292
22488         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
22489         true only for 8-byte vector modes.
22491 2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
22493         PR middle-end/70090
22494         * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
22495         (instrument_object_size): Get dynamic object size expression.
22497 2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
22499         PR preprocessor/101168
22500         * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
22501         Avoid empty identifier.
22503 2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
22505         PR target/101891
22506         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
22507         as a generic MMX mode instead of V4HImode.
22508         (zero_all_mm_registers): Use SET to zero instead of MOV for
22509         zeroing scratch registers.
22510         (ix86_zero_call_used_regs): Likewise.
22512 2022-05-09  liuhongt  <hongtao.liu@intel.com>
22514         PR target/105354
22515         * config/i386/i386-expand.cc
22516         (expand_vec_perm_pslldq_psrldq_por): New function.
22517         (ix86_expand_vec_perm_const_1): Try
22518         expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
22519         4/5-instruction sequence.
22521 2022-05-09  Martin Liška  <mliska@suse.cz>
22523         * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
22524         * system.h (STATIC_ASSERT): Define as static_assert for C++
22525         and fallback to array index in C.
22527 2022-05-09  Richard Biener  <rguenther@suse.de>
22529         PR tree-optimization/105517
22530         * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
22531         offset can be represented in the POINTER_PLUS_EXPR IL.
22532         (vn_reference_insert): Likewise.
22533         * poly-int.h (sext_hwi): Add poly version of sext_hwi.
22535 2022-05-09  Richard Biener  <rguenther@suse.de>
22537         * match.pd: Remove #if GIMPLE guards around ! using patterns.
22539 2022-05-09  liuhongt  <hongtao.liu@intel.com>
22541         PR target/105072
22542         * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
22543         New define_insn.
22544         (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
22545         define_insn_and_split.
22547 2022-05-09  Alex Coplan  <alex.coplan@arm.com>
22549         * cgraph.cc (cgraph_node::get_create): Don't dump if the current
22550         symtab state is PARSING.
22552 2022-05-09  Martin Liska  <mliska@suse.cz>
22554         * system.h (LIKELY): Define.
22555         (UNLIKELY): Likewise.
22556         * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
22557         macros.
22558         * dse.cc (set_position_unneeded): Likewise.
22559         (set_all_positions_unneeded): Likewise.
22560         (any_positions_needed_p): Likewise.
22561         (all_positions_needed_p): Likewise.
22562         * expmed.cc (flip_storage_order): Likewise.
22563         * genmatch.cc (dt_simplify::gen_1): Likewise.
22564         * ggc-common.cc (gt_pch_save): Likewise.
22565         * print-rtl.cc: Likewise.
22566         * rtl-iter.h (T>::array_type::~array_type): Likewise.
22567         (T>::next): Likewise.
22568         * rtl-ssa/internals.inl: Likewise.
22569         * rtl-ssa/member-fns.inl: Likewise.
22570         * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
22571         (rtx_properties::try_to_add_dest): Likewise.
22572         * rtlanal.h (growing_rtx_properties::repeat): Likewise.
22573         (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
22574         * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
22575         * sort.cc (likely): Likewise.
22576         (mergesort): Likewise.
22577         * wide-int.h (wi::eq_p): Likewise.
22578         (wi::ltu_p): Likewise.
22579         (wi::cmpu): Likewise.
22580         (wi::bit_and): Likewise.
22581         (wi::bit_and_not): Likewise.
22582         (wi::bit_or): Likewise.
22583         (wi::bit_or_not): Likewise.
22584         (wi::bit_xor): Likewise.
22585         (wi::add): Likewise.
22586         (wi::sub): Likewise.
22588 2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
22590         * config/riscv/arch-canonicalize: Handle g correctly.
22592 2022-05-07  Marek Polacek  <polacek@redhat.com>
22594         PR c++/101833
22595         PR c++/47634
22596         * tree-core.h (struct attribute_spec): Update comment for HANDLER.
22598 2022-05-06  Jason Merrill  <jason@redhat.com>
22600         * diagnostic-color.cc: Add fnname and targs color entries.
22601         * doc/invoke.texi: Document them.
22603 2022-05-06  Jason Merrill  <jason@redhat.com>
22605         * vec.h (vec::iterate): Fix comment.
22607 2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
22609         PR target/102059
22610         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
22611         and -mpower10-fusion options for inlining purposes.
22613 2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
22615         * config/aarch64/iterators.md (GPF_TF_F16): Delete.
22617 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
22619         * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
22620         omp_runtime_apis array.
22622 2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
22624         * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
22625         (scan_sharing_clauses):  Check a restriction on allocate clause.
22627 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
22629         * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
22630         and ORDERED clause conflict errors.  Add check for GRAINSIZE and
22631         NUM_TASKS on TASKLOOP.
22633 2022-05-05  Martin Liska  <mliska@suse.cz>
22635         * genautomata.cc (create_composed_state): Remove dead code.
22636         * graphite-poly.cc (print_pdrs): Likewise.
22637         * lto-wrapper.cc (run_gcc): Likewise.
22638         * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
22639         Likewise.
22641 2022-05-05  Martin Liska  <mliska@suse.cz>
22643         * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
22644         PROF_*.
22645         (gimple_gen_time_profiler): Likewise.
22647 2022-05-05  Martin Liska  <mliska@suse.cz>
22649         * value-prof.cc (stream_out_histogram_value): Remove sanity
22650         checking.
22652 2022-05-05  Richard Biener  <rguenther@suse.de>
22654         PR tree-optimization/104162
22655         * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
22656         &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
22657         becomes invariant.
22658         (vn_reference_insert): Likewise.
22660 2022-05-05  Richard Biener  <rguenther@suse.de>
22662         * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
22663         to real_value field.
22664         (tree_real_cst::value): Add real_value field.
22665         * tree.h (TREE_REAL_CST_PTR): Adjust.
22666         * tree.cc (build_real): Remove separate allocation.
22667         * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
22668         Likewise.
22670 2022-05-05  Richard Biener  <rguenther@suse.de>
22672         * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
22673         divisions with undefined overflow unconditionally.
22674         (pass_tree_ifcombine::execute): Rewrite stmts with undefined
22675         overflow to defined.
22677 2022-05-05  Richard Biener  <rguenther@suse.de>
22679         PR tree-optimization/105484
22680         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
22681         whether the CFG changed.
22682         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
22684 2022-05-05  Richard Biener  <rguenther@suse.de>
22686         PR tree-optimization/104595
22687         * tree-vect-patterns.cc (vect_recog_bool_pattern): For
22688         COND_EXPR do not fail if check_bool_pattern returns false.
22690 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
22692         * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
22693         item that is in an outer data-sharing clause.
22695 2022-05-04  Richard Biener  <rguenther@suse.de>
22697         PR tree-optimization/104658
22698         * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
22699         create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
22700         type on nodes we promote.
22701         (vectorizable_bb_reduc_epilogue): Deal with externalized
22702         root.
22703         * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
22704         not allow VECTOR_BOOLEAN_TYPE_P extern defs.
22706 2022-05-04  Richard Biener  <rguenther@suse.de>
22708         PR tree-optimization/103116
22709         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
22710         case we need peeling for gaps even though GROUP_GAP is zero.
22712 2022-05-04  Martin Liska  <mliska@suse.cz>
22714         * gengtype-state.cc (read_a_state_token): Remove dead code.
22715         * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
22717 2022-05-04  Richard Biener  <rguenther@suse.de>
22719         * gimplify.cc (gimplify_init_constructor): First gimplify,
22720         then simplify the result to a VECTOR_CST.
22722 2022-05-04  Jakub Jelinek  <jakub@redhat.com>
22724         * genconditions.cc (write_conditions): Append a { nullptr, -1 }
22725         element at the end of insn_conditions.
22726         (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
22727         ARRAY_SIZE (insn_conditions).
22729 2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
22731         PR target/104662
22732         * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
22733         vector of booleans and MVE is not enabled.
22735 2022-05-04  Richard Biener  <rguenther@suse.de>
22737         PR debug/105158
22738         * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
22739         Move debug stmts to the predecessor if moving to the
22740         destination is not possible.
22741         (remove_forwarder_block): Adjust.
22742         (remove_forwarder_block_with_phi): Likewise.
22744 2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
22746         PR tree-optimization/102950
22747         * range-op.cc (wi_optimize_signed_bitwise_op): New function to
22748         determine bounds of bitwise operations on signed types.
22749         (operator_bitwise_and::wi_fold): Call the above function.
22750         (operator_bitwise_or::wi_fold): Likewise.
22751         (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
22752         result can't be zero if the operands can't be equal.
22754 2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
22756         * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
22757         protocol class methods linker-visible.
22759 2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
22761         PR target/105079
22762         * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
22763         define_insn_and_split pattern.
22765 2022-05-03  Richard Biener  <rguenther@suse.de>
22767         PR middle-end/105083
22768         * tree-scalar-evolution.cc (scev_initialize): Verify we
22769         have appropriate loop state.
22770         * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
22771         loop init and finalization.
22773 2022-05-03  Richard Biener  <rguenther@suse.de>
22775         PR middle-end/105461
22776         * opts.cc (finish_options): Match the condition to
22777         disable flag_var_tracking to that of process_options.
22779 2022-05-03  Richard Biener  <rguenther@suse.de>
22781         * opts.cc: #undef OPTIONS_SET_P.
22782         (finish_options): Use opts_set instead of OPTIONS_SET_P.
22784 2022-05-03  Richard Biener  <rguenther@suse.de>
22786         PR tree-optimization/105394
22787         * tree-vect-generic.cc (expand_vector_condition): Adjust
22788         comp_width for non-integer mode masks as well.
22790 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
22792         * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
22793         omp_runtime_apis array.
22795 2022-05-02  Richard Biener  <rguenther@suse.de>
22797         * tree-scalar-evolution.cc (expression_expensive_p):
22798         Never consider mismatched calls as cheap.
22800 2022-05-02  Richard Biener  <rguenther@suse.de>
22802         PR tree-optimization/104240
22803         * tree-vect-slp.cc (op1_op0_map): New.
22804         (vect_get_operand_map): Handle compares.
22805         (vect_build_slp_tree_1): Support swapped operands for
22806         tcc_comparison.
22808 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
22810         PR debug/105415
22811         * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
22812         if there is no symtab node for the VAR_DECL.
22814 2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
22816         * gcov-io.cc (gcov_rewrite):  Clear the file error status.
22818 2022-05-02  Richard Biener  <rguenther@suse.de>
22820         PR tree-optimization/105437
22821         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
22822         case where last_stmt alters control flow.
22824 2022-05-02  Richard Biener  <rguenther@suse.de>
22826         * dojump.cc (do_jump): Use CASE_CONVERT.
22827         * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
22829 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
22831         * system.h: Include initializer_list.
22833 2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
22835         * config/rs6000/constraints.md (Y constraint): Fix comment.
22837 2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
22839         * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
22840         VR_RANGE before passing a piecewise range to set_range_info_raw.
22842 2022-04-30  Patrick Palka  <ppalka@redhat.com>
22844         * gengtype.cc (adjust_field_tree_exp): Remove.
22845         (adjust_field_type): Don't handle the "tree_exp" special attribute.
22846         * tree-core.h (struct tree_exp): Remove "special" and "desc"
22847         attributes.  Add "length" attribute.
22849 2022-04-29  Martin Jambor  <mjambor@suse.cz>
22851         PR ipa/100413
22852         * cgraph.cc (cgraph_node::remove): Release body of the node this
22853         is clone_of if appropriate.
22855 2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
22857         PR target/51954
22858         * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
22860 2022-04-29  Richard Biener  <rguenther@suse.de>
22862         * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
22863         (canonicalize_cond_expr_cond): Move here from gimple.cc,
22864         allow both COND_EXPR and GIMPLE_COND forms.
22865         * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
22866         * gimple.cc (canonicalize_cond_expr_cond): Remove here.
22867         * gimple.h (canonicalize_cond_expr_cond): Likewise.
22868         * gimple-loop-versioning.cc (loop_versioning::version_loop):
22869         Use is_gimple_condexpr_for_cond.
22870         * tree-parloops.cc (gen_parallel_loop): Likewise.
22871         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
22872         a proper cond expr after canonicalize_cond_expr_cond.
22873         Use is_gimple_condexpr_for_cond where appropriate.
22874         * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
22875         * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
22877 2022-04-29  Richard Biener  <rguenther@suse.de>
22879         * gimple-iterator.h (gsi_after_labels): Add overload for
22880         gimple_seq.
22881         (gsi_start_1): Rename to gsi_start and take a reference.
22882         (gsi_last_1): Likewise.
22883         * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
22884         * omp-low.cc (lower_rec_input_clauses): Likewise.
22885         (lower_omp_scan): Likewise.
22887 2022-04-29  Richard Biener  <rguenther@suse.de>
22889         PR tree-optimization/105431
22890         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
22891         (powi_as_mults): Use absu_hwi.
22892         (gimple_expand_builtin_powi): Remove now pointless n != -n
22893         check.
22895 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22897         * range-op.cc (empty_range_varying): Move to range-op.h.
22898         (range_true): Move to range.h.
22899         (range_false): Same.
22900         (range_true_and_false): Same.
22901         (enum bool_range_state): Move to range-op.h.
22902         (relop_early_resolve): Same.
22903         (operator_equal::op1_op2_relation): Abstract code to...
22904         (equal_op1_op2_relation): ...here.
22905         (operator_not_equal::op1_op2_relation): Abstract code to...
22906         (not_equal_op1_op2_relation): ...here.
22907         (operator_lt::op1_op2_relation): Abstract code to...
22908         (lt_op1_op2_relation): ...here.
22909         (operator_le::op1_op2_relation): Abstract code to...
22910         (le_op1_op2_relation): ...here.
22911         (operator_gt::op1_op2_relation): Abstract code to...
22912         (gt_op1_op2_relation): ...here.
22913         (operator_ge::op1_op2_relation): Abstract code to...
22914         (ge_op1_op2_relation): ...here.
22915         (class range_op_table): Move to range-op.h.
22916         * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
22917         (not_equal_op1_op2_relation): Same.
22918         (lt_op1_op2_relation): Same.
22919         (le_op1_op2_relation): Same.
22920         (gt_op1_op2_relation): Same.
22921         (ge_op1_op2_relation): Same.
22922         (enum bool_range_state): Same.
22923         (get_bool_state): Same.
22924         (empty_range_varying): Same.
22925         (relop_early_resolve): Same.
22926         (class range_op_table): Same.
22927         * range.h (range_true): Same.
22928         (range_false): Same.
22929         (range_true_and_false): Same.
22931 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22933         * gimple-fold.cc (size_must_be_zero_p): Use reference
22934         instead of pointer
22935         * gimple-ssa-evrp-analyze.cc
22936         (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
22937         intersect to legacy_verbose_intersect.
22938         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
22939         of pointer.
22940         * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
22941         instead of value_range_equiv.
22942         * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
22943         instead of pointer.
22944         (find_case_label_range): Same.
22945         * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
22946         (value_range_equiv::legacy_verbose_intersect): ...this.
22947         (value_range_equiv::union_): Rename to...
22948         (value_range_equiv::legacy_verbose_union_): ...this.
22949         * value-range-equiv.h (class value_range_equiv): Rename union and
22950         intersect to legacy_verbose_{intersect,union}.
22951         * value-range.cc (irange::union_): Rename to...
22952         (irange::legacy_verbose_union_): ...this.
22953         (irange::intersect): Rename to...
22954         (irange::legacy_verbose_intersect): ...this.
22955         * value-range.h (irange::union_): Rename union_ to
22956         legacy_verbose_union.
22957         (irange::intersect): Rename intersect to legacy_verbose_intersect.
22958         * vr-values.cc (vr_values::update_value_range): Same.
22959         (vr_values::extract_range_for_var_from_comparison_expr): Same.
22960         (vr_values::extract_range_from_cond_expr): Rename union_ to
22961         legacy_verbose_union.
22962         (vr_values::extract_range_from_phi_node): Same.
22964 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22966         * gimple-ssa-evrp-analyze.cc
22967         (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
22968         that take a range.
22969         * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
22970         * ipa-prop.cc (ipcp_update_vr): Same.
22971         * tree-inline.cc (remap_ssa_name): Same.
22972         * tree-ssa-copy.cc (fini_copy_prop): Same.
22973         * tree-ssa-math-opts.cc (optimize_spaceship): Same.
22974         * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
22975         * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
22976         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
22977         * tree-ssa-strlen.cc (set_strlen_range): Same.
22978         (strlen_pass::handle_builtin_string_cmp): Same.
22979         * tree-ssanames.cc (set_range_info): Make static.
22980         (duplicate_ssa_name_range_info): Make static and add a new variant
22981         calling the static.
22982         * tree-ssanames.h (set_range_info): Remove version taking wide ints.
22983         (duplicate_ssa_name_range_info): Remove version taking a
22984         range_info_def and replace with a version taking SSA names.
22985         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
22986         that take a range.
22987         (vect_do_peeling): Same.
22988         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
22989         * vr-values.cc (simplify_truth_ops_using_ranges): Same.
22991 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22993         * value-range.h (irange::irange): Use set_undefined.
22995 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
22997         * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
22998         irange::intersect (wide_int, wide_int).
22999         * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
23000         (adjust_imagpart_expr): Same.
23001         * value-range.h (irange::intersect (wide_int, wide_int)): Make
23002         private.
23004 2022-04-29  Richard Biener  <rguenther@suse.de>
23006         PR tree-optimization/104322
23007         * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
23009 2022-04-29  Richard Biener  <rguenther@suse.de>
23011         PR middle-end/105376
23012         * tree.cc (build_real): Special case dconst* arguments
23013         for decimal floating point types.
23015 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23017         * doc/gcov.texi (Profiling and Test Coverage in Freestanding
23018         Environments): New section.
23020 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23022         * doc/gcov-tool.texi: Document merge-stream subcommand.
23023         * doc/invoke.texi (fprofile-info-section): Mention merge-stream
23024         subcommand of gcov-tool.
23025         * gcov-tool.cc (gcov_profile_merge_stream): Declare.
23026         (print_merge_stream_usage_message): New.
23027         (merge_stream_usage): Likewise.
23028         (do_merge_stream): Likewise.
23029         (print_usage): Call print_merge_stream_usage_message().
23030         (main): Call do_merge_stream() to execute merge-stream subcommand.
23032 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23034         * gcov-io.cc (gcov_file_error): New enum.
23035         (gcov_var): Use gcov_file_error enum for the error member.
23036         (gcov_open): Use GCOV_FILE_NO_ERROR.
23037         (gcov_close): Use GCOV_FILE_WRITE_ERROR.
23038         (gcov_write): Likewise.
23039         (gcov_write_unsigned): Likewise.
23040         (gcov_write_string): Likewise.
23041         (gcov_read_bytes): Set error code if EOF is reached.
23042         (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
23044 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23046         * gcov-io.cc (GCOV_MODE_STDIN): Define.
23047         (gcov_position): For gcov-tool, return calculated position if file is
23048         stdin.
23049         (gcov_open):  For gcov-tool, use stdin if filename is NULL.
23050         (gcov_close): For gcov-tool, do not close stdin.
23051         (gcov_read_bytes): For gcov-tool, update position if file is stdin.
23052         (gcov_sync): For gcov-tool, discard input if file is stdin.
23054 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23056         * doc/invoke.texi (fprofile-info-section): Mention
23057         __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
23058         standard language.  Fix minor example code issues.
23059         * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
23061 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23063         * gcov-io.cc (gcov_seek): Make it static.
23064         * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
23066 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23068         * gcov-tool.cc (gcov_do_dump): Add mode parameter.
23069         (gcov_output_files): Open files for reading and writing.
23071 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23073         * gcov-io.cc (gcov_open): Always use the mode parameter.
23074         * gcov-io.h (gcov_open): Declare it unconditionally.
23076 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23078         * gcov-tool.cc (gcov_profile_merge): Adjust return type.
23079         (profile_merge): Allow merging of directories which contain no profile
23080         files.
23082 2022-04-28  David Malcolm  <dmalcolm@redhat.com>
23084         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
23085         fpath.txt output.
23087 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
23089         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
23090         temporary only if out overlaps compare_op, not when it overlaps
23091         op0 or op1.
23093 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
23095         PR lto/105399
23096         * cgraph.cc (cgraph_node::verify_node): Don't verify
23097         semantic_interposition flag against
23098         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
23100 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
23102         PR target/105331
23103         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
23104         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
23105         of it.
23107 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
23109         * doc/install.texi (Configuration): Remove misleading text
23110         around LE PowerPC Linux multilibs.
23112 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
23114         PR d/103528
23115         * doc/install.texi (Tools/packages necessary for building GCC)
23116         (GDC): Document libphobos requirement.
23117         (Host/target specific installation notes for GCC, *-*-solaris2*):
23118         Document libphobos and GDC specifics.
23120 2022-04-28  Richard Biener  <rguenther@suse.de>
23122         PR tree-optimization/105219
23123         * tree-vect-loop.cc (vect_transform_loop): Disable
23124         special code narrowing the vectorized epilogue max
23125         iterations when peeling for alignment or gaps was in effect.
23127 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
23129         * config/loongarch/loongarch.cc
23130         (loongarch_flatten_aggregate_field): Ignore empty fields for
23131         RECORD_TYPE.
23133 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
23135         * config/loongarch/loongarch.md: Add fdiv define_expand template,
23136         then generate floating-point division and floating-point reciprocal
23137         instructions.
23139 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
23141         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
23142         to PLV instruction templates.
23144 2022-04-27  Richard Biener  <rguenther@suse.de>
23146         PR middle-end/104492
23147         * gimple-ssa-warn-access.cc
23148         (pass_waccess::warn_invalid_pointer): Exclude equality compare
23149         diagnostics for all kind of invalidations.
23150         (pass_waccess::check_dangling_uses): Fix post-dominator query.
23151         (pass_waccess::check_pointer_uses): Likewise.
23153 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
23155         PR target/102024
23156         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
23157         prototype.
23158         * config/s390/s390.cc (s390_single_field_struct_p): New function.
23159         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
23160         (s390_function_arg_float): Likewise.
23162 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
23164         PR sanitizer/105396
23165         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
23166         where offset is bigger than off but smaller than m_prev_offset + 32
23167         bits by pushing one or more 0 bytes.  Sink the
23168         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
23169         all cases to the end of the function.
23171 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
23173         PR target/105271
23174         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
23175         stanza.
23177 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
23179         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
23180         data-share memory exhausted" error more verbose.
23182 2022-04-26  Martin Liska  <mliska@suse.cz>
23184         PR lto/105364
23185         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
23186         (run_gcc): Parse OPT_fdiagnostics_urls_.
23187         (main): Initialize global_dc.
23189 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
23191         PR rtl-optimization/105314
23192         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
23193         operand is equal to if_info->x, instead use the non-zero operand
23194         as one of the operands of AND with if_info->x as target.
23196 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
23198         PR tree-optimization/105374
23199         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
23200         !fold_convertible_p rather than assuming fold_convert must succeed.
23202 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
23204         PR target/105367
23205         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
23206         el_mode == DFmode ? double_type_node : float_type_node instead of
23207         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
23209 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
23211         PR analyzer/104308
23212         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
23213         the location of new_stmt in all places that don't already set it,
23214         whether explicitly, or via a call to gsi_replace.
23216 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
23218         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
23220 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
23222         PR tree-optimization/105276
23223         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
23224         existing global range with calculated value.
23226 2022-04-25  Richard Biener  <rguenther@suse.de>
23228         PR tree-optimization/105368
23229         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
23231 2022-04-25  Richard Biener  <rguenther@suse.de>
23233         PR tree-optimization/100810
23234         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
23235         (find_ssa_undef): New function.
23236         (add_candidate_1): Avoid adding derived candidates with
23237         undefined SSA names and mark the original ones.
23238         (determine_group_iv_cost_generic): Reject rewriting
23239         uses with a different IV when that involves undefined SSA names.
23241 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
23243         PR target/89125
23244         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
23245         bsd_libc_has_function.
23246         * targhooks.cc (bsd_libc_has_function): New function.
23247         Expand the supported math functions to inclue C99 libm.
23248         * targhooks.h (bsd_libc_has_function): New Prototype.
23250 2022-04-25  Richard Biener  <rguenther@suse.de>
23252         PR rtl-optimization/105231
23253         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
23254         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
23255         on i3 or drop it if the insn can not trap.
23256         (try_combine): Ensure that we can merge REG_EH_REGION notes
23257         with non-call exceptions.  Ensure we are not splitting a
23258         trapping part of an insn with non-call exceptions when there
23259         is any REG_EH_REGION note to preserve.
23261 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
23263         PR target/105339
23264         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
23265         Add parentheses for parameters and djust format.
23266         (_mm512_mask_scalef_round_pd): Ditto.
23267         (_mm512_maskz_scalef_round_pd): Ditto.
23268         (_mm512_scalef_round_ps): Ditto.
23269         (_mm512_mask_scalef_round_ps): Ditto.
23270         (_mm512_maskz_scalef_round_ps): Ditto.
23271         (_mm_scalef_round_sd): Use _mm_undefined_pd.
23272         (_mm_scalef_round_ss): Use _mm_undefined_ps.
23273         (_mm_mask_scalef_round_sd): New macro.
23274         (_mm_mask_scalef_round_ss): Ditto.
23275         (_mm_maskz_scalef_round_sd): Ditto.
23276         (_mm_maskz_scalef_round_ss): Ditto.
23278 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
23280         PR target/105338
23281         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
23282         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
23283         cases.
23285 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
23287         PR target/105334
23288         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
23289         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
23290         (pack<mode>_hard for FMOVE128): ... this...
23291         (pack<mode>_soft for FMOVE128): ... and this.
23293 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
23295         * doc/extend.texi: Correct "This" to "These".
23297 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
23299         PR rtl-optimization/105333
23300         * rtlanal.cc (replace_rtx): Use simplify_subreg or
23301         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
23302         CONST_INT_P.
23304 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
23306         PR target/103197
23307         PR target/102146
23308         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
23309         the "Z" alternatives in {l,st}{f,xs}iwzx.
23310         (zero_extendhi<mode>2 for EXTHI): Ditto.
23311         (zero_extendsi<mode>2 for EXTSI): Ditto.
23312         (*movsi_internal1): Ditto.
23313         (*mov<mode>_internal1 for QHI): Ditto.
23314         (movsd_hardfloat): Ditto.
23316 2022-04-21  Martin Liska  <mliska@suse.cz>
23318         * configure.ac: Enable compressed debug sections for mold
23319         linker.
23320         * configure: Regenerate.
23322 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
23324         PR debug/105203
23325         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
23326         on DEBUG_INSNs.
23328 2022-04-20  Richard Biener  <rguenther@suse.de>
23330         PR tree-optimization/104912
23331         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
23332         the cost model check to a separate BB to make sure it is
23333         checked first and not combined with other version checks.
23335 2022-04-20  Richard Biener  <rguenther@suse.de>
23337         PR tree-optimization/105312
23338         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
23339         VCOND and VCONDU for EQ and NE.
23341 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
23343         PR ipa/103818
23344         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
23345         poly_offset_int to avoid overflow.
23346         (modref_access_node::update2): likewise.
23348 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
23350         PR ipa/105306
23351         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
23352         to opt_for_fn (decl, flag_semantic_interposition).
23353         * cgraphclones.cc (cgraph_node::create_clone): Copy over
23354         semantic_interposition flag.
23356 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
23358         PR gcov-profile/105282
23359         * value-prof.cc (stream_out_histogram_value): Allow negative counts
23360         on HIST_TYPE_INDIR_CALL.
23362 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
23364         PR target/105257
23365         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
23366         use gen_raw_REG instead of gen_rtx_REG and copy over also
23367         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
23369 2022-04-19  Richard Biener  <rguenther@suse.de>
23371         PR tree-optimization/104010
23372         PR tree-optimization/103941
23373         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
23374         we run into stmts in patterns continue walking those
23375         for uses outside of the vectorized region instead of
23376         marking the lane live.
23378 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
23380         * doc/install.texi <CRIS>: Remove references to removed websites and
23381         adjust for cris-*-elf being the only remaining toolchain.
23383 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
23385         * doc/invoke.texi <CRIS>: Remove references to options for removed
23386         subtarget cris-axis-linux-gnu and tweak wording accordingly.
23388 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
23390         * doc/install.texi (Specific): Adjust mingw-w64 download link.
23392 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
23394         * config/i386/smmintrin.h: Correct target pragma from sse4.1
23395         and sse4.2 to crc32 for crc32 intrinsics.
23397 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
23399         PR debug/105089
23400         * ctfc.cc (ctf_dvd_ignore_insert): New function.
23401         (ctf_dvd_ignore_lookup): Likewise.
23402         (ctf_add_variable): Keep track of non-defining decl DIEs.
23403         (new_ctf_container): Initialize the new hash-table.
23404         (ctfc_delete_container): Empty hash-table.
23405         * ctfc.h (struct ctf_container): Add new hash-table.
23406         (ctf_dvd_ignore_lookup): New declaration.
23407         (ctf_add_variable): Add additional argument.
23408         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
23409         record for non-defining decl for which a defining decl exists
23410         in the same TU.
23411         (ctf_preprocess): Defer updating the number of global objts
23412         until here.
23413         (output_ctf_header): Use ctfc_vars_list_count as some CTF
23414         variables may not make it to the final output.
23415         (output_ctf_vars): Likewise.
23416         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
23417         if this is known to be a non-defining decl DIE.
23419 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
23421         * ctfc.h (struct ctf_container): Introduce a new member.
23422         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
23423         variable.
23425 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
23427         PR target/105247
23428         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
23429         or rotates by VOIDmode constant integer shift count use word_mode
23430         for the operand if int_mode is narrower than word.
23432 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
23434         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
23435         (s390_get_unit_mask): Likewise.
23436         (s390_is_fpd): Likewise.
23437         (s390_is_fxd): Likewise.
23438         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
23439         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
23440         Add z16.
23441         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
23442         Likewise.
23443         * config/s390/3931.md: New file.
23445 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
23447         PR tree-optimization/105254
23448         * config/aarch64/aarch64.cc
23449         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
23450         loop_vec_info as argument.  Restrict the unroll factor to values
23451         that divide the VF.
23452         (aarch64_vector_costs::finish_cost): Update call accordingly.
23454 2022-04-13  Richard Biener  <rguenther@suse.de>
23456         PR tree-optimization/105263
23457         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
23458         negates in multiplication chains with DFP.
23460 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
23462         PR middle-end/105253
23463         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
23464         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
23465         comparisons or tree_nop_conversion_p checks.
23467 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
23469         PR target/103069
23470         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
23471         Add missing set to target_val at pause label.
23473 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
23475         PR target/105234
23476         * attribs.cc (decl_attributes): Don't set
23477         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
23478         NULL.
23480 2022-04-13  Richard Biener  <rguenther@suse.de>
23482         PR tree-optimization/105250
23483         * fold-const.cc (fold_convertible_p): Revert
23484         r12-7979-geaaf77dd85c333, instead check for size equality
23485         of the vector types involved.
23487 2022-04-13  Richard Biener  <rguenther@suse.de>
23489         Revert:
23490         2022-04-13  Richard Biener  <rguenther@suse.de>
23492         PR tree-optimization/104912
23493         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
23494         the cost model check to a separate BB to make sure it is
23495         checked first and not combined with other version checks.
23497 2022-04-13  Richard Biener  <rguenther@suse.de>
23499         PR tree-optimization/104912
23500         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
23501         the cost model check to a separate BB to make sure it is
23502         checked first and not combined with other version checks.
23504 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
23506         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
23508 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
23510         PR jit/104072
23511         * reginfo.cc: New functions (clear_global_regs_cache,
23512         reginfo_cc_finalize) to avoid an issue where compiling the same
23513         code multiple times gives an error about assigning the same
23514         register to 2 global variables.
23515         * rtl.h: New function (reginfo_cc_finalize).
23516         * toplev.cc: Call it.
23518 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
23520         PR jit/104071
23521         * toplev.cc: Call the new function tree_cc_finalize in
23522         toplev::finalize.
23523         * tree.cc: New functions (clear_nonstandard_integer_type_cache
23524         and tree_cc_finalize) to clear the cache of non-standard integer
23525         types to avoid having issues with some optimizations of
23526         bitcast where the SSA_NAME will have a size of a cached
23527         integer type that should have been invalidated, causing a
23528         comparison of integer constant to fail.
23529         * tree.h: New function (tree_cc_finalize).
23531 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
23533         PR target/97348
23534         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
23535         * config/nvptx/nvptx.opt (misa): Adjust comment.
23537 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
23539         Revert:
23540         2022-03-03  Tom de Vries  <tdevries@suse.de>
23542         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
23544 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
23546         Revert:
23547         2022-03-31  Tom de Vries  <tdevries@suse.de>
23549         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
23551 2022-04-12  Richard Biener  <rguenther@suse.de>
23553         PR ipa/104303
23554         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
23555         include local escaped memory as obviously necessary stores.
23557 2022-04-12  Richard Biener  <rguenther@suse.de>
23559         PR tree-optimization/105235
23560         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
23561         return whether the CFG changed.
23562         (execute_cse_sincos_1): Adjust.
23564 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
23566         PR target/104144
23567         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
23568         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
23569         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
23570         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
23571         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
23572         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
23573         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
23575 2022-04-12  Richard Biener  <rguenther@suse.de>
23577         PR tree-optimization/105232
23578         * tree.cc (component_ref_size): Bail out for too large
23579         or non-constant sizes.
23581 2022-04-12  Richard Biener  <rguenther@suse.de>
23583         PR tree-optimization/105226
23584         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
23585         we can split the exit of an outer loop we choose to version.
23587 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
23589         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
23590         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
23591         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
23592         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
23593         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
23594         Formatting fix.
23595         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
23597 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
23599         PR target/105214
23600         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
23601         do_pending_stack_adjust.
23603 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
23605         PR rtl-optimization/105211
23606         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
23607         fails for TREE_TYPE (arg), retry it with
23608         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
23609         fails, emit call normally.
23611 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
23613         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
23614         * config.gcc: Add z16 as march/mtune switch.
23615         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
23616         Recognize z16 with -march=native.
23617         * config/s390/s390-opts.h (enum processor_type): Rename
23618         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
23619         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
23620         (PROCESSOR_3931_Z16): ... throughout the file.
23621         (s390_processor processor_table): Add z16 as cpu string.
23622         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
23623         PF_Z16.
23624         (TARGET_CPU_ARCH14): Rename to ...
23625         (TARGET_CPU_Z16): ... this.
23626         (TARGET_CPU_ARCH14_P): Rename to ...
23627         (TARGET_CPU_Z16_P): ... this.
23628         (TARGET_ARCH14): Rename to ...
23629         (TARGET_Z16): ... this.
23630         (TARGET_ARCH14_P): Rename to ...
23631         (TARGET_Z16_P): ... this.
23632         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
23633         check TARGET_Z16 instead of TARGET_ARCH14.
23634         * config/s390/s390.opt: Add z16 to processor_type.
23635         * doc/invoke.texi: Document z16 and arch14.
23637 2022-04-12  chenglulu  <chenglulu@loongson.cn>
23639         * config/loongarch/loongarch.cc: Fix bug for
23640         tmpdir-g++.dg-struct-layout-1/t033.
23642 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
23644         PR target/104894
23645         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
23646         to longcall functions.
23648 2022-04-11  Jason Merrill  <jason@redhat.com>
23650         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
23652 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
23654         PR target/105213
23655         PR target/103623
23656         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
23658 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
23660         PR tree-optimization/105218
23661         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
23662         more than one predecessor or phi's bb more than 2 predecessors,
23663         reset phi result uses instead of adding a debug temp.
23665 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
23667         PR target/104853
23668         * config.gcc: Pass -misa-spec to arch-canonicalize and
23669         multilib-generator.
23670         * config/riscv/arch-canonicalize: Adding -misa-spec option.
23671         (SUPPORTED_ISA_SPEC): New.
23672         (arch_canonicalize): New argument `isa_spec`.
23673         Handle multiple ISA spec versions.
23674         * config/riscv/multilib-generator: Adding -misa-spec option.
23676 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
23678         * config/riscv/arch-canonicalize: Add TODO item.
23679         (IMPLIED_EXT): Sync.
23680         (arch_canonicalize): Checking until no change.
23682 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
23684         PR target/105197
23685         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
23686         not masked.
23688 2022-04-11  Jason Merrill  <jason@redhat.com>
23690         PR c++/100370
23691         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
23692         deref == -1.
23694 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
23696         PR tree-optimization/104639
23697         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
23698         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
23699         into x != cst3.
23701 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
23703         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
23704         sign bit of the source ends up in CC.
23706 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
23708         PR ipa/103376
23709         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
23710         flag.
23712 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
23714         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
23715         nondeterministic and side_effects flags.
23717 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
23719         PR target/105157
23720         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
23721         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
23722         (TARGET_CPU_MASK): Likewise.
23723         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
23724         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
23725         (aarch64_get_arch): Likewise.
23726         (aarch64_override_options): Use TARGET_CPU_NBITS.
23728 2022-04-08  Richard Biener  <rguenther@suse.de>
23730         PR tree-optimization/105198
23731         * tree-predcom.cc (find_looparound_phi): Check whether
23732         the found memory location of the entry value is clobbered
23733         inbetween the value we want to use and loop entry.
23735 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
23737         PR tree-optimization/105189
23738         * fold-const.cc (make_range_step): Fix up handling of
23739         (unsigned) x +[low, -] ranges for signed x if low fits into
23740         typeof (x).
23742 2022-04-08  Richard Biener  <rguenther@suse.de>
23744         PR tree-optimization/105175
23745         * tree-vect-stmts.cc (vectorizable_operation): Suppress
23746         -Wvector-operation-performance if using emulated vectors.
23747         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
23748         -Wvector-operation-performance when suppressed.
23749         (expand_vector_parallel): Likewise.
23750         (expand_vector_comparison): Likewise.
23751         (expand_vector_condition): Likewise.
23752         (lower_vec_perm): Likewise.
23753         (expand_vector_conversion): Likewise.
23755 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
23757         PR target/104409
23758         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
23759         (aarch64_general_init_builtins): Move LS64 code.
23760         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
23761         arm_acle.h
23762         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
23763         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
23765 2022-04-07  Richard Biener  <rguenther@suse.de>
23766             Jan Hubicka  <hubicka@ucw.cz>
23768         PR ipa/104303
23769         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
23770         ref_may_alias_global_p, ref_may_alias_global_p,
23771         stmt_may_clobber_global_p, pt_solution_includes_global): Add
23772         bool parameters indicating whether escaped locals should be
23773         considered global.
23774         * tree-ssa-structalias.cc (pt_solution_includes_global):
23775         When the new escaped_nonlocal_p flag is true also consider
23776         pt->vars_contains_escaped.
23777         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
23778         Pass down new escaped_nonlocal_p flag.
23779         (ref_may_alias_global_p): Likewise.
23780         (stmt_may_clobber_global_p): Likewise.
23781         (ref_may_alias_global_p_1): Likewise.  For decls also
23782         query the escaped solution if true.
23783         (ref_may_access_global_memory_p): Remove.
23784         (modref_may_conflict): Use ref_may_alias_global_p with
23785         escaped locals considered global.
23786         (ref_maybe_used_by_stmt_p): Adjust.
23787         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
23788         Likewise.
23789         * tree-ssa-dse.cc (dse_classify_store): Likewise.
23790         * trans-mem.cc (thread_private_new_memory): Likewise, but
23791         consider escaped locals global.
23792         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
23794 2022-04-07  Richard Biener  <rguenther@suse.de>
23796         PR tree-optimization/105185
23797         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
23798         modref query again.
23800 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
23802         PR target/104049
23803         * config/aarch64/aarch64-simd.md
23804         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
23805         (reduc_plus_scal_<mode>): ... This.
23806         (reduc_plus_scal_v4sf): Moved.
23807         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
23808         (reduc_plus_scal_v2si): ... This.
23810 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
23812         PR tree-optimization/102586
23813         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
23814         langhook.
23815         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
23816         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
23817         * gimple-fold.cc (clear_padding_type): Use ftype instead of
23818         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
23819         name try the lang_hooks.types.classtype_as_base langhook and
23820         if it returns non-NULL, use that instead of ftype for recursive call.
23822 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
23824         PR tree-optimization/105150
23825         * tree.cc (tree_builtin_call_types_compatible_p): New function.
23826         (get_call_combined_fn): Use it.
23828 2022-04-07  Richard Biener  <rguenther@suse.de>
23830         PR middle-end/105165
23831         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
23832         _Complex outputs.
23834 2022-04-07  liuhongt  <hongtao.liu@intel.com>
23836         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
23837         Removed.
23838         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
23839         for mask_applied.
23840         (<code><mode>3<mask_name>): Ditto.
23841         (*<code><mode>3<mask_name>): Ditto.
23842         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
23843         real instruction.
23844         (VFB_512): Ditto.
23845         (VFB): Ditto.
23847 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
23849         PR rtl-optimization/104985
23850         * combine.cc (struct undo): Add where.regno member.
23851         (do_SUBST_MODE): Rename to ...
23852         (subst_mode): ... this.  Change first argument from rtx * into int,
23853         operate on regno_reg_rtx[regno] and save regno into where.regno.
23854         (SUBST_MODE): Remove.
23855         (try_combine): Use subst_mode instead of SUBST_MODE, change first
23856         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
23857         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
23858         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
23859         instead of *undo->where.r.
23860         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
23861         argument from regno_reg_rtx[whatever] to whatever.
23863 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
23865         PR target/105069
23866         * config/sh/sh.opt (mdiv=): Add Save.
23868 2022-04-06  Martin Liska  <mliska@suse.cz>
23870         PR driver/105096
23871         * common.opt: Document properly based on what it does.
23872         * gcc.cc (display_help): Unify with what we have in common.opt.
23873         * opts.cc (common_handle_option): Do not print undocumented
23874         options.
23876 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
23878         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
23879         cxx17_empty_base_field_p fields and set an indicator.
23880         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
23881         (mips_function_value_1): Inform psABI change about C++17 empty
23882         bases.
23884 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
23886         PR tree-optimization/105150
23887         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
23888         builtin_decl_explicit here...
23889         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
23890         here.
23892 2022-04-06  Richard Biener  <rguenther@suse.de>
23894         PR tree-optimization/105173
23895         * tree-ssa-reassoc.cc (find_insert_point): Get extra
23896         insert_before output argument and compute it.
23897         (insert_stmt_before_use): Adjust.
23898         (rewrite_expr_tree): Likewise.
23900 2022-04-06  Richard Biener  <rguenther@suse.de>
23902         PR ipa/105166
23903         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
23904         out for non-pointer arguments.
23906 2022-04-06  Richard Biener  <rguenther@suse.de>
23908         PR tree-optimization/105163
23909         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
23910         negated abnormals.
23912 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
23914         PR tree-optimization/105150
23915         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
23916         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
23917         preferrably on builtin_decl_explicit decl rather than fndecl.
23918         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
23919         gimple_builtin_call_types_compatible_p here.
23921 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
23923         PR tree-optimization/103761
23924         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
23925         the ncopies parameter with an slp_node parameter.  Calculate the
23926         number of vectors based on it and vectype.  Rename lambda to
23927         group_memory_nvectors.
23928         (vectorizable_store, vectorizable_load): Update calls accordingly.
23930 2022-04-06  Martin Liska  <mliska@suse.cz>
23932         * doc/invoke.texi: Document it.
23934 2022-04-06  Richard Biener  <rguenther@suse.de>
23936         PR tree-optimization/105148
23937         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
23938         2 and 3 of ARRAY_REFs.
23940 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
23942         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
23943         (*andnottf3): Replace with...
23944         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
23946 2022-04-06  Richard Biener  <rguenther@suse.de>
23948         PR tree-optimization/105142
23949         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
23950         basic-block parameter.
23951         (maybe_fold_or_comparisons): Likewise.
23952         * gimple-fold.cc (follow_outer_ssa_edges): New.
23953         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
23954         when an outer condition basic-block is specified.
23955         (and_comparisons_1, and_var_with_comparison,
23956         and_var_with_comparison_1, or_comparisons_1,
23957         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
23958         down the outer condition basic-block.
23959         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
23960         basic-block of the outer condition.
23962 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
23964         PR target/105002
23965         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
23966         comparison codes UNLT/UNLE/UNGT/UNGE.
23968 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
23970         * doc/extend.texi (Common Function Attributes): Document that
23971         'access' does not imply 'nonnull'.
23973 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
23975         PR target/105139
23976         * config/i386/mmx.md (*movv2qi_internal):
23977         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
23979 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
23981         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
23982         define_expand and turn operands 0 and 1 from REGs to MEMs.
23983         (*aarch64_cpymemdi): New pattern.
23984         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
23985         from a REG to a MEM.
23986         (*aarch64_setmemdi): New pattern.
23987         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
23988         copy_to_mode_reg on all three registers.  Replace the original
23989         MEM addresses rather than creating wild reads and writes.
23990         (aarch64_expand_setmem_mops): Likewise for the size and for the
23991         destination memory and address.
23993 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
23995         PR target/103147
23996         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
23997         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
23998         from aarch64_simd_switcher.
23999         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
24000         New variable.
24001         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
24002         (register_tuple_type): Add more asserts.  Expect the alignment
24003         of the structure to be subject to flag_pack_struct and
24004         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
24005         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
24006         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
24007         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
24008         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
24009         while calling aarch64_init_simd_builtins.
24010         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
24011         (sve_switcher::~sve_switcher): Remove code now performed by
24012         aarch64_simd_switcher.
24014 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
24016         PR target/104897
24017         * config/aarch64/aarch64-sve-builtins.cc
24018         (function_resolver::infer_vector_or_tuple_type): Use error_n
24019         for "%d vectors" messages.
24021 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
24023         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
24024         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
24025         current clause.
24027 2022-04-05  Richard Biener  <rguenther@suse.de>
24029         PR c/105151
24030         * passes.def (pass_walloca): Move early instance into
24031         pass_build_ssa_passes to make SSA form available.
24033 2022-04-05  liuhongt  <hongtao.liu@intel.com>
24035         PR target/101908
24036         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
24037         function
24038         (ix86_reorg): Call ix86_split_stlf_stall_load.
24039         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
24040         param.
24042 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
24044         * targhooks.cc (default_zero_call_used_regs): Attempt to group
24045         regs that the target refuses to use in their natural modes.
24046         (zcur_select_mode_rtx): New.
24047         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
24048         (hard_regno_max_nregs): Define.
24049         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
24051 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
24053         * doc/match-and-simplify.texi: Fix typos.
24055 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
24057         PR target/105144
24058         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
24059         only if configured with --enable-maintainer-mode, otherwise compare
24060         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
24061         if they differ, emit a message and fail.
24063 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
24065         PR target/105144
24066         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
24067         * config/aarch64/aarch64-tune.md: Regenerated.
24069 2022-04-04  Richard Biener  <rguenther@suse.de>
24071         PR tree-optimization/105132
24072         * tree-vect-stmts.cc (vectorizable_operation): Check that
24073         the input vectors have the same number of elements.
24075 2022-04-04  Richard Biener  <rguenther@suse.de>
24077         PR middle-end/105140
24078         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
24080 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
24082         PR target/104987
24083         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
24084         (delay slot descripts): Use different delay slot description when
24085         the insn as the "bbi" attribute.
24086         (bbi, bbin patterns): Set the bbi attribute to yes.
24088 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
24090         PR target/105123
24091         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
24092         using word as target for expand_simple_binop when doing ASHIFT and
24093         IOR.
24095 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
24097         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
24098         NULL before dereferencing it.
24100 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
24102         * config/i386/i386.cc (zero_all_st_registers): Return the value of
24103         num_of_st.
24104         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
24105         the return value of zero_all_st_registers.
24106         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
24107         * function.cc (gen_call_used_regs_seq): Add an assertion.
24108         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
24110 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
24112         PR target/102024
24113         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
24114         fields, and inform if it causes a psABI change.
24116 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
24118         PR target/102024
24119         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
24120         zero-width bit-fields and set up an indicator.
24121         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
24122         (mips_function_value_1): Diagnose when the presense of a C++
24123         zero-width bit-field changes function returning in GCC 12.
24125 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
24127         PR tree-optimization/104645
24128         * tree-ssa-phiopt.cc (value_replacement): If assign has
24129         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
24130         statement with constant evaluation.
24132 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
24134         * config/mips/mips.cc (mips_expand_prologue):
24135         IPL is 8bit for MCU ASE.
24137 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
24139         PR target/104004
24140         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
24141         (MTFSB0): Likewise.
24142         (MTFSB1): Likewise.
24143         (SET_FPSCR_RN): Likewise.
24144         (SET_FPSCR_DRN): Mark nosoft and no32bit.
24146 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
24148         * doc/options.texi (Option file format): Clarifications around
24149         option definition records' help texts.
24151 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
24153         * optc-gen.awk <END>: Fix "Multiple different help strings" error
24154         diagnostic.
24156 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
24158         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
24159         determine_suggested_unroll_factor and m_has_avg.
24160         (determine_suggested_unroll_factor): New function.
24161         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
24162         to set m_nosve_pattern.
24163         (aarch64_vector_costs::finish_costs): Use
24164         determine_suggested_unroll_factor.
24165         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
24166         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
24168 2022-03-31  Martin Jambor  <mjambor@suse.cz>
24170         PR ipa/103083
24171         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
24172         (ipa_get_jf_ancestor_keep_null): New function.
24173         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
24174         ancestor function.
24175         (compute_complex_assign_jump_func): Pass false to keep_null
24176         parameter of ipa_set_ancestor_jf.
24177         (compute_complex_ancestor_jump_func): Pass true to keep_null
24178         parameter of ipa_set_ancestor_jf.
24179         (update_jump_functions_after_inlining): Carry over keep_null from the
24180         original ancestor jump-function or merge them.
24181         (ipa_write_jump_function): Stream keep_null flag.
24182         (ipa_read_jump_function): Likewise.
24183         (ipa_print_node_jump_functions_for_edge): Print the new flag.
24184         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
24185         member function known_nonzero_p.
24186         (ipcp_bits_lattice::known_nonzero_p): New.
24187         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
24188         observe it.
24189         (ipcp_bits_lattice::meet_with): Likewise.
24190         (propagate_bits_across_jump_function): Simplify.  Pass true in
24191         drop_all_ones when it is necessary.
24192         (propagate_aggs_across_jump_function): Take care of keep_null
24193         flag.
24194         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
24195         jump functions.
24197 2022-03-31  Martin Jambor  <mjambor@suse.cz>
24199         PR ipa/102513
24200         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
24201         which do not fit the known value_range.
24203 2022-03-31  Martin Jambor  <mjambor@suse.cz>
24205         PR ipa/103171
24206         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
24207         always when an ADDR_EXPR constant is known to reach a load because
24208         of inlining, not just when removing an ADDR reference.
24210 2022-03-31  Richard Biener  <rguenther@suse.de>
24212         PR tree-optimization/105109
24213         * tree-ssa.cc (execute_update_addresses_taken): Suppress
24214         diagnostics on the load of the other complex component.
24216 2022-03-31  Tom de Vries  <tdevries@suse.de>
24218         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
24220 2022-03-31  Richard Biener  <rguenther@suse.de>
24222         PR rtl-optimization/105091
24223         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
24224         bases.
24226 2022-03-31  Richard Biener  <rguenther@suse.de>
24228         Revert:
24229         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
24231         PR target/102125
24232         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
24233         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
24235 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24237         * gcov-io.cc (gcov_read_string): Reword documentation comment.
24239 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
24241         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
24242         stanza.
24243         (NEG_V4SF): Likewise.
24244         (NEG_V4SI): Likewise.
24245         (NEG_V8HI): Likewise.
24246         (NEG_V2DF): Move to [vsx] stanza.
24247         (NEG_V2DI): Likewise.
24249 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
24251         PR middle-end/105032
24252         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
24254 2022-03-30  Tom de Vries  <tdevries@suse.de>
24255             Tobias Burnus  <tobias@codesourcery.com>
24257         * doc/invoke.texi (march): Document __PTX_SM__.
24258         (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
24259         __PTX_ISA_VERSION_MINOR__.
24261 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
24263         PR sanitizer/105093
24264         * ubsan.cc (instrument_object_size): If t is equal to inner and
24265         is a decl other than global var, punt.  When emitting call to
24266         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
24268 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
24270         PR tree-optimization/105094
24271         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
24272         bitsize <= 0 rather than just == 0.
24274 2022-03-30  Tom de Vries  <tdevries@suse.de>
24276         * doc/invoke.texi (misa, mptx): Update.
24277         (march, march-map): Add.
24279 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
24281         * opt-functions.awk (n_args): New function.
24282         (lang_enabled_by): Merge function into...
24283         * optc-gen.awk <END>: ... sole user here.
24284         Improve diagnostics.
24286 2022-03-29  Marek Polacek  <polacek@redhat.com>
24287             Jakub Jelinek  <jakub@redhat.com>
24289         PR middle-end/103597
24290         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
24291         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
24292         (gimplify_cond_expr): Set UNUSED_LABEL_P.
24293         * tree.h (UNUSED_LABEL_P): New.
24295 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
24297         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
24298         be any VSX register.
24300 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
24302         PR target/102024
24303         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
24304         zero-sized bit-fields.  Detect cases where a warning may be needed.
24305         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
24306         zero-sized bit-field has caused parameter passing to change.
24308 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
24310         PR target/102024
24311         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
24312         bit-fields.  Detect cases where a warning may be needed.
24313         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
24314         a zero-sized bit-field has caused parameter passing to change.
24316 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
24318         PR target/96882
24319         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
24320         ARM_PCS_AAPCS_LOCAL.
24322 2022-03-29  Tom de Vries  <tdevries@suse.de>
24324         PR target/104857
24325         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
24326         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
24327         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
24328         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
24330 2022-03-29  Tom de Vries  <tdevries@suse.de>
24332         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
24333         is ignored.
24335 2022-03-29  Tom de Vries  <tdevries@suse.de>
24337         PR target/104714
24338         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
24340 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
24342         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
24343         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
24344         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
24345         (TARGET_USE_GATHER_4PARTS): New macro.
24346         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
24347         (X86_TUNE_USE_GATHER_4PARTS): New tune
24349 2022-03-29  Tom de Vries  <tdevries@suse.de>
24351         * config/nvptx/nvptx.opt (march): Add alias of misa.
24353 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24354             Lulu Cheng  <chenglulu@loongson.cn>
24356         * doc/install.texi: Add LoongArch options section.
24357         * doc/invoke.texi: Add LoongArch options section.
24358         * doc/md.texi: Add LoongArch options section.
24360 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24361             Lulu Cheng  <chenglulu@loongson.cn>
24363         * config/loongarch/loongarch-c.cc
24365 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24366             Lulu Cheng  <chenglulu@loongson.cn>
24368         * config/loongarch/larchintrin.h: New file.
24369         * config/loongarch/loongarch-builtins.cc: New file.
24371 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24372             Lulu Cheng  <chenglulu@loongson.cn>
24374         * config/host-linux.cc: Add LoongArch support.
24375         * config/loongarch/loongarch-protos.h: New file.
24376         * config/loongarch/loongarch-tune.h: Likewise.
24377         * config/loongarch/loongarch.cc: Likewise.
24378         * config/loongarch/loongarch.h: Likewise.
24380 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24381             Lulu Cheng  <chenglulu@loongson.cn>
24383         * config/loongarch/constraints.md: New file.
24384         * config/loongarch/generic.md: New file.
24385         * config/loongarch/la464.md: New file.
24386         * config/loongarch/loongarch-ftypes.def: New file.
24387         * config/loongarch/loongarch-modes.def: New file.
24388         * config/loongarch/loongarch.md: New file.
24389         * config/loongarch/predicates.md: New file.
24390         * config/loongarch/sync.md: New file.
24392 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24393             Lulu Cheng  <chenglulu@loongson.cn>
24395         * configure: Regenerate file.
24397 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
24398             Lulu Cheng  <chenglulu@loongson.cn>
24400         * common/config/loongarch/loongarch-common.cc: New file.
24401         * config/loongarch/genopts/genstr.sh: New file.
24402         * config/loongarch/genopts/loongarch-strings: New file.
24403         * config/loongarch/genopts/loongarch.opt.in: New file.
24404         * config/loongarch/loongarch-str.h: New file.
24405         * config/loongarch/gnu-user.h: New file.
24406         * config/loongarch/linux.h: New file.
24407         * config/loongarch/loongarch-cpu.cc: New file.
24408         * config/loongarch/loongarch-cpu.h: New file.
24409         * config/loongarch/loongarch-def.c: New file.
24410         * config/loongarch/loongarch-def.h: New file.
24411         * config/loongarch/loongarch-driver.cc: New file.
24412         * config/loongarch/loongarch-driver.h: New file.
24413         * config/loongarch/loongarch-opts.cc: New file.
24414         * config/loongarch/loongarch-opts.h: New file.
24415         * config/loongarch/loongarch.opt: New file.
24416         * config/loongarch/t-linux: New file.
24417         * config/loongarch/t-loongarch: New file.
24418         * config.gcc: Add LoongArch support.
24419         * configure.ac: Add LoongArch support.
24421 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
24423         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
24424         typo.
24426 2022-03-29  Richard Biener  <rguenther@suse.de>
24428         PR tree-optimization/105080
24429         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
24430         loops and SCEV.
24432 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
24434         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
24435         (output_ctf_vars): Likewise.
24437 2022-03-28  Jason Merrill  <jason@redhat.com>
24439         PR c++/59426
24440         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
24442 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
24444         PR target/105068
24445         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
24446         "Yw" in clobber.
24448 2022-03-28  Tom de Vries  <tdevries@suse.de>
24450         PR target/104818
24451         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
24452         * config/nvptx/nvptx-gen.opt: Regenerate.
24453         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
24454         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
24455         gen-opt.sh.
24457 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
24459         PR analyzer/104308
24460         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
24461         to loads then stores, set the location of the new load stmt.
24463 2022-03-28  Richard Biener  <rguenther@suse.de>
24465         PR tree-optimization/105070
24466         * tree-switch-conversion.h
24467         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
24468         argument.
24469         * tree-switch-conversion.cc
24470         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
24471         cond with location.
24472         (bit_test_cluster::emit): Annotate all generated expressions
24473         with location.
24475 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
24477         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
24479 2022-03-28  liuhongt  <hongtao.liu@intel.com>
24481         PR target/105066
24482         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
24483         alternative 4 from sse4_noavx to noavx.
24485 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
24487         PR tree-optimization/105056
24488         * tree-predcom.cc (component::component): Initialize also comp_step.
24490 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
24492         PR target/105068
24493         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
24494         "Yw".
24496 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
24498         PR middle-end/104885
24499         * calls.cc (mark_stack_region_used): Check that the region
24500         is within the allocated size of stack_usage_map.
24502 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
24504         PR rtl-optimization/103775
24505         * recog.cc (check_invalid_inc_dec): New function.
24506         (insn_invalid_p): Return 1 if REG_INC operand overlaps
24507         any stored REGs.
24509 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
24511         PR target/105058
24512         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
24513         (aes<aesklvariant>u8): Likewise.
24515 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
24517         PR target/105052
24518         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
24519         Replace "Yv" with "x".
24520         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
24521         (ssse3_psign<mode>3): Likewise.
24523 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
24525         * reload.cc (find_reloads): Align comment with code where
24526         considering the intersection of register classes then tweaking the
24527         regclass for the current alternative or rejecting it.
24529 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
24531         PR target/104882
24532         Revert
24533         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
24535         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
24536         (mve_vec_unpack<US>_hi_<mode>): Delete.
24537         (@mve_vec_pack_trunc_lo_<mode>): Delete.
24538         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
24539         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
24540         from vec-common.md.
24541         (vec_unpack<US>_lo_<mode>): Likewise.
24542         (vec_pack_trunc_<mode>): Rename from
24543         neon_quad_vec_pack_trunc_<mode>.
24544         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
24545         (vec_unpack<US>_lo_<mode>): Delete.
24546         (vec_pack_trunc_<mode>): Delete.
24548 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
24550         PR middle-end/104971
24551         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
24552         regs to clear remove_p flag.
24554 2022-03-25  Richard Biener  <rguenther@suse.de>
24556         PR tree-optimization/105053
24557         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
24558         the correct live-out stmt for a reduction chain.
24560 2022-03-25  Richard Biener  <rguenther@suse.de>
24562         PR middle-end/105049
24563         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
24564         CONSTRUCTOR first elements.
24566 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
24568         PR analyzer/103533
24569         * doc/invoke.texi (Static Analyzer Options): Move
24570         @ignore block after @gccoptlist's '}' for 'make pdf'.
24572 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
24574         PR analyzer/104954
24575         * doc/invoke.texi (Static Analyzer Options): Add
24576         -fdump-analyzer-untracked.
24578 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
24580         PR analyzer/103533
24581         * doc/invoke.texi: Document that enabling taint analyzer
24582         checker disables some warnings from `-fanalyzer`.
24584 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
24586         PR debug/104564
24587         * gimple-harden-conditionals.cc (detach_value): Keep temps
24588         anonymous.
24590 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
24592         PR middle-end/104975
24593         * gimple-harden-conditionals.cc
24594         (pass_harden_compares::execute): Force split in case of
24595         multiple edges.
24597 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
24599         PR c++/105035
24600         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
24601         field0 or field1 is not a FIELD_DECL, return false.
24603 2022-03-24  Richard Biener  <rguenther@suse.de>
24605         * tree-predcom.cc (chain::chain): Add CTOR.
24606         (component::component): Likewise.
24607         (pcom_worker::release_chain): Use delete.
24608         (release_components): Likewise.
24609         (pcom_worker::filter_suitable_components): Likewise.
24610         (pcom_worker::split_data_refs_to_components): Use new.
24611         (make_invariant_chain): Likewise.
24612         (make_rooted_chain): Likewise.
24613         (pcom_worker::combine_chains): Likewise.
24614         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
24615         Make sure to release previously constructed scalar_results.
24616         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
24617         for vec_offsets.
24618         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
24619         Release m_flag_set_edges.
24621 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
24623         PR tree-optimization/104970
24624         * tree-object-size.cc (parm_object_size): Restrict size
24625         computation scenarios to explicit access attributes.
24627 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
24629         PR target/104967
24630         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
24631         function types.
24633 2022-03-23  Richard Biener  <rguenther@suse.de>
24635         PR target/102125
24636         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
24637         use of movmisalign when either the source or destination
24638         decl is properly aligned.
24640 2022-03-23  Richard Biener  <rguenther@suse.de>
24642         PR rtl-optimization/105028
24643         * ira-color.cc (form_threads_from_copies): Remove unnecessary
24644         copying of the sorted_copies tail.
24646 2022-03-23  Martin Liska  <mliska@suse.cz>
24648         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
24649         Use %qs in format.
24650         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
24651         Reword the error message.
24653 2022-03-23  liuhongt  <hongtao.liu@intel.com>
24655         PR target/104976
24656         * config/i386/sse.md (ssePSmodelower): New.
24657         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
24658         lowpart_subreg to avoid NULL_RTX.
24659         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
24660         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
24661         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
24662         <avx512>_<complexopname>_<mode>_mask<round_name>,
24663         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
24664         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
24665         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
24666         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
24667         float<floatunssuffix><mode>v4hf2,
24668         float<floatunssuffix>v2div2hf2,
24669         fix<fixunssuffix>_truncv4hf<mode>2,
24670         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
24671         extendv2hfv2df2,
24672         trunc<mode>v4hf2,truncv2dfv2hf2,
24673         *avx512bw_permvar_truncv16siv16hi_1,
24674         *avx512bw_permvar_truncv16siv16hi_1_hf,
24675         *avx512f_permvar_truncv8siv8hi_1,
24676         *avx512f_permvar_truncv8siv8hi_1_hf,
24677         *avx512f_vpermvar_truncv8div8si_1,
24678         *avx512f_permvar_truncv32hiv32qi_1,
24679         *avx512f_permvar_truncv16hiv16qi_1,
24680         *avx512f_permvar_truncv4div4si_1,
24681         *avx512f_pshufb_truncv8hiv8qi_1,
24682         *avx512f_pshufb_truncv4siv4hi_1,
24683         *avx512f_pshufd_truncv2div2si_1,
24684         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
24685         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
24687 2022-03-22  Tom de Vries  <tdevries@suse.de>
24689         PR target/104925
24690         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
24691         Use % as register prefix.
24693 2022-03-22  Tom de Vries  <tdevries@suse.de>
24695         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
24696         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
24697         mexperimental.
24699 2022-03-22  Tom de Vries  <tdevries@suse.de>
24701         * config/nvptx/nvptx.opt (mexperimental): New option.
24703 2022-03-22  Tom de Vries  <tdevries@suse.de>
24705         PR target/104957
24706         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
24707         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
24708         for alias.
24709         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
24710         (nvptx_asm_output_def_from_decls): New function.
24711         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
24712         gcc_unreachable ().
24713         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
24714         nvptx_asm_output_def_from_decls.
24715         * config/nvptx/nvptx.opt (malias): New opt.
24717 2022-03-22  Tom de Vries  <tdevries@suse.de>
24719         PR target/104916
24720         PR target/104783
24721         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
24722         sync (or uniform warp check for mptx < 6.0).
24724 2022-03-22  Richard Biener  <rguenther@suse.de>
24726         PR tree-optimization/105012
24727         * tree-if-conv.cc (ifcvt_local_dce): Only call
24728         dse_classify_store when we have a VDEF.
24730 2022-03-22  Martin Liska  <mliska@suse.cz>
24732         PR target/104902
24733         * config/nvptx/nvptx.cc (handle_ptx_version_option):
24734         Fix option wrapping in an error message.
24736 2022-03-22  Martin Liska  <mliska@suse.cz>
24738         PR target/104903
24739         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
24740         Wrap const keyword.
24742 2022-03-22  Martin Liska  <mliska@suse.cz>
24744         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
24745         name.
24747 2022-03-22  Martin Liska  <mliska@suse.cz>
24749         PR target/104898
24750         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
24751         Use %qs instead of (%qs).
24753 2022-03-22  Martin Liska  <mliska@suse.cz>
24755         PR target/104898
24756         * config/i386/i386-options.cc (ix86_option_override_internal):
24757         Use '%qs' instead of '(%qs)'.
24759 2022-03-22  Martin Liska  <mliska@suse.cz>
24761         PR target/104898
24762         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
24763         Use 'qs' and remove usage '(%qs)'.
24764         (aarch64_handle_attr_cpu): Likewise.
24765         (aarch64_handle_attr_tune): Likewise.
24766         (aarch64_handle_attr_isa_flags): Likewise.
24768 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
24769             Andre Vieira  <andre.simoesdiasvieira@arm.com>
24771         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
24772         struct.
24773         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
24774         cost.
24775         (neoverse512tvb_tunings): Likewise.
24777 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
24778             Andre Vieira  <andre.simoesdiasvieira@arm.com>
24780         * config/aarch64/aarch64.cc (demeter_addrcost_table,
24781         demeter_regmove_cost, demeter_advsimd_vector_cost,
24782         demeter_sve_vector_cost, demeter_scalar_issue_info,
24783         demeter_advsimd_issue_info, demeter_sve_issue_info,
24784         demeter_vec_issue_info, demeter_vector_cost,
24785         demeter_tunings): New tuning structs.
24786         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
24787         tuning.
24788         * config/aarch64/aarch64-cores.def: Add entry for demeter.
24789         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
24791 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
24792             Andre Vieira  <andre.simoesdiasvieira@arm.com>
24794         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
24795         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
24796         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
24797         tunings to use cpu_memmov_cost struct.
24799 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
24800             Andre Vieira  <andre.simoesdiasvieira@arm.com>
24802         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
24803         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
24804         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
24805         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
24806         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
24807         (neoversen2_tunings): Use new structs and update tuning flags.
24808         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
24809         tuning.
24811 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
24813         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
24814         bit.
24816 2022-03-22  liuhongt  <hongtao.liu@intel.com>
24818         PR target/104982
24819         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
24820         following splitter to reversed condition.
24822 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
24824         PR rtl-optimization/104989
24825         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
24826         sorry for passing too large argument, instead set sibcall_failure
24827         for pass == 0, or a new normal_failure flag otherwise.  If
24828         normal_failure is set, don't assert all stack has been deallocated
24829         at the end and throw away the whole insn sequence.
24831 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
24833         * print-tree.cc: Change array length
24835 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
24837         PR target/104978
24838         * config/i386/sse.md
24839         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
24840         Use avx512f_movsf_mask instead of vmovaps or vblend, and
24841         force_reg before lowpart_subreg.
24842         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
24844 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
24846         PR target/105000
24847         * common/config/i386/i386-common.cc
24848         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
24849         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
24851 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
24853         PR target/104998
24854         * common/config/i386/cpuinfo.h (get_available_features): Pass
24855         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
24856         bit_AESKLE is set.
24858 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
24860         PR middle-end/104869
24861         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
24862         (clobber_group::next_clobber): Likewise.
24863         (def_lookup::prev_def): Rename to...
24864         (def_lookup::last_def_of_prev_group): ...this.
24865         (def_lookup::next_def): Rename to...
24866         (def_lookup::first_def_of_next_group): ...this.
24867         (def_lookup::matching_or_prev_def): Rename to...
24868         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
24869         (def_lookup::matching_or_next_def): Rename to...
24870         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
24871         (def_lookup::prev_def): New function, taking the lookup insn as
24872         argument.
24873         (def_lookup::next_def): Likewise.
24874         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
24875         (def_lookup::last_def_of_prev_group): ...this.
24876         (def_lookup::next_def): Rename to...
24877         (def_lookup::first_def_of_next_group): ...this.
24878         (def_lookup::matching_or_prev_def): Rename to...
24879         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
24880         (def_lookup::matching_or_next_def): Rename to...
24881         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
24882         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
24883         above renaming.
24884         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
24885         (clobber_group::next_clobber): Likewise.
24886         (def_lookup::prev_def): Likewise.
24887         (def_lookup::next_def): Likewise.
24888         (function_info::make_use_available): Pass the lookup insn to
24889         def_lookup::prev_def and def_lookup::next_def.
24891 2022-03-21  Martin Liska  <mliska@suse.cz>
24893         * doc/invoke.texi: Document min-pagesize parameter.
24895 2022-03-21  Richard Biener  <rguenther@suse.de>
24897         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
24898         we are estimating niter of loop.
24900 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
24902         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
24903         Update flag name and mask name.
24904         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
24905         misc macro for vector extensions.
24906         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
24907         (MASK_VECTOR_ELEN_32): ... this.
24908         (MASK_VECTOR_EEW_64): Rename to ...
24909         (MASK_VECTOR_ELEN_64): ... this.
24910         (MASK_VECTOR_EEW_FP_32): Rename to ...
24911         (MASK_VECTOR_ELEN_FP_32): ... this.
24912         (MASK_VECTOR_EEW_FP_64): Rename to ...
24913         (MASK_VECTOR_ELEN_FP_64): ... this.
24914         (TARGET_VECTOR_ELEN_32): New.
24915         (TARGET_VECTOR_ELEN_64): Ditto.
24916         (TARGET_VECTOR_ELEN_FP_32): Ditto.
24917         (TARGET_VECTOR_ELEN_FP_64): Ditto.
24918         (TARGET_MIN_VLEN): Ditto.
24919         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
24920         (riscv_vector_elen_flags): ... this.
24922 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
24924         PR target/104977
24925         * config/i386/sse.md
24926         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
24927         Correct round operand for intel dialect.
24929 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
24931         * diagnostic.cc (diagnostic_cc_tests): Rename to...
24932         (c_diagnostic_cc_tests): ...this.
24933         * opt-problem.cc (opt_problem_cc_tests): Rename to...
24934         (c_opt_problem_cc_tests): ...this.
24935         * selftest-run-tests.cc (selftest::run_tests): No longer run
24936         opt_problem_cc_tests or diagnostic_cc_tests.
24937         * selftest.h (diagnostic_cc_tests): Remove declaration.
24938         (opt_problem_cc_tests): Likewise.
24940 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
24942         PR jit/63854
24943         * hash-traits.h (struct typed_const_free_remove): New.
24944         (struct free_string_hash): New.
24945         * pass_manager.h: Use free_string_hash.
24946         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
24947         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
24949 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
24951         PR middle-end/104971
24952         * config/i386/i386-expand.cc
24953         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
24954         don't push/pop anything and just return const0_rtx.
24956 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
24958         PR rtl-optimization/104961
24959         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
24961 2022-03-18  Jason Merrill  <jason@redhat.com>
24963         * tree.h (IDENTIFIER_LENGTH): Add comment.
24965 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
24967         PR middle-end/99578
24968         PR middle-end/100680
24969         PR tree-optimization/100834
24970         * params.opt (--param=min-pagesize=): New parameter.
24971         * pointer-query.cc
24972         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
24973         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
24974         of zero for pointer constants equal or larger than min-pagesize.
24976 2022-03-18  Tom de Vries  <tdevries@suse.de>
24978         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
24979         Set gfor location only when dealing with a OMP_TASKLOOP.
24981 2022-03-18  Tom de Vries  <tdevries@suse.de>
24983         * gimplify.cc (gimplify_omp_for): Set taskloop location.
24985 2022-03-18  Tom de Vries  <tdevries@suse.de>
24987         PR target/104952
24988         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
24989         is executed unconditionally.
24991 2022-03-18  liuhongt  <hongtao.liu@intel.com>
24993         PR target/104974
24994         * config/i386/i386.md (*movhi_internal): Set attr type from HI
24995         to HF for alternative 12 under TARGET_AVX512FP16.
24997 2022-03-18  Cui,Lili  <lili.cui@intel.com>
24999         PR target/104963
25000         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
25001         * doc/invoke.texi: Update documents for Intel sapphirerapids.
25003 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
25005         PR target/86722
25006         PR tree-optimization/90356
25007         * config/i386/i386.md (*movtf_internal): Don't guard
25008         standard_sse_constant_p clause by optimize_function_for_size_p.
25009         (*movdf_internal): Likewise.
25010         (*movsf_internal): Likewise.
25012 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
25014         PR tree-optimization/102943
25015         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
25016         dominators and apply intermediary outgoing edge ranges.
25018 2022-03-17  Richard Biener  <rguenther@suse.de>
25020         PR tree-optimization/104960
25021         * passes.def: Add pass parameter to pass_sink_code, mark
25022         last one to unsplit edges.
25023         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
25024         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
25025         when we need to unsplit edges.
25027 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
25029         PR middle-end/103984
25030         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
25031         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
25032         and asan unpoisioning, then append the temporary sequence and
25033         finally the TARGET_EXPR_CLEANUP clobbers.
25035 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
25037         * config/i386/sse.md: Delete corrupt character/typo.
25039 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
25041         PR target/94680
25042         * config/i386/sse.md (sse2_movq128): New define_expand to
25043         preserve previous named instruction.
25044         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
25045         generalized to VI8F_128 (both V2DI and V2DF).
25047 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
25049         PR tree-optimization/104941
25050         * tree-object-size.cc (size_for_offset): Make useless conversion
25051         check lighter and assign result of fold_convert to OFFSET.
25053 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
25055         PR target/104890
25056         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
25057         pushing target("general-regs-only").
25059 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
25061         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
25062         Add version info for zk, zks and zkn.
25064 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
25066         * common/config/riscv/riscv-common.cc
25067         (riscv_combine_info): New.
25068         (riscv_subset_list::handle_combine_ext): Combine back into zk to
25069         maintain the canonical order in isa strings.
25070         (riscv_subset_list::parse): Ditto.
25071         * config/riscv/riscv-subset.h (handle_combine_ext): New.
25073 2022-03-16  Richard Biener  <rguenther@suse.de>
25075         PR tree-optimization/102008
25076         * passes.def: Move the added code sinking pass before the
25077         preceeding phiopt pass.
25079 2022-03-16  Patrick Palka  <ppalka@redhat.com>
25081         PR c++/96780
25082         * doc/invoke.texi (C++ Dialect Options): Document
25083         -ffold-simple-inlines.
25085 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
25087         PR tree-optimization/104942
25088         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
25090 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
25092         PR target/104910
25093         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
25094         imm rtx.
25096 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
25097             Richard Biener  <rguenther@suse.de>
25099         * gimple-match-head.cc (single_use): Implement inline using a
25100         single loop.
25102 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
25104         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
25105         instead of HONOR_NANS.
25106         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
25107         this can't trap/signal.
25109 2022-03-16  liuhongt  <hongtao.liu@intel.com>
25111         PR target/104946
25112         * config/i386/i386-builtin.def (BDESC): Add
25113         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
25114         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
25115         __builtin_ia32_blendvpd w/o sse4.2
25117 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
25119         PR target/104923
25120         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
25121         acceptable MEM addresses.
25123 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
25125         PR target/91229
25126         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
25127         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
25128         to warning calls.
25130 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
25132         PR target/104890
25133         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
25134         instead of general-regs-only.
25136 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
25137             Marc Glisse  <marc.glisse@inria.fr>
25138             Richard Biener  <rguenther@suse.de>
25140         PR tree-optimization/101895
25141         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
25142         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
25144 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
25146         PR rtl-optimization/104814
25147         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
25148         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
25150 2022-03-15  Martin Sebor  <msebor@redhat.com>
25152         PR middle-end/104436
25153         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
25154         Check for warning suppression.  Avoid by-value arguments transformed
25155         into by-transparent-reference.
25157 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
25158             Uroš Bizjak  <ubizjak@gmail.com>
25160         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
25161         transformation when *zero_extend<mode>si2 is not available.
25163 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
25165         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
25166         * config/mips/mips.cc (mips_option_override): Make
25167         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
25168         needed by libasan for stack backtrace on MIPS.
25169         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
25171 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
25173         PR debug/104778
25174         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
25175         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
25176         call simplified the first operand into VOIDmode constant.
25178 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
25180         PR tree-optimization/102586
25181         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
25182         argument type should be pointer to trivially-copyable type unless it
25183         is address of a variable or parameter.
25185 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
25187         PR target/99754
25188         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
25189         first   rather than last element of the vector, use __m32_u to do
25190         a really unaligned load, use just 0 instead of (int)0.
25191         (_mm_loadu_si16): Put loaded value into first rather than last
25192         element of the vector, use __m16_u to do a really unaligned load,
25193         use just 0 instead of (short)0.
25195 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
25197         PR other/104899
25198         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
25199         in diagnostic message - cannott -> cannot.  Use %< and %> around
25200         names of attribute.  Avoid too long line.
25201         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
25202         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
25204 2022-03-14  liuhongt  <hongtao.liu@intel.com>
25206         PR target/104666
25207         * config/i386/i386-expand.cc
25208         (ix86_check_builtin_isa_match): New func.
25209         (ix86_expand_builtin): Move code to
25210         ix86_check_builtin_isa_match and call it.
25211         * config/i386/i386-protos.h
25212         (ix86_check_builtin_isa_match): Declare.
25213         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
25214         builtin into gimple when isa mismatches.
25216 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
25218         * doc/invoke.texi: Fix typos.
25219         * doc/tm.texi.in: Remove duplicated word.
25220         * doc/tm.texi: Regenerate.
25222 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
25224         PR target/104829
25225         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
25226         "ppc" and "ppc64" based on rs6000_cpu.
25228 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
25230         PR middle-end/100280
25231         PR middle-end/104892
25232         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
25233         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
25235 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
25237         PR middle-end/100280
25238         PR middle-end/104086
25239         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
25240         Mark variables used in 'present' clauses as addressable.
25241         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
25242         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
25244 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
25246         PR other/65095
25247         * tree-core.h (user_omp_claus_code_name): Declare function.
25248         * tree.cc (user_omp_clause_code_name): New function.
25250 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
25252         PR middle-end/98420
25253         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
25254         (the defaut) or -fno-signed-zeros.
25256 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
25258         PR target/104868
25259         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
25260         moving from a GPR register to an Altivec register.
25262 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
25264         PR tree-optimization/98335
25265         * config/i386/i386.md (peephole2): Eliminate redundant insv.
25266         Combine movl followed by movb.  Transform xorl followed by
25267         a suitable movb or movw into the equivalent movz[bw]l.
25269 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
25270             Richard Biener  <rguenther@suse.de>
25272         PR tree-optimization/98335
25273         * builtins.cc (get_object_alignment_2): Export.
25274         * builtins.h (get_object_alignment_2): Likewise.
25275         * tree-ssa-alias.cc (ao_ref_alignment): New.
25276         * tree-ssa-alias.h (ao_ref_alignment): Declare.
25277         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
25278         to align head/tail, writing more bytes but using fewer store insns.
25280 2022-03-11  Richard Biener  <rguenther@suse.de>
25282         PR tree-optimization/104880
25283         * tree-ssa.cc (execute_update_address_taken): Remember if we
25284         optimistically made something not addressable and
25285         prepare to undo it.
25287 2022-03-11  Richard Biener  <rguenther@suse.de>
25289         PR target/104762
25290         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
25291         cost the first lane of SSE pieces as inserts for vec_construct.
25293 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
25295         PR c++/84964
25296         * calls.cc (expand_call): Ignore stack adjustments after sorry.
25298 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
25300         PR target/103074
25301         * lra-constraints.cc (split_reg): Set up
25302         check_and_force_assignment_correctness_p when splitting hard
25303         register live range.
25305 2022-03-10  Martin Jambor  <mjambor@suse.cz>
25307         PR ipa/104813
25308         * ipa-cp.cc (create_specialized_node): Move removal of
25309         self-recursive calls from callers vector before refrence
25310         adjustments.
25312 2022-03-10  Richard Biener  <rguenther@suse.de>
25314         PR tree-optimization/102943
25315         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
25316         Make a bitmap_head.
25317         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
25318         to tree view.
25319         (sbr_sparse_bitmap::set_bb_range): Adjust.
25320         (sbr_sparse_bitmap::get_bb_range): Likewise.
25322 2022-03-10  Richard Biener  <rguenther@suse.de>
25324         PR tree-optimization/102943
25325         * tree-ssa-dom.cc (back_propagate_equivalences): Only
25326         populate the dominance bitmap if fast queries are not
25327         available.  Use a tree view bitmap.
25328         (record_temporary_equivalences): Cache the dominance bitmap
25329         across all equivalences on the edge.
25331 2022-03-10  Tom de Vries  <tdevries@suse.de>
25333         PR target/104840
25334         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
25335         of false,true.
25337 2022-03-10  Tom de Vries  <tdevries@suse.de>
25339         PR target/104783
25340         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
25341         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
25342         (nvptx_get_unisimt_outside_simt_predicate): New function.
25343         (predicate_insn): New function, factored out of ...
25344         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
25345         * config/nvptx/nvptx.h (struct machine_function): Add
25346         unisimt_outside_simt_predicate field.
25347         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
25348         (define_insn "nvptx_uniform_warp_check"): Make predicable.
25350 2022-03-10  Tom de Vries  <tdevries@suse.de>
25352         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
25353         result.
25355 2022-03-10  Tom de Vries  <tdevries@suse.de>
25357         PR target/104815
25358         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
25359         modifier.
25360         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
25362 2022-03-10  Tom de Vries  <tdevries@suse.de>
25364         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
25365         Emit atom.and.b64 instead of atom.b64.and.
25367 2022-03-10  Tom de Vries  <tdevries@suse.de>
25369         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
25370         (MULTILIB_OPTIONS): ... here.
25372 2022-03-10  Tom de Vries  <tdevries@suse.de>
25374         PR target/104758
25375         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
25376         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
25378 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
25380         PR middle-end/90115
25381         PR middle-end/102330
25382         PR middle-end/104774
25383         * omp-low.cc (oacc_privatization_candidate_p)
25384         (oacc_privatization_scan_clause_chain)
25385         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
25386         Analyze 'lookup_decl'-translated DECL.
25388 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
25390         PR target/99708
25391         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
25392         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
25393         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
25394         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
25395         "**NULL**" if type_node is NULL first.  Handle
25396         ieee128_float_type_node.
25397         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
25398         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
25399         ieee128_float_type_node to NULL rather than long_double_type_node if
25400         they aren't supported.  Do support __ibm128 even if
25401         !TARGET_FLOAT128_TYPE when long double is double double.
25402         (rs6000_expand_builtin): Error if bif_is_ibm128 and
25403         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
25404         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
25405         for it.
25406         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
25407         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
25408         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
25409         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
25410         Formatting fix.
25411         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
25412         (struct attrinfo): Add isibm128 member.
25413         (TYPE_MAP_SIZE): Remove.
25414         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
25415         ibm128_float_type_node only if it is non-NULL, otherwise fall back
25416         to long_double_type_node.  Remove "pif" entry.
25417         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
25418         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
25419         (write_type_node): Use sizeof type_map / sizeof type_map[0]
25420         instead of TYPE_MAP_SIZE.
25421         (write_bif_static_init): Handle isibm128.
25422         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
25423         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
25424         attribute.
25426 2022-03-09  Richard Biener  <rguenther@suse.de>
25428         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
25429         with non-decl operand, avoiding a copy.
25431 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
25433         PR target/104781
25434         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
25436 2022-03-09  Richard Biener  <rguenther@suse.de>
25438         PR middle-end/104786
25439         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
25440         for VLAs without an upper size bound.
25442 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
25444         PR tree-optimization/104851
25445         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
25446         error.
25448 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
25450         PR c/104711
25451         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
25452         is enabled by it only for C++11 to C++17 rather than for C++03 or
25453         later.
25454         (-Wshift-negative-value): Similarly (except here we stated
25455         that it is enabled for C++11 or later).
25457 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
25459         PR rtl-optimization/104839
25460         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
25461         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
25462         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
25463         instead of incorrect 0 in SUBREG_PROMOTED_SET.
25465 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
25467         PR target/104842
25468         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
25469         value before adding an offset.
25471 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
25473         * config/arm/arm-builtins.cc
25474         (arm_binop_none_none_unone_qualifiers): Delete.
25475         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
25477 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
25479         PR translation/104552
25480         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
25481         the PCH out of memory error message punctuation and wording.
25483 2022-03-08  Marek Polacek  <polacek@redhat.com>
25485         PR rtl-optimization/104777
25486         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
25487         ASM_OPERANDS_LABEL_VEC has at least one element.
25489 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
25491         PR target/104781
25492         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
25493         stack realignment or regparm nested function with EH return.
25495 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
25497         PR target/104790
25498         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
25499         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
25500         register for non widening loads or narrowing stores.
25502 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
25504         PR translation/104552
25505         * params.opt: Fix typo.
25507 2022-03-08  Richard Biener  <rguenther@suse.de>
25509         PR tree-optimization/84201
25510         * params.opt (-param=vect-induction-float): Add.
25511         * doc/invoke.texi (vect-induction-float): Document.
25512         * tree-vect-loop.cc (vectorizable_induction): Honor
25513         param_vect_induction_float.
25515 2022-03-08  Martin Jambor  <mjambor@suse.cz>
25517         PR translation/104552
25518         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
25519         "that" in the description.
25521 2022-03-08  Richard Biener  <rguenther@suse.de>
25523         PR tree-optimization/104825
25524         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
25525         guard modref get_ao_ref on a pointer typed argument.
25527 2022-03-08  liuhongt  <hongtao.liu@intel.com>
25529         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
25530         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
25532 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
25534         * doc/invoke.texi (C++ Modules): Remove anachronism.
25536 2022-03-07  Martin Liska  <mliska@suse.cz>
25538         PR middle-end/104381
25539         * opts.cc (finish_options): If debug info is disabled
25540         (debug_info_level) and -fvar-tracking is unset, disable it.
25542 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
25544         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
25545         * config/riscv/riscv.cc: Likewise.
25546         * config/darwin.h: Likewise.
25547         * config/i386/i386.cc: Likewise.
25548         * config/aarch64/thunderx3t110.md: Likewise.
25549         * config/aarch64/fractional-cost.h: Likewise.
25550         * config/vax/vax.cc: Likewise.
25551         * config/rs6000/pcrel-opt.md: Likewise.
25552         * config/rs6000/predicates.md: Likewise.
25553         * ctfc.h: Likewise.
25554         * tree-ssa-uninit.cc: Likewise.
25555         * value-relation.h: Likewise.
25556         * gimple-range-gori.cc: Likewise.
25557         * ipa-polymorphic-call.cc: Likewise.
25558         * pointer-query.cc: Likewise.
25559         * ipa-sra.cc: Likewise.
25560         * internal-fn.cc: Likewise.
25561         * varasm.cc: Likewise.
25562         * gimple-ssa-warn-access.cc: Likewise.
25564 2022-03-07  Martin Liska  <mliska@suse.cz>
25566         PR target/104794
25567         * config/arm/arm.cc (arm_option_override_internal): Add missing
25568         space.
25570 2022-03-07  Richard Biener  <rguenther@suse.de>
25572         PR tree-optimization/104782
25573         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
25574         Re-instantiate r10-5979 fix, add comment.
25576 2022-03-07  Martin Liska  <mliska@suse.cz>
25578         PR target/104797
25579         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
25580         parenthesis from built-in name.
25582 2022-03-07  Martin Liska  <mliska@suse.cz>
25584         PR target/104794
25585         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
25586         of options in error messages.
25587         (arm_option_reconfigure_globals): Likewise.
25589 2022-03-07  Martin Liska  <mliska@suse.cz>
25591         PR target/104794
25592         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
25593         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
25594         have only range [0,32].
25596 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
25598         PR target/104775
25599         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
25600         S constraint instead of T in the last alternative.
25602 2022-03-07  Martin Liska  <mliska@suse.cz>
25604         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
25605         message.
25607 2022-03-07  Martin Liska  <mliska@suse.cz>
25609         PR translation/90148
25610         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
25611         quote to a proper place.
25612         * plugin.cc (default_plugin_dir_name): Likewise.
25614 2022-03-07  Martin Liska  <mliska@suse.cz>
25616         PR target/99297
25617         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
25618         string.
25620 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
25622         PR target/104779
25623         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
25624         define_expand pattern.  Rename define_insn to ...
25625         (*avx512dq_mul<mode>3<mask_name>): ... this.
25626         (<code><mode>3_mask): New any_logic define_expand pattern.
25627         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
25628         (*<code><mode>3<mask_name>): ... this.
25630 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
25632         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
25633         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
25635 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
25636             Uroš Bizjak  <ubizjak@gmail.com>
25638         PR testsuite/104732
25639         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
25640         Include DI mode unconditionally.
25641         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
25642         i.e. always split on !TARGET_64BIT.
25643         (*<any_or>di3_doubleword): Likewise.
25644         (*one_cmpldi2_doubleword): Likewise.
25645         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
25646         (<any_or><mode>3 expander): Likewise.
25647         (one_cmpl<mode>2 expander): Likewise.
25649 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
25651         PR target/104698
25652         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
25653         (mtvsrdd_diti_w1): Delete.
25654         (extendditi2): Convert from define_expand to
25655         define_insn_and_split.  Replace with code to deal with both GPR
25656         registers and with altivec registers.
25658 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
25660         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
25661         bit.  Handle most older CPUs.
25663 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
25665         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
25666         avoid a mismatch with DECL_MD_FUNCTION_CODE().
25668 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
25670         PR target/104117
25671         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
25672         (@machopic_low_<mode>): New.
25673         * config/rs6000/predicates.md (macho_pic_address): New.
25674         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
25675         apply the TLS processing to Darwin.
25676         * lra-constraints.cc (process_address_1): Revert the changes
25677         in r12-7209.
25679 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
25681         PR target/87496
25682         PR target/104208
25683         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
25684         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
25685         -mlong-double-128.
25686         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
25687         from here...
25688         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
25689         ... to here.
25691 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
25693         PR middle-end/104529
25694         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
25695         on automatic objects which will be runtime initialized.
25697 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
25699         PR middle-end/100280
25700         PR middle-end/104132
25701         PR middle-end/104133
25702         * omp-low.cc (task_shared_vars): Rename to
25703         'make_addressable_vars'.  Adjust all users.
25704         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
25705         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
25707 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
25709         PR middle-end/100280
25710         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
25711         * tree-core.h: Document it.
25712         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
25713         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
25714         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
25715         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
25716         'TREE_ADDRESSABLE'.
25718 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
25720         PR middle-end/100280
25721         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
25722         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
25723         '[...]' declared in block made addressable".
25725 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
25727         PR middle-end/100400
25728         PR middle-end/103836
25729         PR middle-end/104061
25730         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
25731         Catch 'GIMPLE_DEBUG'.
25733 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
25735         PR c/104627
25736         * tree.cc (warn_deprecated_use): For types prefer to use node
25737         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
25738         NULL.
25740 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
25742         PR target/104704
25743         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
25744         a pseudo register.
25746 2022-03-03  Martin Sebor  <msebor@redhat.com>
25748         PR middle-end/104761
25749         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
25750         mark_dfs_back_edges.
25752 2022-03-03  Martin Liska  <mliska@suse.cz>
25754         * configure.ac: Use linker plug-in by default.
25755         * configure: Regenerate.
25757 2022-03-03  Martin Liska  <mliska@suse.cz>
25759         * configure.ac: Now ld.mold support LTO plugin API, use it.
25760         * configure: Regenerate.
25762 2022-03-03  Tom de Vries  <tdevries@suse.de>
25764         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
25766 2022-03-03  Tom de Vries  <tdevries@suse.de>
25768         PR target/104758
25769         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
25771 2022-03-03  Tom de Vries  <tdevries@suse.de>
25773         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
25775 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
25777         PR middle-end/104757
25778         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
25779         gimplify_omp_for.
25780         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
25781         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
25783 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
25785         PR middle-end/104558
25786         * calls.cc (store_one_arg): When not calling emit_push_insn
25787         because size_rtx is const0_rtx, call at least anti_adjust_stack
25788         on arg->locate.alignment_pad if !argblock and the alignment might
25789         be non-zero.
25791 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
25793         * lra-constraints.cc (undo_optional_reloads): Recognize and
25794         drop insns of multi-word move sequences, tolerate removal
25795         iteration on an already-removed clobber, and refuse to
25796         substitute original pseudos into clobbers.
25798 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
25800         PR middle-end/102276
25801         * common.opt (-Wtrivial-auto-var-init): New option.
25802         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
25803         (-ftrivial-auto-var-init): Update option;
25804         * gimplify.cc (emit_warn_switch_unreachable): New function.
25805         (warn_switch_unreachable_r): Rename to ...
25806         (warn_switch_unreachable_and_auto_init_r): This.
25807         (maybe_warn_switch_unreachable): Rename to ...
25808         (maybe_warn_switch_unreachable_and_auto_init): This.
25809         (gimplify_switch_expr): Update calls to renamed function.
25811 2022-03-02  Richard Biener  <rguenther@suse.de>
25813         PR rtl-optimization/104686
25814         * ira-color.cc (object_conflicts_with_allocno_p): New function
25815         using a bitvector test instead of iterating when possible.
25816         (allocnos_conflict_p): Choose the best allocno to iterate over
25817         object conflicts.
25818         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
25819         last.
25821 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
25823         * cfg.cc (dump_edge_info): Dump goto_locus if present.
25825 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
25827         PR rtl-optimization/104589
25828         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
25829         INSN_LOCATION comparison with goto_locus.
25831 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
25833         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
25834         strlen_pass::before_dom_children): Comment spelling fixes.
25836 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
25838         * ipa-modref-tree.cc (modref_access_node::contains,
25839         modref_access_node::closer_pair_p, modref_access_node::insert,
25840         modref_access_node::insert_kill): Comment spelling fixes.
25841         * ipa-modref.cc: Likewise.
25842         (modref_summary::finalize, ignore_nondeterminism_p,
25843         class modref_access_analysis,
25844         modref_access_analysis::set_side_effects,
25845         modref_access_analysis::set_nondeterministic,
25846         modref_access_analysis::record_global_memory_load,
25847         modref_access_analysis::propagate, modref_access_analysis::analyze,
25848         struct escape_point, class modref_lattice, modref_lattice::merge,
25849         modref_lattice::merge_deref, class modref_eaf_analysis,
25850         modref_eaf_analysis::merge_call_lhs_flags,
25851         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
25852         modref_eaf_analysis::record_escape_points, remap_kills,
25853         update_escape_summary, remove_useless_summaries,
25854         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
25855         Likewise.
25856         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
25857         Likewise.
25858         * ipa-modref-tree.h (enum modref_special_parms,
25859         struct modref_access_node): Likewise.
25861 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
25863         PR tree-optimization/104715
25864         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
25865         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
25866         of a call if gimple_call_return_arg is equal to ptr, not just when it
25867         is non-NULL.
25869 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
25871         * gimple-ssa-warn-access.cc (warn_string_no_nul,
25872         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
25873         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
25874         pass_waccess::check_alloca, pass_waccess::check_strcat,
25875         memmodel_to_uhwi, fntype_argno_type,
25876         pass_waccess::maybe_check_access_sizes,
25877         pass_waccess::check_call_access,
25878         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
25879         Comment spelling fixes.
25881 2022-03-01  Richard Biener  <rguenther@suse.de>
25883         PR tree-optimization/104716
25884         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
25885         Check if we can copy the loop.
25887 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
25889         PR middle-end/104721
25890         * cfgexpand.cc (expand_gimple_basic_block): Clear
25891         currently_expanding_gimple_stmt when returning inside the loop.
25893 2022-03-01  Martin Liska  <mliska@suse.cz>
25895         PR ipa/104533
25896         * multiple_target.cc (get_attr_len): Move to tree.c.
25897         (expand_target_clones): Remove single value checking.
25898         * tree.cc (get_target_clone_attr_len): New fn.
25899         * tree.h (get_target_clone_attr_len): Likewise.
25901 2022-03-01  Martin Liska  <mliska@suse.cz>
25903         PR gcov-profile/104677
25904         * doc/invoke.texi: Document more .gcda file name generation.
25906 2022-03-01  Tom de Vries  <tdevries@suse.de>
25908         PR target/102429
25909         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
25910         * config/nvptx/nvptx.md
25911         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
25912         New predicate.
25913         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
25914         Use nvptx_register_or_complex_di_df_register_operand.
25916 2022-03-01  Tom de Vries  <tdevries@suse.de>
25918         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
25919         * config/nvptx/gen-copyright.sh: New file.
25920         * config/nvptx/gen-h.sh: New file.
25921         * config/nvptx/gen-opt.sh: New file.
25922         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
25923         (TARGET_SM75, TARGET_SM80): Move ...
25924         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
25925         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
25926         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
25927         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
25928         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
25930 2022-03-01  Tom de Vries  <tdevries@suse.de>
25932         * config/nvptx/gen-omp-device-properties.sh: New file.
25933         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
25935 2022-03-01  Tom de Vries  <tdevries@suse.de>
25937         * config/nvptx/nvptx-sm.def: New file.
25938         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
25939         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
25940         * config/nvptx/nvptx.cc (sm_version_to_string)
25941         (nvptx_omp_device_kind_arch_isa): Same.
25943 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
25945         PR rtl-optimization/104154
25946         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
25947         comparison ifcvt passed us.
25949 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
25951         PR target/104664
25952         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
25953         Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
25955 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
25957         PR tree-optimization/91384
25958         * config/i386/i386.md (peephole2): Eliminate final testl insn
25959         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
25960         transforming using *negsi_2 for the negation.
25962 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
25963             Eric Botcazou  <ebotcazou@adacore.com>
25965         PR middle-end/80270
25966         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
25967         register, copy it to a pseudo before calling simplify_gen_subreg.
25969 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
25971         PR rtl-optimization/104637
25972         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
25973         as possible on one subpass.
25975 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
25977         PR middle-end/104550
25978         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
25979         created uses.
25981 2022-02-28  Martin Liska  <mliska@suse.cz>
25983         PR ipa/104648
25984         * main.cc (main): Use flag_checking instead of CHECKING_P
25985         and run toplev::finalize only if there is not error seen.
25987 2022-02-28  Richard Biener  <rguenther@suse.de>
25989         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
25991 2022-02-28  Richard Biener  <rguenther@suse.de>
25993         PR tree-optimization/104700
25994         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
25995         into ...
25996         (find_or_generate_expression): ... here, simplifying code.
25998 2022-02-28  Tom de Vries  <tdevries@suse.de>
26000         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
26001         PTX_VERSION_default.
26002         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
26003         PTX_VERSION_default.
26004         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
26006 2022-02-28  Richard Biener  <rguenther@suse.de>
26008         PR rtl-optimization/104686
26009         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
26010         skipping bits that are zero.
26011         (ira_object_conflict_iter_cond): Likewise.
26013 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
26015         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
26016         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
26017         char to avoid error when using ~enum as parameter.
26018         (_mm512_mask_ternarylogic_epi64): Likewise.
26019         (_mm512_maskz_ternarylogic_epi64): Likewise.
26020         (_mm512_ternarylogic_epi32): Likewise.
26021         (_mm512_mask_ternarylogic_epi32): Likewise.
26022         (_mm512_maskz_ternarylogic_epi32): Likewise.
26023         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
26024         Adjust imm param type to unsigned char.
26025         (_mm256_mask_ternarylogic_epi64): Likewise.
26026         (_mm256_maskz_ternarylogic_epi64): Likewise.
26027         (_mm256_ternarylogic_epi32): Likewise.
26028         (_mm256_mask_ternarylogic_epi32): Likewise.
26029         (_mm256_maskz_ternarylogic_epi32): Likewise.
26030         (_mm_ternarylogic_epi64): Likewise.
26031         (_mm_mask_ternarylogic_epi64): Likewise.
26032         (_mm_maskz_ternarylogic_epi64): Likewise.
26033         (_mm_ternarylogic_epi32): Likewise.
26034         (_mm_mask_ternarylogic_epi32): Likewise.
26035         (_mm_maskz_ternarylogic_epi32): Likewise.
26037 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
26038             Marc Glisse  <marc.glisse@inria.fr>
26040         PR tree-optimization/104675
26041         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
26042         Restrict simplifications to INTEGRAL_TYPE_P.
26044 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
26046         PR target/104681
26047         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
26049 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
26051         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
26052         comparison is not valid.
26053         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
26054         (movdicc): Likewise.
26055         (movsfcc): Likewise.
26056         (movdfcc): Likewise.
26058 2022-02-25  Richard Biener  <rguenther@suse.de>
26060         PR tree-optimization/103037
26061         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
26062         (vn_nary_length_from_stmt): Likewise.
26063         (init_vn_nary_op_from_stmt): Likewise.
26064         (vn_nary_op_compute_hash): Likewise.
26065         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
26066         (vn_nary_length_from_stmt): Likewise.
26067         (init_vn_nary_op_from_stmt): Likewise.
26068         (vn_nary_op_compute_hash): Likewise.
26069         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
26070         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
26071         (re-)compute the hash value and if the expression is not
26072         found allocate it from pre_expr_obstack.
26073         (phi_translate_1): Do not insert the NARY found in the
26074         VN tables but build a PRE expression from the valueized
26075         NARY with the value-id we eventually found.
26076         (find_or_generate_expression): Assert we have an entry
26077         for constant values.
26078         (compute_avail): Insert not valueized expressions into
26079         EXP_GEN using the value-id from the VN tables.
26080         (init_pre): Allocate pre_expr_obstack.
26081         (fini_pre): Free pre_expr_obstack.
26083 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
26085         PR target/104674
26086         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
26087         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
26088         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
26090 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
26092         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
26094 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
26096         PR middle-end/104679
26097         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
26099 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
26101         PR tree-optimization/104675
26102         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
26103         COMPLEX_TYPE.
26105 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
26107         PR target/104121
26108         PR target/103302
26109         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
26111 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
26113         PR middle-end/104540
26114         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
26115         dw_cfi_cfa_loc.
26117 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
26119         PR tree-optimization/103856
26120         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
26121         eh edge to be requested through an extra parameter.
26122         (pass_harden_compares::execute): Copy PHI args in the EH dest
26123         block for the new EH edge added for the inverted compare.
26125 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
26127         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
26128         of position independence that -mcmodel=medany affords.
26130 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
26132         PR target/104656
26133         * configure.ac: --disable-gcov if targetting bpf-*.
26134         * configure: Regenerate.
26136 2022-02-24  Richard Biener  <rguenther@suse.de>
26138         PR tree-optimization/104676
26139         * tree-loop-distribution.cc (loop_distribution::execute):
26140         Do a full scev_reset.
26142 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
26144         PR tree-optimization/104601
26145         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
26146         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
26147         vuse value number.
26149 2022-02-24  Tom de Vries  <tdevries@suse.de>
26150             Tobias Burnus  <tobias@codesourcery.com>
26152         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
26153         sm_70, sm_75 and sm_80.
26154         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
26156 2022-02-24  Tom de Vries  <tdevries@suse.de>
26158         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
26159         "rotrsi3"): New define_insn.
26161 2022-02-24  Tom de Vries  <tdevries@suse.de>
26163         * config/nvptx/nvptx.cc (gen_comment): Use
26164         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
26166 2022-02-24  liuhongt  <hongtao.liu@intel.com>
26168         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
26169         isa attr of alternative 2 from avx to avx512vl.
26171 2022-02-23  Richard Biener  <rguenther@suse.de>
26172             Jakub Jelinek  <jakub@redhat.com>
26174         PR tree-optimization/104644
26175         * doc/match-and-simplify.texi: Amend ! documentation.
26176         * genmatch.cc (expr::gen_transform): Code-generate ! support
26177         for GENERIC.
26178         (parser::parse_expr): Allow ! for GENERIC.
26179         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
26180         bswap.
26182 2022-02-23  Richard Biener  <rguenther@suse.de>
26184         PR tree-optimization/101636
26185         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
26186         vector type of the node.
26187         (vect_slp_analyze_operations): Make sure the CTOR
26188         is vectorized with an expected type.
26189         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
26191 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
26193         PR c/104633
26194         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
26195         Don't warn about calls to corresponding builtin from extern inline
26196         gnu_inline wrappers.
26198 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
26200         PR target/104489
26201         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
26203 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
26205         PR target/100757
26206         PR target/101325
26207         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
26208         typo.
26210 2022-02-23  Cui,Lili  <lili.cui@intel.com>
26212         * doc/invoke.texi: Update documents for Intel architectures.
26214 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
26216         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
26217         bootstrap.
26219 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
26221         * omp-low.cc (omp_build_component_ref): Move function...
26222         * omp-general.cc (omp_build_component_ref): ... here.  Remove
26223         'static'.
26224         * omp-general.h (omp_build_component_ref): Declare function.
26225         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
26226         function.
26227         (build_receiver_ref, build_sender_ref): Call
26228         'omp_build_component_ref' instead.
26230 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
26232         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
26233         simplify.  Adjust all users.
26235 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
26237         PR target/88134
26238         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
26239         atomic_update_decl): Add GTY markup.
26241 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26243         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
26245 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26247         PR target/100757
26248         PR target/101325
26249         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
26250         predicate.
26251         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
26252         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
26253         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
26254         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
26255         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
26256         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
26257         * config/arm/mve.md: Use VxBI instead of HI.
26259 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26261         PR target/100757
26262         PR target/101325
26263         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
26264         qualifier.
26265         (STRSBU_P_QUALIFIERS): Likewise.
26266         (LDRGBS_Z_QUALIFIERS): Likewise.
26267         (LDRGBU_Z_QUALIFIERS): Likewise.
26268         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
26269         (LDRGBWBS_Z_QUALIFIERS): Likewise.
26270         (LDRGBWBU_Z_QUALIFIERS): Likewise.
26271         (STRSBWBS_P_QUALIFIERS): Likewise.
26272         (STRSBWBU_P_QUALIFIERS): Likewise.
26273         * config/arm/mve.md: Use VxBI instead of HI.
26275 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26277         PR target/100757
26278         PR target/101325
26279         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
26280         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
26281         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
26282         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
26283         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
26284         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
26285         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
26286         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
26287         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
26288         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
26289         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
26290         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
26291         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
26292         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
26293         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
26294         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
26295         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
26296         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
26297         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
26298         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
26299         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
26300         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
26301         (STRS_P_QUALIFIERS): Use predicate qualifier.
26302         (STRU_P_QUALIFIERS): Likewise.
26303         (STRSU_P_QUALIFIERS): Likewise.
26304         (STRSS_P_QUALIFIERS): Likewise.
26305         (LDRGS_Z_QUALIFIERS): Likewise.
26306         (LDRGU_Z_QUALIFIERS): Likewise.
26307         (LDRS_Z_QUALIFIERS): Likewise.
26308         (LDRU_Z_QUALIFIERS): Likewise.
26309         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
26310         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
26311         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
26312         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
26313         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
26314         * config/arm/mve.md: Use MVE_VPRED instead of HI.
26316 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26318         PR target/100757
26319         PR target/101325
26320         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
26321         Delete.
26322         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
26323         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
26324         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
26325         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
26326         predicated qualifiers.
26327         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
26328         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
26330 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26332         PR target/100757
26333         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
26334         (arm_expand_vector_compare): Update prototype.
26335         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
26336         (arm_vector_mode_supported_p): Add support for VxBI modes.
26337         (arm_expand_vector_compare): Remove useless generation of vpsel.
26338         (arm_expand_vcond): Fix select operands.
26339         (arm_get_mask_mode): New.
26340         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
26341         (vec_cmpu<mode><MVE_vpred>): New.
26342         (vcond_mask_<mode><MVE_vpred>): New.
26343         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
26344         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
26345         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
26346         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
26347         and disable for MVE.
26348         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
26350 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26352         PR target/100757
26353         PR target/101325
26354         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
26355         (BINOP_PRED_NONE_NONE_QUALIFIERS)
26356         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
26357         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
26358         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
26359         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
26360         modes.
26361         (arm_mode_to_pred_mode): New.
26362         (arm_expand_vector_compare): Use the right VxBI mode instead of
26363         HI.
26364         (arm_expand_vcond): Likewise.
26365         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
26366         (mve_bool_vec_to_const): New.
26367         (neon_make_constant): Call mve_bool_vec_to_const when needed.
26368         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
26369         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
26370         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
26371         (vpselq_s, vpselq_f): Use new predicated qualifiers.
26372         * config/arm/constraints.md (DB): New.
26373         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
26374         (MVE_VPRED, MVE_vpred): New attribute iterators.
26375         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
26376         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
26377         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
26378         (@mve_vpselq_<supf>v2di): Define separately.
26379         (mov<mode>): New expander for VxBI modes.
26380         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
26381         MVE_7_HI iterator and add support for DB constraint.
26383 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26384             Richard Sandiford  <richard.sandiford@arm.com>
26386         PR target/100757
26387         PR target/101325
26388         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
26389         VNx2BI): Update definition.
26390         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
26391         simd types.
26392         (arm_init_builtin): Map predicate vectors arguments to HImode.
26393         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
26394         rtx. Move return value to HImode rtx.
26395         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
26396         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
26397         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
26398         Pred2x8_t,Pred4x4_t): New.
26399         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
26400         * genmodes.cc (mode_data): Add boolean field.
26401         (blank_mode): Initialize it.
26402         (make_complex_modes): Fix handling of boolean modes.
26403         (make_vector_modes): Likewise.
26404         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
26405         (make_vector_bool_mode): Likewise.
26406         (BOOL_MODE): New.
26407         (make_bool_mode): New.
26408         (emit_insn_modes_h): Fix generation of boolean modes.
26409         (emit_class_narrowest_mode): Likewise.
26410         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
26411         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
26412         define BImode.
26413         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
26414         Fix handling of constm1_rtx for VECTOR_BOOL.
26415         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
26416         (native_decode_vector_rtx): Likewise.
26417         (test_vector_ops_duplicate): Skip vec_merge test
26418         with vectors of booleans.
26419         * varasm.cc (output_constant_pool_2): Likewise.
26421 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26423         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
26424         for operand 1.
26426 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26428         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
26430 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
26432         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
26433         (REG_CLASS_NAMES): Likewise.
26434         (REG_CLASS_CONTENTS): Likewise.
26435         (CLASS_MAX_NREGS): Handle VPR.
26436         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
26438 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
26439             Tom de Vries  <tdevries@suse.de>
26441         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
26442         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
26443         Likewise.
26444         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
26446 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
26447             Tom de Vries  <tdevries@suse.de>
26449         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
26450         * doc/invoke.texi (-mptx): Update for new values and defaults.
26452 2022-02-22  Tom de Vries  <tdevries@suse.de>
26454         * config/nvptx/nvptx.cc (gen_comment): New function.
26455         (workaround_uninit_method_1, workaround_uninit_method_2)
26456         (workaround_uninit_method_3): : Use gen_comment.
26457         * config/nvptx/nvptx.opt (mptx-comment): New option.
26459 2022-02-22  Richard Biener  <rguenther@suse.de>
26461         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
26462         for a splat.
26464 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
26465             Richard Biener  <rguenther@suse.de>
26467         * fold-const.cc (ctor_single_nonzero_element): New function to
26468         return the single non-zero element of a (vector) constructor.
26469         * fold-const.h (ctor_single_nonzero_element): Prototype here.
26470         * match.pd (reduc (constructor@0)): Simplify reductions of a
26471         constructor containing a single non-zero element.
26472         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
26473         reductions of vector operations of the same operator with
26474         constant vector operands.
26476 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
26478         PR tree-optimization/104604
26479         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
26480         Only check if gimple_assign_rhs1 is COMPLEX_CST if
26481         gimple_assign_rhs_code is COMPLEX_CST.
26483 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
26485         PR target/104612
26486         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
26487         on input operands before calling lowpart_subreg on it.  For output
26488         operand, use a vmode pseudo as destination and then move its lowpart
26489         subreg into operands[0] if lowpart_subreg fails on dest.
26490         (ix86_expand_xorsign): Likewise.
26492 2022-02-22  Richard Biener  <rguenther@suse.de>
26494         PR tree-optimization/104582
26495         PR target/99881
26496         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
26497         Cost GPR to vector register moves for integer vector construction.
26499 2022-02-22  Richard Biener  <rguenther@suse.de>
26501         PR tree-optimization/104582
26502         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
26503         (vector_costs::add_stmt_cost): Add SLP node parameter.
26504         (dump_stmt_cost): Likewise.
26505         (add_stmt_cost): Likewise, new overload and adjust.
26506         (add_stmt_costs): Adjust.
26507         (record_stmt_cost): New overload.
26508         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
26509         (vector_costs::add_stmt_cost): Adjust.
26510         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
26511         Adjust.
26512         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
26513         the SLP node for costing.
26514         (vectorizable_slp_permutation): Likewise.
26515         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
26516         new overloads.
26517         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
26518         Adjust.
26519         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
26520         Adjust.
26521         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
26522         Adjust.
26523         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
26525 2022-02-22  Richard Biener  <rguenther@suse.de>
26527         PR tree-optimization/104582
26528         * tree-vectorizer.h (add_stmt_cost): New overload.
26529         (record_stmt_cost): Likewise.
26530         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
26531         Use add_stmt_costs.
26532         (vect_get_known_peeling_cost): Use new overloads.
26533         (vect_estimate_min_profitable_iters): Likewise.  Consistently
26534         use scalar_stmt for costing versioning checks.
26535         * tree-vect-stmts.cc (record_stmt_cost): New overload.
26537 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
26539         PR target/103069
26540         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
26541         Split atomic fetch and loop part.
26542         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
26543         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
26544         prototype.
26545         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
26546         expander under TARGET_RELAX_CMPXCHG_LOOP.
26547         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
26549 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
26551         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
26552         Change wb_candidate[12] to wb_push_candidate[12].
26553         (aarch64_layout_frame): Likewise, and
26554         change callee_adjust when scs is enabled.
26555         (aarch64_save_callee_saves):
26556         Change wb_candidate[12] to wb_push_candidate[12].
26557         (aarch64_restore_callee_saves):
26558         Change wb_candidate[12] to wb_pop_candidate[12].
26559         (aarch64_get_separate_components):
26560         Change wb_candidate[12] to wb_push_candidate[12].
26561         (aarch64_expand_prologue): Push x30 onto SCS before it's
26562         pushed onto stack.
26563         (aarch64_expand_epilogue): Pop x30 frome SCS, while
26564         preventing it from being popped from the regular stack again.
26565         (aarch64_override_options_internal): Add SCS compile option check.
26566         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
26567         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
26568         wb_pop_candidate[12], and rename wb_candidate[12] to
26569         wb_push_candidate[12].
26570         * config/aarch64/aarch64.md (scs_push): New template.
26571         (scs_pop): Likewise.
26572         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
26573         * doc/tm.texi: Regenerate.
26574         * doc/tm.texi.in: Add hook have_shadow_call_stack.
26575         * flag-types.h (enum sanitize_code):
26576         Add SANITIZE_SHADOW_CALL_STACK.
26577         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
26578         and exclude SANITIZE_SHADOW_CALL_STACK.
26579         * target.def: New hook.
26580         * toplev.cc (process_options): Add SCS compile option check.
26581         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
26583 2022-02-21  Tom de Vries  <tdevries@suse.de>
26585         PR target/104440
26586         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
26587         (workaround_uninit_method_2, workaround_uninit_method_3)
26588         (workaround_uninit): New function.
26589         (nvptx_reorg): Use workaround_uninit.
26590         * config/nvptx/nvptx.opt (minit-regs): New option.
26592 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
26594         PR rtl-optimization/104498
26595         * alias.cc (compare_base_symbol_refs): Correct distance computation
26596         when swapping x and y.
26598 2022-02-21  Andrew Pinski  <apinski@marvell.com>
26600         PR c/104506
26601         * tree-ssa.cc (tree_ssa_useless_type_conversion):
26602         Check the inner type before calling useless_type_conversion_p.
26604 2022-02-19  Tom de Vries  <tdevries@suse.de>
26606         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
26607         * config/nvptx/nvptx.md
26608         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
26609         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
26610         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
26611         (define_expand "atomic_store<mode>"): Handle rename.  Use
26612         nvptx_atomic_store instead of atomic_exchange.
26614 2022-02-19  Tom de Vries  <tdevries@suse.de>
26616         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
26617         insns with atomic attribute.  Assert that all handled insns are
26618         PARALLELs.
26619         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
26620         Set atomic attribute to false.
26622 2022-02-19  Tom de Vries  <tdevries@suse.de>
26624         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
26625         type to bool.
26626         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
26627         nvptx_warpsync, if necessary.
26629 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
26631         PR sanitizer/102656
26632         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
26633         known to be within bounds, treat it like automatic variables.
26634         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
26635         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
26636         it addressable.
26638 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
26640         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
26641         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
26642         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
26643         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
26644         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
26645         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
26646         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
26647         power10_sched_reorder): Likewise.
26648         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
26649         gen_addadd): Likewise
26650         * config/rs6000/fusion.md: Regenerate.
26652 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
26654         PR target/104257
26655         PR target/104598
26656         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
26657         rather than __posix_memalign.
26659 2022-02-18  Richard Biener  <rguenther@suse.de>
26661         PR target/104581
26662         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
26663         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
26664         of calling ix86_avx_u128_mode_source which would eventually
26665         have returned AVX_U128_ANY in some very special case.
26667 2022-02-18  Richard Biener  <rguenther@suse.de>
26669         PR tree-optimization/96881
26670         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
26671         CLOBBER handling.
26672         (control_parents_preserved_p): New function.
26673         (eliminate_unnecessary_stmts): Check that we preserved control
26674         parents before retaining a CLOBBER.
26675         (perform_tree_ssa_dce): Pass down aggressive flag
26676         to eliminate_unnecessary_stmts.
26678 2022-02-17  Jason Merrill  <jason@redhat.com>
26680         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
26681         on TYPE_MAIN_VARIANT.
26683 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
26685         PR target/104257
26686         * config/rs6000/bmi2intrin.h: Uglify local variables.
26687         * config/rs6000/emmintrin.h: Likewise.
26688         * config/rs6000/mm_malloc.h: Likewise.
26689         * config/rs6000/mmintrin.h: Likewise.
26690         * config/rs6000/pmmintrin.h: Likewise.
26691         * config/rs6000/smmintrin.h: Likewise.
26692         * config/rs6000/tmmintrin.h: Likewise.
26693         * config/rs6000/xmmintrin.h: Likewise.
26695 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
26697         PR target/104335
26698         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
26699         if the expected comparison's first operand is of mode MODE_CC.
26701 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
26703         PR rtl-optimization/104447
26704         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
26705         hard reg set by lra_no_alloc_regs.
26707 2022-02-17  liuhongt  <hongtao.liu@intel.com>
26709         PR tree-optimization/104551
26710         PR tree-optimization/103771
26711         * match.pd (cond_expr_convert_p): Add types_match check when
26712         convert is extension.
26713         * tree-vect-patterns.cc
26714         (gimple_cond_expr_convert_p): Adjust comments.
26715         (vect_recog_cond_expr_convert_pattern): Ditto.
26717 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
26719         PR debug/104557
26720         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
26721         if expr has VOIDmode.
26723 2022-02-17  liuhongt  <hongtao.liu@intel.com>
26725         * config/i386/cpuid.h (bit_MPX): Removed.
26726         (bit_BNDREGS): Ditto.
26727         (bit_BNDCSR): Ditto.
26729 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
26731         PR target/99708
26732         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
26733         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
26734         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
26735         is created.
26737 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
26739         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
26740         range_compatible_p instead of direct type comparison.
26742 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
26744         PR rtl-optimization/104544
26745         * combine.cc (try_combine): When looking for insn whose links
26746         should be updated from i3 to i2, don't stop on debug insns, instead
26747         skip over them.
26749 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
26751         PR target/100056
26752         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
26753         * config/aarch64/aarch64.md: Extend the PR100056 patterns
26754         to handle plus in the same way as ior, if the operands have
26755         no set bits in common.
26757 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
26759         PR tree-optimization/104526
26760         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
26761         new routine.
26762         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
26763         of dependency chain if there isn't one.
26764         (gori_compute::condexpr_adjust): New.
26765         * gimple-range-gori.h (class gori_compute): New prototype.
26767 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
26769         PR target/100874
26770         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
26771         Declare.
26772         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
26773         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
26775 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
26777         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
26778         (vect_scalar_ops_slice_hash): Likewise.
26779         (vect_scalar_ops_slice::op): New function.
26780         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
26781         (vect_scalar_ops_slice_hash::hash): Likewise.
26782         (vect_scalar_ops_slice_hash::equal): Likewise.
26783         (vect_prologue_cost_for_slp): Check for duplicate vectors.
26784         * config/aarch64/aarch64.cc
26785         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
26786         (aarch64_aligned_constant_offset_p): New function.
26787         (aarch64_stp_sequence_cost): Likewise.
26788         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
26789         (aarch64_vector_costs::finish_cost): Likewise.
26791 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
26793         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
26794         use after free.
26796 2022-02-15  Richard Biener  <rguenther@suse.de>
26798         PR tree-optimization/104543
26799         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
26800         come after the inner loop.
26802 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
26804         PR target/104536
26805         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
26806         cannot instead of can%'t in diagnostics.  Formatting fixes.
26808 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
26810         PR middle-end/104522
26811         * fold-const.h (native_interpret_real): Declare.
26812         * fold-const.cc (native_interpret_real): No longer static.  Don't
26813         perform MODE_COMPOSITE_P verification here.
26814         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
26815         for all modes.
26816         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
26817         instead of native_interpret_expr.
26818         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
26819         and comparison verification for all FLOAT_MODE_P modes, not just
26820         MODE_COMPOSITE_P.
26822 2022-02-15  Richard Biener  <rguenther@suse.de>
26824         PR tree-optimization/104519
26825         * fold-const.cc (multiple_of_p): Remove never true condition.
26826         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
26827         the appropriate types for determining whether the difference
26828         of final and base is a multiple of the step.
26830 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
26832         PR debug/104517
26833         * omp-low.cc (task_cpyfns): New variable.
26834         (delete_omp_context): Don't call finalize_task_copyfn from here.
26835         (create_task_copyfn): Push task_stmt into task_cpyfns.
26836         (execute_lower_omp): Call finalize_task_copyfn here on entries from
26837         task_cpyfns vector and release the vector.
26839 2022-02-14  Martin Sebor  <msebor@redhat.com>
26841         PR middle-end/104355
26842         * doc/invoke.texi (-Warray-bounds): Update documentation.
26844 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
26846         PR target/104253
26847         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
26848         conversion functions used to convert IFmode types.
26850 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
26852         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
26854 2022-02-14  Richard Biener  <rguenther@suse.de>
26856         PR tree-optimization/104528
26857         * tree-ssa.h (find_released_ssa_name): Declare.
26858         * tree-ssa.cc (find_released_ssa_name): Export.
26859         * cfgloop.cc (verify_loop_structure): Look for released
26860         SSA names in loops nb_iterations.
26861         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
26862         estimates.
26864 2022-02-14  Richard Biener  <rguenther@suse.de>
26866         PR tree-optimization/104511
26867         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
26868         touching DFP <-> FP conversions.
26870 2022-02-14  Richard Biener  <rguenther@suse.de>
26872         PR middle-end/104497
26873         * gimplify.cc (gimplify_compound_lval): Make sure the
26874         base is a non-register if needed and possible.
26876 2022-02-13  liuhongt  <hongtao.liu@intel.com>
26878         PR target/103771
26879         * match.pd (cond_expr_convert_p): New match.
26880         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
26881         (vect_recog_cond_expr_convert_pattern): New.
26883 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
26885         PR sanitizer/104449
26886         * asan.cc: Include tree-eh.h.
26887         (handle_builtin_alloca): Handle the case when __builtin_alloca or
26888         __builtin_alloca_with_align can throw.
26890 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
26892         PR target/104502
26893         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
26894         and AVX512VL isn't available, move operands[1] to operands[0] first.
26896 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
26898         PR target/79754
26899         * config/i386/i386.cc (type_natural_mode):
26900         Skip decimal float vector modes.
26902 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
26903             Vladimir Makarov  <vmakarov@redhat.com>
26905         PR target/104117
26906         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
26907         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
26908         emitting PIC code.
26909         (legitimate_lo_sum_address_p): Likewise.
26910         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
26911         load from an invalid lo_sum address.
26913 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26915         PR tree-optimization/104499
26916         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
26917         of convert.
26919 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26921         * tree.cc (build_common_builtin_nodes): Fix up formatting in
26922         __builtin_clear_padding decl creation.
26923         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
26924         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
26925         argument rather than in 3rd argument.
26926         (gimplify_call_expr): Likewise.  Fix up comment formatting.
26927         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
26928         2 arguments instead of 3, take for_auto_init from the value
26929         of 2nd argument.
26931 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
26933         PR rtl-optimization/104400
26934         * lra-constraints.cc (process_alt_operands): Don't make union of
26935         this_alternative_exclude_start_hard_regs when reg class in insn
26936         alternative covers other reg classes in the same alternative.
26938 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26940         PR middle-end/104446
26941         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
26942         operands.
26944 2022-02-11  Richard Biener  <rguenther@suse.de>
26946         PR middle-end/104496
26947         * internal-fn.cc (vectorized_internal_fn_supported_p):
26948         Bail out for integer mode vector types.
26950 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
26952         PR rtl-optimization/104459
26953         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
26954         moving DEBUG_INSNs between bbs.
26956 2022-02-11  liuhongt  <hongtao.liu@intel.com>
26958         PR tree-optimization/104479
26959         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
26960         for the dest of uncond_op.
26962 2022-02-11  Tom de Vries  <tdevries@suse.de>
26964         PR target/104456
26965         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
26966         insn.
26968 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
26970         PR middle-end/100775
26971         * function.cc (gen_call_used_regs_seq): Call
26972         df_update_exit_block_uses when updating df.
26974 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
26976         PR target/104469
26977         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
26978         Change operand 1 constraint to register_operand.
26980 2022-02-10  Richard Biener  <rguenther@suse.de>
26982         PR tree-optimization/104373
26983         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
26984         walk kind.
26985         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
26986         walk kind as argument.
26987         (run_rpo_vn): Adjust.
26988         (pass_fre::execute): Likewise.
26989         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
26990         blocks not reachable.
26991         (execute_late_warn_uninitialized): Mark all edges as
26992         executable.
26993         (execute_early_warn_uninitialized): Use VN to compute
26994         executable edges.
26995         (pass_data_early_warn_uninitialized): Enable a dump file,
26996         change dump name to warn_uninit.
26998 2022-02-10  Richard Biener  <rguenther@suse.de>
27000         PR middle-end/104467
27001         * match.pd (vector extract simplification): Multiply the
27002         number of CTOR elements with the number of element elements.
27004 2022-02-10  Richard Biener  <rguenther@suse.de>
27006         PR tree-optimization/104466
27007         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
27008         for the MR_DEPENDENCE checks as intended.
27010 2022-02-10  Tom de Vries  <tdevries@suse.de>
27012         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
27013         define_insn.
27014         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
27015         TARGET_SM70.
27016         (define_c_enum "unspecv"): Add UNSPECV_ST.
27018 2022-02-10  Tom de Vries  <tdevries@suse.de>
27020         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
27021         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
27022         (nvptx_mem_maybe_shared_p): New function.
27023         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
27024         define_expand.
27026 2022-02-10  Tom de Vries  <tdevries@suse.de>
27028         PR target/97005
27029         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
27030         driver JIT bug by using sub.s16 instead of sub.u16.
27032 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
27034         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
27035         floating point constants as operands 1 and/or 2.
27037 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
27039         PR target/104345
27040         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
27041         (sel_false<mode>): Likewise.
27042         (define_code_iterator eqne): New code iterator for EQ and NE.
27043         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
27044         the negation of a selp instruction.
27045         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
27046         the bitwise not of a selp instruction.
27047         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
27049 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
27051         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
27052         in machine description.
27053         (logic): Move code attribute earlier in machine description.
27054         (ilogic): New code attribute, like logic but "ior" for IOR.
27055         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
27056         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
27057         (<ilogic>bi3): New define_insn for BI mode logic operations.
27058         (define_split): Lower logic operations from integer modes to
27059         BI mode predicate operations.
27061 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
27063         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
27064         (one_cmplbi2): New define_insn for not.pred.
27065         (mulditi3): New define_expand for signed widening multiply.
27066         (umulditi3): New define_expand for unsigned widening multiply.
27067         (smul<mode>3_highpart): New define_insn for signed highpart mult.
27068         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
27069         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
27070         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
27071         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
27072         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
27073         (*setcc<mode>_from_not_bi): New define_insn.
27074         (*setcc_isinf<mode>): New define_insn for testp.infinite.
27075         (isinf<mode>2): New define_expand.
27077 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
27079         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
27080         (setcc<mode>_from_bi): Additionally support QImode.
27081         (extendbi<mode>2): Additionally support QImode.
27082         (zero_extendbi<mode>2): Additionally support QImode.
27083         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
27084         iterators for signed and unsigned, binary and unary operations.
27085         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
27086         expanders to perform QImode operations using SImode instructions.
27087         (cstoreqi4): New define_expand.
27088         (*ext_truncsi2_qi): New define_insn.
27089         (*zext_truncsi2_qi): New define_insn.
27091 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
27093         * config/nvptx/nvptx.md (*cmpf): New define_insn.
27094         (cstorehf4): New define_expand.
27095         (fmahf4): New define_insn.
27096         (neghf2): New define_insn.
27097         (abshf2): New define_insn.
27099 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
27101         * doc/install.texi (Specific): Change the www.bitwizard.nl
27102         reference to use https.
27104 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
27106         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
27107         OMP_CLAUSE_HAS_DEVICE_ADDR
27108         and handle array sections.
27109         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
27110         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
27111         (lower_omp_target): Same.
27112         * tree-core.h (enum omp_clause_code): Same.
27113         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
27114         (convert_local_omp_clauses): Same.
27115         * tree-pretty-print.cc (dump_omp_clause): Same.
27116         * tree.cc: Same.
27118 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
27120         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
27121         that will result in direct recursive calls.
27123 2022-02-10  Andrew Pinski  <apinski@marvell.com>
27125         PR target/104474
27126         * config/aarch64/aarch64.cc
27127         (aarch64_sve_expand_vector_init_handle_trailing_constants):
27128         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
27130 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
27132         PR target/104462
27133         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
27134         Also include OPTION_MASK_ISA2_AVX2_UNSET.
27136 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
27138         PR target/104458
27139         * config/i386/i386-expand.cc (ix86_split_idivmod):
27140         Force operands[2] and operands[3] into a register..
27142 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
27144         PR target/97040
27145         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
27146         (*v850_fnmssf4): Renamed from fnmssf4
27148 2022-02-09  Ian Lance Taylor  <iant@golang.org>
27150         * godump.cc (go_force_record_alignment): Really name the alignment
27151         field "_" (complete 2021-12-29 change).
27153 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
27155         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
27156         function prototype.
27157         (VREPLACE_UN_UV4SI): Likewise.
27158         (VREPLACE_UN_V2DF): Likewise.
27159         (VREPLACE_UN_V2DI): Likewise.
27160         (VREPLACE_UN_V4SF): Likewise.
27161         (VREPLACE_UN_V4SI): Likewise.
27162         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
27163         function prototypes.
27164         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
27165         (vreplace_un_<mode>): New define_insn.
27167 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27169         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
27170         (VDBL): Handle SF.
27171         (single_wx, single_type, single_dtype, dblq): New mode attributes.
27172         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
27173         from VDC to VDCSIF.
27174         (store_pair_lanes<mode>): Likewise.
27175         (*aarch64_combine_internal<mode>): Likewise.
27176         (*aarch64_combine_internal_be<mode>): Likewise.
27177         (*aarch64_combinez<mode>): Likewise.
27178         (*aarch64_combinez_be<mode>): Likewise.
27179         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
27180         8-byte modes for ADDR_QUERY_LDP_STP_N.
27181         (aarch64_print_operand): Likewise for %y.
27183 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27185         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
27186         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
27187         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
27188         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
27189         (vec_pack_trunc_<mode>): Take general_operand elements and use
27190         aarch64_combine rather than move_lo/hi_quad to combine them.
27191         (vec_pack_trunc_df): Likewise.
27193 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27195         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
27196         Delete.
27197         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
27198         to...
27199         (*aarch64_combinez<mode>): ...this.
27200         (@aarch64_combinez_be<mode>): Rename to...
27201         (*aarch64_combinez_be<mode>): ...this.
27202         (@aarch64_vec_concat<mode>): New expander.
27203         (aarch64_combine<mode>): Use it.
27204         (@aarch64_simd_combine<mode>): Delete.
27205         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
27206         (aarch64_expand_vector_init): Use aarch64_vec_concat.
27208 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27210         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
27211         New predicate.
27212         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
27213         (*aarch64_combine_internal_be<mode>): New patterns.
27215 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27217         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
27218         (move_lo_quad_internal_be_<mode>): Delete.
27219         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
27221 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27223         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
27224         Declare.
27225         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
27226         aarch64_mergeable_load_pair_p instead of inline check.
27227         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
27228         (aarch64_check_consecutive_mems): Allow the reversed parameter
27229         to be null.
27230         (aarch64_mergeable_load_pair_p): New function.
27232 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27234         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
27235         element to be an aarch64_simd_nonimmediate_operand.
27237 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
27239         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
27240         aarch64_simd_nonimmediate_operand instead of
27241         aarch64_simd_general_operand.
27242         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
27243         general_operand.
27244         (@aarch64_combinez_be<mode>): Likewise.
27246 2022-02-09  Richard Biener  <rguenther@suse.de>
27248         PR middle-end/104464
27249         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
27250         throwing check to after unproblematic replacement.
27252 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
27254         PR tree-optimization/104420
27255         * match.pd (mult @0 real_zerop): Tweak conditions for constant
27256         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
27258 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
27260         PR debug/104407
27261         * dwarf2out.cc (mangle_referenced_decls): New function.
27262         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
27263         early_dwarf.  Instead walk the initializer and try to mangle vars or
27264         functions referenced from it.
27266 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
27268         PR tree-optimization/104288
27269         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
27270         (non_null_ref::adjust_range): Move to header.
27271         (ranger_cache::range_of_def): Don't check non-null.
27272         (ranger_cache::entry_range): Don't check non-null.
27273         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
27274         (ranger_cache::update_to_nonnull): New.
27275         (non_null_loadstore): New.
27276         (ranger_cache::block_apply_nonnull): New.
27277         * gimple-range-cache.h (class non_null_ref): Update prototypes.
27278         (non_null_ref::adjust_range): Move to here and inline.
27279         (class ranger_cache): Update prototypes.
27280         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
27281         not search dominators.
27282         (path_range_query::adjust_for_non_null_uses): Ditto.
27283         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
27284         def overrides.  Do not check nonnull.
27285         (gimple_ranger::range_on_entry): Check dominators for nonnull.
27286         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
27287         (gimple_ranger::register_side_effects): New.
27288         * gimple-range.h (gimple_ranger::register_side_effects): New.
27289         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
27291 2022-02-09  Richard Biener  <rguenther@suse.de>
27293         PR tree-optimization/104445
27294         PR tree-optimization/102832
27295         * optabs-query.h (can_vec_extract): New.
27296         * optabs-query.cc (can_vec_extract): Likewise.
27297         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
27298         we can extract a hi/lo part from the larger vector, rework
27299         check iteration from larger to smaller sizes.
27301 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
27303         PR target/35513
27304         PR target/100593
27305         * config/i386/gnu-property.cc: Include "i386-protos.h".
27306         (file_end_indicate_exec_stack_and_gnu_property): Generate
27307         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
27308         nodirect_extern_access attribute.
27309         * config/i386/i386-options.cc
27310         (handle_nodirect_extern_access_attribute): New function.
27311         (ix86_attribute_table): Add nodirect_extern_access attribute.
27312         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
27313         bool argument.
27314         (ix86_has_no_direct_extern_access): New.
27315         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
27316         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
27317         call operand.  Force non-call load from GOT for
27318         -mno-direct-extern-access or nodirect_extern_access attribute.
27319         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
27320         for -mno-direct-extern-access or nodirect_extern_access attribute.
27321         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
27322         for call operand.
27323         (asm_preferred_eh_data_format): Use PC-relative format for
27324         -mno-direct-extern-access to avoid copy relocation.  Check
27325         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
27326         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
27327         true for -mno-direct-extern-access or nodirect_extern_access
27328         attribute.  Don't treat protected data as extern and avoid copy
27329         relocation on common symbol with -mno-direct-extern-access or
27330         nodirect_extern_access attribute.
27331         (ix86_reloc_rw_mask): New to avoid copy relocation for
27332         -mno-direct-extern-access.
27333         (TARGET_ASM_RELOC_RW_MASK): New.
27334         * config/i386/i386.opt: Add -mdirect-extern-access.
27335         * doc/extend.texi: Document nodirect_extern_access attribute.
27336         * doc/invoke.texi: Document -m[no-]direct-extern-access.
27338 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
27340         PR target/104441
27341         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
27342         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
27343         Call ix86_avx_u128_mode_source to check mode for each component
27344         of source operand.
27346 2022-02-09  liuhongt  <hongtao.liu@intel.com>
27348         PR target/104451
27349         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
27350         operands[2] from SImode to QImode.
27352 2022-02-09  Richard Biener  <rguenther@suse.de>
27354         PR middle-end/104450
27355         * gimple-isel.cc: Pass cfun around.
27356         (+gimple_expand_vec_cond_expr): Do not combine a throwing
27357         comparison with the select.
27359 2022-02-09  Richard Biener  <rguenther@suse.de>
27361         PR target/104453
27362         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
27363         folding for NULL LHS.
27365 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
27367         PR rtl-optimization/104198
27368         PR rtl-optimization/104153
27369         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
27370         using it directly.  Rework comparison handling and always
27371         perform a second pass.
27373 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
27375         PR target/102140
27376         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
27377         split1 pass has finished already.
27379 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
27381         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
27382         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
27383         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
27384         (vmsumcud): New define_insn.
27386 2022-02-08  Tom de Vries  <tdevries@suse.de>
27388         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
27389         * config/nvptx/nvptx.h (TARGET_SM70): Define.
27391 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
27393         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
27394         on condition.
27395         * config/s390/s390.md: Use paradoxical subreg.
27397 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
27399         * combine.cc (reg_subword_p): Check for paradoxical subreg.
27401 2022-02-08  Tom de Vries  <tdevries@suse.de>
27403         PR target/104283
27404         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
27405         and PTX_VERSION_4_2.
27406         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
27407         (default_ptx_version_option, ptx_version_to_string)
27408         (sm_version_to_string, handle_ptx_version_option): New function.
27409         (nvptx_option_override): Call handle_ptx_version_option.
27410         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
27411         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
27412         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
27413         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
27415 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
27417         * doc/install.texi (Configuration): Document `--with-isa-spec='
27418         RISC-V option.
27419         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
27420         option.
27421         (RISC-V Options): Document it.
27423 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
27425         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
27427 2022-02-08  Tom de Vries  <tdevries@suse.de>
27429         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
27431 2022-02-08  Tom de Vries  <tdevries@suse.de>
27433         PR target/104364
27434         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
27435         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
27436         change is validated.
27437         (nvptx_mem_local_p): New function.
27438         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
27439         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
27440         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
27441         non-atomic, non-predicable define_insn, factored out of ...
27442         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
27443         Make predicable again.
27444         (define_expand "atomic_compare_and_swap<mode>"): Use
27445         atomic_compare_and_swap<mode>_1_local.
27447 2022-02-08  liuhongt  <hongtao.liu@intel.com>
27449         PR rtl-optimization/104059
27450         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
27451         for a more expensive reg-reg move.
27453 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
27455         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
27456         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
27457         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
27458         (usdot_laneq, sudot_laneq): New.
27459         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
27460         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
27462 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
27464         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
27465         vdot_laneq_s32, vdotq_laneq_s32): New.
27466         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
27467         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
27468         (<sup>dot_prod<vsi2qi>): Re-order rtl.
27469         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
27470         (neon_<sup>dot_laneq<vsi2qi>): New.
27472 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
27474         PR target/104327
27475         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
27476         if always_inline is set. Don't inline when tune differs without
27477         always_inline.
27479 2022-02-07  Richard Biener  <rguenther@suse.de>
27481         PR middle-end/104402
27482         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
27483         compares are not valid.
27484         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
27485         check is_gimple_condexpr.
27487 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
27489         PR target/103627
27490         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
27491         hunk affecting VSX and ALTIVEC to appropriate place.
27493 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
27495         PR target/103627
27496         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
27497         MMA if !TARGET_VSX.
27499 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
27501         PR c++/89074
27502         PR c++/104033
27503         * fold-const.h (folding_initializer): Adjust comment.
27504         (folding_cxx_constexpr): Declare.
27505         * fold-const.cc (folding_initializer): Adjust comment.
27506         (folding_cxx_constexpr): New variable.
27507         (address_compare): Restrict the decl vs. STRING_CST
27508         or vice versa or STRING_CST vs. STRING_CST or
27509         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
27510         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
27511         assume non-aliased functions have non-zero size and have different
27512         addresses.  For folding_cxx_constexpr, punt on comparisons of start
27513         of some object and end of another one, regardless whether it is a decl
27514         or string literal.  Also punt for folding_cxx_constexpr on
27515         STRING_CST vs. STRING_CST comparisons if the two literals could be
27516         overlapping.
27518 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
27520         PR tree-optimization/104389
27521         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
27522         honored.
27524 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
27526         * configure.ac: Fix detection for zifencei support.
27527         * configure: Regenerate.
27529 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
27531         PR target/104219
27532         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
27533         (all_defaults): Add isa_spec.
27534         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
27536 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
27538         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
27539         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
27540         unnecessary test for argument count mismatch.
27541         (resolve_vec_cmpne): Likewise.
27542         (resolve_vec_adde_sube): Likewise.
27543         (resolve_vec_addec_subec): Likewise.
27544         (altivec_resolve_overloaded_builtin): Move overload special handling
27545         after the gathering of arguments into args[] and types[] and the test
27546         for correct number of arguments.  Don't perform the test for correct
27547         number of arguments for certain special cases.  Call the other special
27548         cases with args and types instead of arglist and nargs.
27550 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
27552         PR target/100808
27553         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
27554         3.1): Provide consistent type names.  Remove unnecessary semicolons.
27555         Fix bad line breaks.
27557 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
27559         PR target/104380
27560         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
27561         adjust mangling of __builtin*printf_chk.
27563 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
27565         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
27567 2022-02-04  Richard Biener  <rguenther@suse.de>
27568             Bin Cheng   <bin.cheng@linux.alibaba.com>
27570         PR tree-optimization/100499
27571         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
27572         to true.
27573         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
27574         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
27575         switching to false for conversions.
27576         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
27577         claim the outermost expression does not wrap when calling
27578         multiple_of_p.  Refactor the check done to check the
27579         original IV, avoiding a bias that might wrap.
27581 2022-02-04  Richard Biener  <rguenther@suse.de>
27583         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
27584         handling.
27586 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
27588         PR debug/104366
27589         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
27590         (dwarf2out_early_finish): Likewise.
27592 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
27594         PR tree-optimization/104356
27595         * match.pd (X / bool_range_Y is X): Add guard.
27596         (X / X is one): Likewise.
27597         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
27598         (X / -X is -1): Likewise.
27599         (1 / X -> X == 1): Likewise.
27601 2022-02-04  Richard Biener  <rguenther@suse.de>
27603         PR tree-optimization/103641
27604         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
27605         Pass the vector mode to choose_mult_variant.
27607 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
27609         PR rtl-optimization/101885
27610         * combine.cc (try_combine): When splitting a parallel into two
27611         sequential sets, check not only that the first doesn't clobber
27612         the second but also that the second doesn't clobber the first.
27614 2022-02-04  Richard Biener  <rguenther@suse.de>
27616         PR middle-end/90348
27617         PR middle-end/104092
27618         * tree-core.h (clobber_kind): New enum.
27619         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
27620         * tree.h (CLOBBER_KIND): Add.
27621         (build_clobber): Add clobber kind argument, defaulted to
27622         CLOBBER_UNDEF.
27623         * tree.cc (build_clobber): Likewise.
27624         * gimple.h (gimple_clobber_p): New overload with specified kind.
27625         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
27626         CLOBBER_KIND.
27627         * tree-streamer-out.cc (streamer_write_tree_bitfields):
27628         Likewise.
27629         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
27630         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
27631         with CLOBBER_EOL.
27632         (gimplify_target_expr): Likewise.
27633         * tree-inline.cc (expand_call_inline): Likewise.
27634         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
27635         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
27636         CLOBBER_EOL clobbers as ending lifetime of storage.
27638 2022-02-04  Martin Sebor  <msebor@redhat.com>
27640         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
27641         cleanup.
27643 2022-02-03  Martin Sebor  <msebor@redhat.com>
27645         PR middle-end/104260
27646         * passes.def (pass_warn_access): Adjust pass placement.
27648 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
27650         PR target/104362
27651         * config/i386/i386.cc (find_drap_reg): For 32bit targets
27652         return DI_REG if function uses __builtin_eh_return.
27654 2022-02-03  Martin Sebor  <msebor@redhat.com>
27656         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
27657         (pass_wrestrict::m_ptr_qry): New member.
27658         (wrestrict_walk): Rename...
27659         (pass_wrestrict::check_block): ...to this.
27660         (pass_wrestrict::execute): Set up and tear down pointer_query and
27661         ranger.
27662         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
27663         (builtin_access::builtin_access): Same.
27664         (builtin_access::m_ptr_qry): New member.
27665         (check_call): Rename...
27666         (pass_wrestrict::check_call): ...to this.
27667         (check_bounds_or_overlap): Change argument.
27668         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
27670 2022-02-03  Martin Sebor  <msebor@redhat.com>
27672         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
27673         Define ctor.
27674         (array_bounds_checker::get_value_range): Use new member.
27675         (array_bounds_checker::check_mem_ref): Same.
27676         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
27677         Outline ctor.
27678         (array_bounds_checker::m_ptr_query): New member.
27680 2022-02-03  Martin Sebor  <msebor@redhat.com>
27682         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
27683         pointer_query cache.
27684         * pointer-query.cc (pointer_query::pointer_query): Remove cache
27685         argument.  Zero-initialize new cache member.
27686         (pointer_query::get_ref): Replace cache pointer with direct access.
27687         (pointer_query::put_ref): Same.
27688         (pointer_query::flush_cache): Same.
27689         (pointer_query::dump): Same.
27690         * pointer-query.h (class pointer_query): Remove cache argument from
27691         ctor.  Change cache pointer to cache subobject member.
27692         * tree-ssa-strlen.cc: Remove pointer_query cache.
27694 2022-02-03  Martin Sebor  <msebor@redhat.com>
27696         PR tree-optimization/104119
27697         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
27698         (format_none): Same.
27699         (format_percent): Same.
27700         (format_integer): Same.
27701         (format_floating): Same.
27702         (get_string_length): Same.
27703         (format_character): Same.
27704         (format_string): Same.
27705         (format_plain): Same.
27706         (format_directive): Same.
27707         (compute_format_length): Same.
27708         (handle_printf_call): Same.
27709         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
27710         get_maxbound.
27711         (get_range_strlen_phi): Same.
27712         (get_maxbound): New function.
27713         (strlen_pass::get_len_or_size): Adjust to parameter change.
27714         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
27716 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
27718         PR target/103686
27719         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
27720         test for !rs6000_fold_gimple.
27721         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
27722         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
27724 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
27726         PR target/95082
27727         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
27728         endianness for vclzlsbb and vctzlsbb.
27729         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
27730         default pattern and indicate a different pattern will be used for
27731         big endian.
27732         (VCLZLSBB_V4SI): Likewise.
27733         (VCLZLSBB_V8HI): Likewise.
27734         (VCTZLSBB_V16QI): Likewise.
27735         (VCTZLSBB_V4SI): Likewise.
27736         (VCTZLSBB_V8HI): Likewise.
27738 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
27740         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
27741         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
27742         from other files.
27743         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
27744         rs6000-builtin.cc.
27745         (cpu_supports_info): Likewise.
27746         (rs6000_type_string): Likewise.
27747         (altivec_expand_predicate_builtin): Likewise.
27748         (rs6000_htm_spr_icode): Likewise.
27749         (altivec_expand_vec_init_builtin): Likewise.
27750         (get_element_number): Likewise.
27751         (altivec_expand_vec_set_builtin): Likewise.
27752         (altivec_expand_vec_ext_builtin): Likewise.
27753         (rs6000_invalid_builtin): Likewise.
27754         (rs6000_fold_builtin): Likewise.
27755         (fold_build_vec_cmp): Likewise.
27756         (fold_compare_helper): Likewise.
27757         (map_to_integral_tree_type): Likewise.
27758         (fold_mergehl_helper): Likewise.
27759         (fold_mergeeo_helper): Likewise.
27760         (rs6000_builtin_valid_without_lhs): Likewise.
27761         (rs6000_builtin_is_supported): Likewise.
27762         (rs6000_gimple_fold_mma_builtin): Likewise.
27763         (rs6000_gimple_fold_builtin): Likewise.
27764         (rs6000_expand_ldst_mask): Likewise.
27765         (cpu_expand_builtin): Likewise.
27766         (elemrev_icode): Likewise.
27767         (ldv_expand_builtin): Likewise.
27768         (lxvrse_expand_builtin): Likewise.
27769         (lxvrze_expand_builtin): Likewise.
27770         (stv_expand_builtin): Likewise.
27771         (mma_expand_builtin): Likewise.
27772         (htm_spr_num): Likewise.
27773         (htm_expand_builtin): Likewise.
27774         (rs6000_expand_builtin): Likewise.
27775         (rs6000_vector_type): Likewise.
27776         (rs6000_init_builtins): Likewise.  Remove initialization of
27777         builtin_mode_to_type entries.
27778         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
27779         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
27780         external declaration.
27781         (rs6000_builtin_md_vectorized_function): Likewise.
27782         (rs6000_builtin_reciprocal): Likewise.
27783         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
27784         (rs6000_builtin_types): Likewise.
27785         (builtin_mode_to_type): Remove.
27786         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
27787         static qualifier.
27788         (rs6000_builtin_md_vectorized_function): Likewise.
27789         (rs6000_builtin_reciprocal): Likewise.
27790         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
27791         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
27793 2022-02-03  Richard Biener  <rguenther@suse.de>
27795         PR debug/104337
27796         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
27797         together via DECL_ABSTRACT_ORIGIN.
27799 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
27801         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
27802         message for RES_BITS case.
27804 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
27806         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
27808 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
27810         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
27811         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
27813 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
27815         * cfganal.cc (verify_marked_backedges): New.
27816         * cfganal.h (verify_marked_backedges): New.
27817         * gimple-range-path.cc (path_range_query::path_range_query):
27818         Verify freshness of back edges.
27819         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
27820         mark_dfs_back_edges.
27821         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
27822         path_range_query construction after backedges have been
27823         updated.
27825 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
27827         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
27828         VALL to VALL_F16.
27830 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
27832         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
27833         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
27834         of VALL_F16MOV.
27836 2022-02-03  Martin Liska  <mliska@suse.cz>
27838         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
27839         Change subject and object in the error message.
27840         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
27841         Likewise.
27843 2022-02-03  Martin Liska  <mliska@suse.cz>
27845         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
27846         Use the error message for i386 target.
27848 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
27850         PR tree-optimization/104334
27851         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
27852         and rh_range type to widest_int and subtract in widest_int.  Remove
27853         ov_rh, ov_lh and sign vars, always perform comparisons as signed
27854         and use >, < and == operators for it.
27856 2022-02-03  Martin Sebor  <msebor@redhat.com>
27858         * common.opt (-Wuse-after-free): Correct typos.
27860 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
27862         PR analyzer/104270
27863         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
27864         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
27865         -ftrivial-auto-var-init= doesn't suppress warnings.
27867 2022-02-02  Martin Liska  <mliska@suse.cz>
27869         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
27871 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
27873         PR target/94372
27874         * config/or1k/linux.h (CPP_SPEC): Define.
27876 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
27878         PR tree-optimization/102819
27879         PR tree-optimization/103169
27880         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
27881         canonical order.
27883 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
27885         PR tree-optimization/102819
27886         PR tree-optimization/103169
27887         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
27888         canonical order.
27889         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
27891 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
27893         PR tree-optimization/102819
27894         PR tree-optimization/103169
27895         * doc/md.texi: Update docs for cfms, cfma.
27896         * tree-data-ref.h (same_data_refs): Accept optional offset.
27897         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
27898         patterns.
27899         (vect_normalize_conj_loc): Remove.
27900         (is_eq_or_top): Change to take two nodes.
27901         (enum _conj_status, compatible_complex_nodes_p,
27902         vect_validate_multiplication): New.
27903         (class complex_add_pattern, complex_add_pattern::matches,
27904         complex_add_pattern::recognize, class complex_mul_pattern,
27905         complex_mul_pattern::recognize, class complex_fms_pattern,
27906         complex_fms_pattern::recognize, class complex_operations_pattern,
27907         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
27908         new cache.
27909         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
27910         cache and use new validation code.
27911         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
27912         vect_analyze_slp): Pass along cache.
27913         (compatible_calls_p): Expose.
27914         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
27915         slp_compat_nodes_map_t): New.
27916         (class vect_pattern): Update signatures include new cache.
27918 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27920         * config/cris/cris.cc (cris_preferred_reload_class): Reject
27921         "eliminated" registers and small-enough constants unless
27922         reloaded into a class that is a subset of GENERAL_REGS.
27923         * config/cris/cris.md (attribute "cpu_variant"): New.
27924         (attribute "enabled"): Conditionalize on a matching attribute
27925         cpu_variant, if specified.
27926         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
27927         memory, add cpu-variant-enabled variants for "r" alternatives on
27928         the far side of the "x" alternatives, preferring the "x" ones
27929         only for variants where MOF is present (in addition to SRP).
27931 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27933         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
27934         extra cost for ALL_REGS.
27936 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27938         * config/cris/constraints.md (define_register_constraint "b"): Now
27939         GENERAL_REGS.
27940         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
27941         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
27942         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
27943         and SPEC_GENNONACR_REGS.
27944         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
27945         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
27947 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27949         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
27950         Conditionalize on (sub-)register operands or operand 1 being 0.
27952 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
27954         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
27955         (MUL_BUG_ASM_DEFAULT): New macro.
27956         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
27957         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
27958         accordingly.
27960 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
27962         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
27963         to 10 for AutoFDO.
27965 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
27967         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
27969 2022-02-01  Andrew Pinski  <apinski@marvell.com>
27971         * doc/install.texi:
27973 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
27975         * config/s390/s390.cc (s390_code_end): Do not switch back to
27976         code section.
27978 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
27980         PR target/104323
27981         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
27982         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
27983         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
27984         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
27985         GTY((skip(""))) to members with pointer and enum types that don't need
27986         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
27987         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
27988         (write_extern_fntype, write_fntype): Remove.
27989         (write_fntype_init): Emit the fntype vars as automatic vars instead
27990         of file scope ones.
27991         (write_header_file): Don't iterate with write_extern_fntype.
27992         (write_init_file): Don't iterate with write_fntype.  Don't emit
27993         gt_ggc_mx and gt_pch_nx definitions.
27995 2022-02-01  Jason Merrill  <jason@redhat.com>
27997         * tree.h (struct tree_vec_map_cache_hasher): Move from...
27998         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
28000 2022-02-01  Tom de Vries  <tdevries@suse.de>
28002         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
28003         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
28004         UNSPECV_UNIFORM_WARP_CHECK.
28005         (define_insn "nvptx_uniform_warp_check"): New define_insn.
28007 2022-02-01  Tom de Vries  <tdevries@suse.de>
28009         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
28010         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
28011         UNSPECV_WARPSYNC.
28012         (define_insn "nvptx_warpsync"): New define_insn.
28014 2022-02-01  Tom de Vries  <tdevries@suse.de>
28016         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
28018 2022-02-01  Tom de Vries  <tdevries@suse.de>
28020         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
28021         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
28022         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
28023         insn for TARGET_PTX_6_0.
28025 2022-02-01  Tom de Vries  <tdevries@suse.de>
28027         PR target/100428
28028         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
28029         insn.
28031 2022-02-01  Tom de Vries  <tdevries@suse.de>
28033         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
28034         (define_insn "atomic_exchange<mode>")
28035         (define_insn "atomic_fetch_add<mode>")
28036         (define_insn "atomic_fetch_addsf")
28037         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
28038         if memory operands is frame-relative.
28040 2022-02-01  Tom de Vries  <tdevries@suse.de>
28042         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
28043         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
28044         (VOID): New macro.
28045         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
28046         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
28047         NVPTX_BUILTIN_MEMBAR_CTA.
28048         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
28049         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
28050         nvptx_lockfull_update.
28051         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
28052         UNSPECV_MEMBAR_GL.
28053         (define_expand "nvptx_membar_gl"): New expand.
28054         (define_insn "*nvptx_membar_gl"): New insn.
28056 2022-02-01  Martin Liska  <mliska@suse.cz>
28058         * doc/install.texi: Remove option for GCC < 4.8.
28060 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
28062         PR middle-end/104307
28063         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
28064         stmts to uses vector, just set vec_cond_expr_only to false for
28065         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
28066         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
28067         like non-VEC_COND_EXPRs.
28069 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
28071         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
28072         (VEC_BLENDV): Likewise.
28073         (VEC_BPERM): Likewise.
28074         (VEC_CFUGE): Likewise.
28075         (VEC_CIPHER_BE): Likewise.
28076         (VEC_CIPHERLAST_BE): Likewise.
28077         (VEC_CLRL): Likewise.
28078         (VEC_CLRR): Likewise.
28079         (VEC_CMPNEZ): Likewise.
28080         (VEC_CNTLZ): Likewise.
28081         (VEC_CNTLZM): Likewise.
28082         (VEC_CNTTZM): Likewise.
28083         (VEC_CNTLZ_LSBB): Likewise.
28084         (VEC_CNTM): Likewise.
28085         (VEC_CNTTZ): Likewise.
28086         (VEC_CNTTZ_LSBB): Likewise.
28087         (VEC_CONVERT_4F32_8F16): Likewise.
28088         (VEC_DIV): Likewise.
28089         (VEC_DIVE): Likewise.
28090         (VEC_EQV): Likewise.
28091         (VEC_EXPANDM): Likewise.
28092         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
28093         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
28094         (VEC_EXTRACTH): Likewise.
28095         (VEC_EXTRACTL): Likewise.
28096         (VEC_EXTRACTM): Likewise.
28097         (VEC_EXTRACT4B): Likewise.
28098         (VEC_EXTULX): Likewise.
28099         (VEC_EXTURX): Likewise.
28100         (VEC_FIRSTMATCHINDEX): Likewise.
28101         (VEC_FIRSTMACHOREOSINDEX): Likewise.
28102         (VEC_FIRSTMISMATCHINDEX): Likewise.
28103         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
28104         (VEC_GB): Likewise.
28105         (VEC_GENBM): Likewise.
28106         (VEC_GENHM): Likewise.
28107         (VEC_GENWM): Likewise.
28108         (VEC_GENDM): Likewise.
28109         (VEC_GENQM): Likewise.
28110         (VEC_GENPCVM): Likewise.
28111         (VEC_GNB): Likewise.
28112         (VEC_INSERTH): Likewise.
28113         (VEC_INSERTL): Likewise.
28114         (VEC_INSERT4B): Likewise.
28115         (VEC_LXVL): Likewise.
28116         (VEC_MERGEE): Likewise.
28117         (VEC_MERGEO): Likewise.
28118         (VEC_MOD): Likewise.
28119         (VEC_MSUB): Likewise.
28120         (VEC_MULH): Likewise.
28121         (VEC_NAND): Likewise.
28122         (VEC_NCIPHER_BE): Likewise.
28123         (VEC_NCIPHERLAST_BE): Likewise.
28124         (VEC_NEARBYINT): Likewise.
28125         (VEC_NMADD): Likewise.
28126         (VEC_ORC): Likewise.
28127         (VEC_PDEP): Likewise.
28128         (VEC_PERMX): Likewise.
28129         (VEC_PEXT): Likewise.
28130         (VEC_POPCNT): Likewise.
28131         (VEC_PARITY_LSBB): Likewise.
28132         (VEC_REPLACE_ELT): Likewise.
28133         (VEC_REPLACE_UN): Likewise.
28134         (VEC_REVB): Likewise.
28135         (VEC_RINT): Likewise.
28136         (VEC_RLMI): Likewise.
28137         (VEC_RLNM): Likewise.
28138         (VEC_SBOX_BE): Likewise.
28139         (VEC_SIGNEXTI): Likewise.
28140         (VEC_SIGNEXTLL): Likewise.
28141         (VEC_SIGNEXTQ): Likewise.
28142         (VEC_SLDB): Likewise.
28143         (VEC_SLV): Likewise.
28144         (VEC_SPLATI): Likewise.
28145         (VEC_SPLATID): Likewise.
28146         (VEC_SPLATI_INS): Likewise.
28147         (VEC_SQRT): Likewise.
28148         (VEC_SRDB): Likewise.
28149         (VEC_SRV): Likewise.
28150         (VEC_STRIL): Likewise.
28151         (VEC_STRIL_P): Likewise.
28152         (VEC_STRIR): Likewise.
28153         (VEC_STRIR_P): Likewise.
28154         (VEC_STXVL): Likewise.
28155         (VEC_TERNARYLOGIC): Likewise.
28156         (VEC_TEST_LSBB_ALL_ONES): Likewise.
28157         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
28158         (VEC_VEE): Likewise.
28159         (VEC_VES): Likewise.
28160         (VEC_VIE): Likewise.
28161         (VEC_VPRTYB): Likewise.
28162         (VEC_VSCEEQ): Likewise.
28163         (VEC_VSCEGT): Likewise.
28164         (VEC_VSCELT): Likewise.
28165         (VEC_VSCEUO): Likewise.
28166         (VEC_VSEE): Likewise.
28167         (VEC_VSES): Likewise.
28168         (VEC_VSIE): Likewise.
28169         (VEC_VSTDC): Likewise.
28170         (VEC_VSTDCN): Likewise.
28171         (VEC_VTDC): Likewise.
28172         (VEC_XL): Likewise.
28173         (VEC_XL_BE): Likewise.
28174         (VEC_XL_LEN_R): Likewise.
28175         (VEC_XL_SEXT): Likewise.
28176         (VEC_XL_ZEXT): Likewise.
28177         (VEC_XST): Likewise.
28178         (VEC_XST_BE): Likewise.
28179         (VEC_XST_LEN_R): Likewise.
28180         (VEC_XST_TRUNC): Likewise.
28181         (VEC_XXPERMDI): Likewise.
28182         (VEC_XXSLDWI): Likewise.
28183         (VEC_TSTSFI_EQ_DD): Likewise.
28184         (VEC_TSTSFI_EQ_TD): Likewise.
28185         (VEC_TSTSFI_GT_DD): Likewise.
28186         (VEC_TSTSFI_GT_TD): Likewise.
28187         (VEC_TSTSFI_LT_DD): Likewise.
28188         (VEC_TSTSFI_LT_TD): Likewise.
28189         (VEC_TSTSFI_OV_DD): Likewise.
28190         (VEC_TSTSFI_OV_TD): Likewise.
28191         (VEC_VADDCUQ): Likewise.
28192         (VEC_VADDECUQ): Likewise.
28193         (VEC_VADDEUQM): Likewise.
28194         (VEC_VADDUDM): Likewise.
28195         (VEC_VADDUQM): Likewise.
28196         (VEC_VBPERMQ): Likewise.
28197         (VEC_VCLZB): Likewise.
28198         (VEC_VCLZD): Likewise.
28199         (VEC_VCLZH): Likewise.
28200         (VEC_VCLZW): Likewise.
28201         (VEC_VCTZB): Likewise.
28202         (VEC_VCTZD): Likewise.
28203         (VEC_VCTZH): Likewise.
28204         (VEC_VCTZW): Likewise.
28205         (VEC_VEEDP): Likewise.
28206         (VEC_VEESP): Likewise.
28207         (VEC_VESDP): Likewise.
28208         (VEC_VESSP): Likewise.
28209         (VEC_VIEDP): Likewise.
28210         (VEC_VIESP): Likewise.
28211         (VEC_VPKSDSS): Likewise.
28212         (VEC_VPKSDUS): Likewise.
28213         (VEC_VPKUDUM): Likewise.
28214         (VEC_VPKUDUS): Likewise.
28215         (VEC_VPOPCNT): Likewise.
28216         (VEC_VPOPCNTB): Likewise.
28217         (VEC_VPOPCNTD): Likewise.
28218         (VEC_VPOPCNTH): Likewise.
28219         (VEC_VPOPCNTW): Likewise.
28220         (VEC_VPRTYBD): Likewise.
28221         (VEC_VPRTYBQ): Likewise.
28222         (VEC_VPRTYBW): Likewise.
28223         (VEC_VRLD): Likewise.
28224         (VEC_VSLD): Likewise.
28225         (VEC_VSRAD): Likewise.
28226         (VEC_VSRD): Likewise.
28227         (VEC_VSTDCDP): Likewise.
28228         (VEC_VSTDCNDP): Likewise.
28229         (VEC_VSTDCNQP): Likewise.
28230         (VEC_VSTDCNSP): Likewise.
28231         (VEC_VSTDCQP): Likewise.
28232         (VEC_VSTDCSP): Likewise.
28233         (VEC_VSUBECUQ): Likewise.
28234         (VEC_VSUBEUQM): Likewise.
28235         (VEC_VSUBUDM): Likewise.
28236         (VEC_VSUBUQM): Likewise.
28237         (VEC_VTDCDP): Likewise.
28238         (VEC_VTDCSP): Likewise.
28239         (VEC_VUPKHSW): Likewise.
28240         (VEC_VUPKLSW): Likewise.
28242 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
28244         PR rtl-optimization/101260
28245         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
28246         copy_regno.
28248 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
28250         PR middle-end/95115
28251         * fold-const.cc (const_binop): Do not fold NaN result from
28252         non-NaN operands.
28254 2022-02-01  Tom de Vries  <tdevries@suse.de>
28256         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
28257         -ftree-loop-distribute-patterns.
28258         (loop_distribution::execute): Don't call transform_reduction_loop for
28259         -fno-tree-loop-distribute-patterns.
28261 2022-01-31  Andrew Pinski  <apinski@marvell.com>
28263         * fold-const.h (operand_compare::operand_equal_p):
28264         Fix comment about OEP_* flags.
28266 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
28268         PR target/104298
28269         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
28270         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
28271         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
28272         if not already defined.
28274 2022-01-31  Martin Sebor  <msebor@redhat.com>
28276         PR middle-end/104232
28277         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
28278         Handle PHIs.  Add a synonymous overload.
28279         (pass_waccess::check_pointer_uses): Call pointers_related_p.
28281 2022-01-31  Richard Biener  <rguenther@suse.de>
28283         PR tree-optimization/100499
28284         * fold-const.cc (multiple_of_p): Pass the correct type of
28285         the expression to the recursive invocation of multiple_of_p
28286         for conversions and use CASE_CONVERT.
28288 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
28290         PR target/104189
28291         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
28293 2022-01-31  Richard Biener  <rguenther@suse.de>
28295         PR tree-optimization/100499
28296         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
28297         on poly-ints instead of multiple_of_p.
28298         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
28299         (non_rewritable_mem_ref_base): Likewise.
28300         (non_rewritable_lvalue_p): Likewise.
28301         (execute_update_addresses_taken): Likewise.
28303 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
28304             Andrew Pinski  <apinski@marvell.com>
28306         PR tree-optimization/104279
28307         PR tree-optimization/104280
28308         PR tree-optimization/104281
28309         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
28310         boolean_type_node and convert to type.  Formatting fixes.
28312 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
28314         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
28316 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
28318         PR tree-optimization/103514
28319         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
28320         (a & b) == (a ^ b) -> !(a | b): New optimization.
28322 2022-01-28  Marek Polacek  <polacek@redhat.com>
28324         * doc/invoke.texi: Update -Wbidi-chars documentation.
28326 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
28328         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
28330 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
28332         PR tree-optimization/95424
28333         * match.pd: Simplify 1 / X where X is an integer.
28335 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
28337         PR tree-optimization/104263
28338         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
28339         cfun->can_throw_non_call_exceptions && cfun->eh test whether
28340         last non-debug stmt in the bb is store_valid_for_store_merging_p
28341         rather than last stmt.
28343 2022-01-28  Martin Liska  <mliska@suse.cz>
28345         * diagnostic.cc (diagnostic_action_after_output): Remove extra
28346         newline.
28348 2022-01-28  Martin Liska  <mliska@suse.cz>
28350         * config/rs6000/host-darwin.cc (segv_crash_handler):
28351         Do not use leading capital letter.
28352         (segv_handler): Likewise.
28353         * ipa-sra.cc (verify_splitting_accesses): Likewise.
28354         * varasm.cc (get_section): Likewise.
28356 2022-01-28  Richard Biener  <rguenther@suse.de>
28358         PR tree-optimization/104267
28359         * tree-vect-stmts.cc (vectorizable_call): Properly use the
28360         per-argument determined vector type for externals and
28361         invariants.
28363 2022-01-28  Richard Biener  <rguenther@suse.de>
28365         PR tree-optimization/104263
28366         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
28367         Purge edges also when !cfun->has_nonlocal_label
28368         and !cfun->calls_setjmp.
28370 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
28372         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
28373         attributes.
28375 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
28377         PR lto/104237
28378         * cfgrtl.cc (loc_equal): New function.
28379         (unique_locus_on_edge_between_p): Use it.
28381 2022-01-28  Richard Biener  <rguenther@suse.de>
28383         * cfganal.h (mark_dfs_back_edges): Provide API with struct
28384         function argument.
28385         * cfganal.cc (mark_dfs_back_edges): Take a struct function
28386         to work on, add a wrapper passing cfun.
28387         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
28388         uses with fun which is already passed.
28389         (draw_cfg_edges): Likewise.
28390         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
28391         for fun != cfun.
28393 2022-01-27  Patrick Palka  <ppalka@redhat.com>
28395         PR c++/99895
28396         * tree.cc (build_call_vec): Add const to second parameter.
28397         * tree.h (build_call_vec): Likewise.
28399 2022-01-27  Martin Liska  <mliska@suse.cz>
28401         PR web/104254
28402         * diagnostic.cc (diagnostic_initialize):
28403         Initialize report_bug flag.
28404         (diagnostic_action_after_output):
28405         Explain that -freport-bug option can be used for pre-processed
28406         file creation.  Make the message shorter.
28407         (error_recursion): Rename Internal to internal.
28408         * diagnostic.h (struct diagnostic_context): New field.
28409         * opts.cc (common_handle_option): Init the field here.
28411 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
28413         PR target/103702
28414         * config/rs6000/rs6000.cc
28415         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
28416         assertion with early return.
28418 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
28420         PR middle-end/103642
28421         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
28422         for non-pointer or non-reference-to-pointer cases.
28424 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
28426         PR tree-optimization/104196
28427         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
28428         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
28429         return NULL and emit needed stmts before and after stmt.
28430         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
28431         pick as operand_entry that will hold the merged test the one feeding
28432         earliest condition, ensure that by swapping range->idx with some
28433         other range's idx if needed.  If seq is non-NULL, don't actually swap
28434         it but instead rewrite stmts with undefined overflow in between
28435         the two locations.
28436         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
28437         corresponding condition even if they have non-NULL ops[]->op.
28438         Formatting fix.
28440 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
28442         PR target/104239
28443         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
28444         asm.
28445         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
28446         before for loop instead of for init clause.
28447         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
28449 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
28451         PR target/104239
28452         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
28453         _X86INTRIN_H_INCLUDED and adjust #error wording.
28454         * config/rs6000/bmi2intrin.h: Likewise.
28456 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
28458         PR debug/104194
28459         * dwarf2out.cc (long_double_as_float128): New function.
28460         (modified_type_die): For powerpc64le IEEE 754 quad long double
28461         and complex long double emit those as DW_TAG_typedef to
28462         _Float128 or complex _Float128 base type.
28464 2022-01-26  Marek Polacek  <polacek@redhat.com>
28466         PR target/104213
28467         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
28468         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
28470 2022-01-26  Martin Liska  <mliska@suse.cz>
28472         * ipa-modref-tree.cc (modref_access_node::update):
28473         Remove "--param param=foo" with "--param foo".
28474         (modref_access_node::insert): Likewise.
28475         (modref_access_node::insert_kill): Likewise.
28476         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
28477         (struct modref_base_node): Likewise.
28478         (struct modref_tree): Likewise.
28480 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
28482         PR target/94193
28483         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
28484         predicate check.
28486 2022-01-25  Martin Sebor  <msebor@redhat.com>
28488         PR tree-optimization/104203
28489         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
28490         TV_WARN_ACCESS.
28491         * pointer-query.cc (access_ref::merge_ref): Change return type.
28492         Convert failure to a conservative success.
28493         (access_ref::get_ref): Adjust to the change above.  Short-circuit
28494         PHI evaluation after first failure turned into conservative success.
28495         * pointer-query.h (access_ref::merge_ref): Change return type.
28496         * timevar.def (TV_WARN_ACCESS): New timer variable.
28498 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
28500         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
28502 2022-01-25  Richard Biener  <rguenther@suse.de>
28504         PR tree-optimization/104214
28505         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
28506         stronger guarantees for relational pointer compares when
28507         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
28508         BASE0 + STEP0 - STEP1 cmp BASE1.
28510 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
28512         PR target/104172
28513         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
28514         declare.
28515         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
28516         ieee128_mangling_gcc_8_1): Remove.
28517         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
28518         (rs6000_mangle_type): Return "u9__ieee128" instead of
28519         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
28520         (rs6000_globalize_decl_name): Remove.
28521         * config/rs6000/rs6000-call.cc (init_cumulative_args,
28522         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
28524 2022-01-24  Martin Sebor  <msebor@redhat.com>
28526         * pointer-query.cc (pointer_query::dump): Remove duplicate
28527         block.
28529 2022-01-24  Marek Polacek  <polacek@redhat.com>
28531         PR preprocessor/104030
28532         * doc/invoke.texi: Update documentation for -Wbidi-chars.
28534 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
28536         PR target/94193
28537         * builtins.cc (expand_builtin_fegetround): New function.
28538         (expand_builtin_feclear_feraise_except): New function.
28539         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
28540         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
28541         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
28542         (feclearexceptsi): New Pattern.
28543         (feraiseexceptsi): New Pattern.
28544         * doc/extend.texi: Add a new introductory paragraph about the
28545         new builtins.
28546         * doc/md.texi: (fegetround@var{m}): Document new optab.
28547         (feclearexcept@var{m}): Document new optab.
28548         (feraiseexcept@var{m}): Document new optab.
28549         * optabs.def (fegetround_optab): New optab.
28550         (feclearexcept_optab): New optab.
28551         (feraiseexcept_optab): New optab.
28553 2022-01-24  Richard Biener  <rguenther@suse.de>
28554             Jiufu Guo  <guojiufu@linux.ibm.com>
28556         PR tree-optimization/100740
28557         PR tree-optimization/101508
28558         PR tree-optimization/101972
28559         PR tree-optimization/102131
28560         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
28561         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
28562         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
28564 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
28566         PR sanitizer/104158
28567         * opt-functions.awk (var_set): Handle EnumBitSet property.
28568         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
28569         specified.
28570         * opts.h (enum cl_enum_var_value): New type.
28571         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
28572         Handle CLEV_BITSET.
28573         (cmdline_handle_error): Handle CLEV_BITSET.
28574         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
28575         * doc/options.texi (EnumBitSet): Document.
28576         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
28577         EnumSet.
28578         (trace-pc, trace-cmp): Drop Set properties.
28580 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
28582         PR sanitizer/104158
28583         * common.opt (flag_sanitize_coverage): Remove Variable entry.
28584         (fsanitize-coverage=): Remove RejectNegative property, add
28585         Var(flag_sanitize_coverage) and EnumSet properties.
28586         (trace-pc): Add Set(1) property.
28587         (trace-cmp): Add Set(2) property.
28588         * opts.cc (common_handle_option): Don't handle
28589         OPT_fsanitize_coverage_.
28591 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
28593         PR sanitizer/104158
28594         * opt-functions.awk (var_set): Handle EnumSet property.
28595         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
28596         specified.
28597         * opt-read.awk: Handle Set property.
28598         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
28599         (struct cl_decoded_option): Mention enum in value description.
28600         Add mask member.
28601         (set_option): Add mask argument defaulted to 0.
28602         * opts.cc (test_enum_sets): New function.
28603         (opts_cc_tests): Call it.
28604         * opts-common.cc (enum_arg_to_value): Change return argument
28605         from bool to int, on success return index into the cl_enum_arg
28606         array, on failure -1.  Add len argument, if non-0, use strncmp
28607         instead of strcmp.
28608         (opt_enum_arg_to_value): Adjust caller.
28609         (decode_cmdline_option): Handle EnumSet represented as
28610         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
28611         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
28612         (handle_option): Pass decoded->mask to set_options last argument.
28613         (generate_option): Clear decoded->mask.
28614         (generate_option_input_file): Likewise.
28615         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
28616         (set_option): Add mask argument, use it for CLVC_ENUM.
28617         (control_warning_option): Adjust enum_arg_to_value caller.
28618         * doc/options.texi: Document Set and EnumSet properties.
28620 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
28622         PR bootstrap/104170
28623         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
28624         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
28625         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
28626         using OPTION_*_P macros.
28627         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
28628         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
28629         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
28630         using OPTION_*_P macros.
28631         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
28632         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
28633         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
28634         using OPTION_*_P macros.
28635         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
28636         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
28637         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
28638         using OPTION_*_P macros.
28639         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
28640         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
28641         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
28642         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
28643         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
28644         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
28645         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
28646         otherwise assume if (true).
28648 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
28650         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
28651         Skip zicsr and zifencei if I-ext is 2.0.
28653 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
28655         * config.gcc: Modify default isa_spec version.
28657 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
28659         PR tree-optimization/102087
28660         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
28661         Correct PLUS result type.
28663 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
28665         PR target/104188
28666         * config/i386/predicates.md (bcst_mem_operand): Also check mode
28667         of memory broadcast.
28669 2022-01-23  Andrew Pinski  <apinski@marvell.com>
28671         PR target/64821
28672         * config/aarch64/aarch64-builtins.cc
28673         (aarch64_general_gimple_fold_builtin): Handle
28674         __builtin_aarch64_sqrt* and simplify into SQRT internal
28675         function.
28677 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
28679         PR other/104176
28680         * opts-global.cc (handle_common_deferred_options): Quote
28681         --enable-plugin in diagnostics to avoid -Werror=format-diag.
28683 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
28685         PR target/104136
28686         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
28687         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
28688         * config/rs6000/rs6000.md (prefixed attribute): Delete section
28689         that sets the prefixed attribute for xxspltiw, xxspltidp, and
28690         xxsplti32dx instructions.
28691         (movsf_hardfloat): Explicitly set the prefixed attribute
28692         when xxspltiw and xxspltidp instructions are generated.
28693         (mov<mode>_hardfloat32): Likewise.
28694         (mov<mode>_hardfloat64): Likewise.
28695         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
28696         prefixed attribute for xxspltiw and xxspltidp instructions.
28697         (vsx_mov<mode>_32bit): Likewise.
28699 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
28701         PR bootstrap/104170
28702         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
28703         Return true only on glibc.
28704         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
28705         Revert commit c163647ffbc.
28706         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
28708 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
28710         * common/config/s390/s390-common.cc (s390_supports_split_stack):
28711         Only support split-stack on glibc targets.
28712         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
28713         * config/i386/gnu.h (defined): Ditto.
28715 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
28717         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
28718         vector float and vector double.
28720 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
28722         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
28723         Fix mention of ifunc in string.
28725 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
28727         PR middle-end/104140
28728         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
28729         operands of the widening multiplication are either both signed or
28730         both unsigned, and abort the conversion if mismatched.
28731         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
28732         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
28733         signedness.
28734         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
28735         integer types with the same precision and signedness.
28736         (WIDEN_MULT_EXPR): Document that operands must have integer types
28737         with the same precision, but possibly differing signedness.
28738         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
28739         riscv_current_subset_list returning a NULL pointer (empty list).
28741 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
28743         PR target/103676
28744         * ira.h (struct target_ira): Add member
28745         x_ira_exclude_class_mode_regs.
28746         (ira_exclude_class_mode_regs): New macro.
28747         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
28748         move from here ...
28749         * lra-int.h: ... to here.
28750         (lra_create_new_reg_with_unique_value): Add arg
28751         exclude_start_hard_regs.
28752         (class lra_reg): Add member exclude_start_hard_regs.
28753         * lra-assigns.cc (find_hard_regno_for_1): Setup
28754         impossible_start_hard_regs from exclude_start_hard_regs.
28755         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
28756         it lra_create_new_reg[_with_unique_value].
28757         (match_reload): Ditto.
28758         (check_and_process_move): Pass NULL
28759         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
28760         (goal_alt_exclude_start_hard_regs): New static variable.
28761         (process_addr_reg, simplify_operand_subreg): Pass NULL
28762         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
28763         and get_reload_reg.
28764         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
28765         Use this_alternative_exclude_start_hard_regs additionally to find
28766         winning operand alternative.
28767         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
28768         exclude_start_hard_regs to lra_create_new_reg.
28769         (process_address_1, emit_inc): Ditto.
28770         (curr_insn_transform): Pass exclude_start_hard_regs value to
28771         lra_create_new_reg, get_reload_reg, match_reload.
28772         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
28773         to lra_create_new_reg.
28774         (process_invariant_for_inheritance): Ditto.
28775         * lra-remat.cc (update_scratch_ops): Ditto.
28776         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
28777         exclude_start_hard_regs.  Setup the corresponding member of
28778         lra reg info.
28779         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
28780         to lra_create_new_reg_with_unique_value.
28781         (initialize_lra_reg_info_element): Initialize member
28782         exclude_start_hard_regs.
28783         (get_scratch_reg): Pass NULL to lra_create_new_reg.
28784         * ira.cc (setup_prohibited_class_mode_regs): Rename to
28785         setup_prohibited_and_exclude_class_mode_regs and calculate
28786         ira_exclude_class_mode_regs.
28788 2022-01-21  Martin Liska  <mliska@suse.cz>
28790         * configure.ac: Detect ld_is_mold and use it for
28791         comdat_group=yes and gcc_cv_ld_hidden=yes.
28792         * configure: Regenerate.
28794 2022-01-21  Richard Biener  <rguenther@suse.de>
28796         PR tree-optimization/100089
28797         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
28798         of if-converted loops with unvectorized COND_EXPRs for
28799         all but the unlimited cost models.
28801 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
28803         * config/arm/arm-opts.h (enum stack_protector_guard): New.
28804         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
28805         New.
28806         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
28807         (arm_option_override_internal): Handle and put in error checks.
28808         for stack protector guard options.
28809         (arm_option_reconfigure_globals): Likewise.
28810         (arm_stack_protect_tls_canary_mem): New.
28811         (arm_stack_protect_guard): New.
28812         * config/arm/arm.md (stack_protect_set): New.
28813         (stack_protect_set_tls): Likewise.
28814         (stack_protect_test): Likewise.
28815         (stack_protect_test_tls): Likewise.
28816         (reload_tp_hard): Likewise.
28817         * config/arm/arm.opt (-mstack-protector-guard): New
28818         (-mstack-protector-guard-offset): New.
28819         * doc/invoke.texi: Document new options.
28821 2022-01-21  Richard Biener  <rguenther@suse.de>
28823         PR tree-optimization/104156
28824         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
28825         Collect and reset debug stmts with out-of-loop uses when
28826         hoisting guards.
28827         (find_loop_guard): Adjust.
28828         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
28829         (used_outside_loop_p): Push debug uses to a vector of
28830         debug stmts to reset.
28831         (hoist_guard): Adjust -fopt-info category.
28833 2022-01-21  Richard Biener  <rguenther@suse.de>
28835         PR tree-optimization/104152
28836         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
28837         can_duplicate_and_interleave_p check.
28839 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
28841         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
28842         Avoid passing var to warning_at when the format string doesn't
28843         refer to it.
28845 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
28847         PR tree-optimization/103721
28848         * gimple-range-path.cc
28849         (path_range_query::relations_may_be_invalidated): New.
28850         (path_range_query::compute_ranges_in_block): Reset relations if
28851         they may be invalidated.
28852         (path_range_query::maybe_register_phi_relation): Exit if relations
28853         may be invalidated on incoming edge.
28854         (path_range_query::compute_phi_relations): Pass incoming PHI edge
28855         to maybe_register_phi_relation.
28856         * gimple-range-path.h (relations_may_be_invalidated): New.
28857         (maybe_register_phi_relation): Pass edge instead of tree.
28858         * tree-ssa-threadbackward.cc (back_threader::back_threader):
28859         Mark DFS edges.
28860         * value-relation.cc (path_oracle::path_oracle): Call
28861         mark_dfs_back_edges.
28862         (path_oracle::register_relation): Add SSA names to m_registered
28863         bitmap.
28864         (path_oracle::reset_path): Clear m_registered bitmap.
28865         * value-relation.h (path_oracle::set_root_oracle): New.
28867 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
28869         PR rtl-optimization/102478
28870         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
28871         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
28872         would be needed.
28874 2022-01-20  Richard Biener  <rguenther@suse.de>
28876         PR middle-end/100786
28877         * gimple-fold.cc (get_symbol_constant_value): Only return
28878         values of compatible type to the symbol.
28880 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
28882         * value-relation.cc (relation_oracle::valid_equivs): Query and add
28883         if valid members of a set.
28884         (equiv_oracle::register_equiv): Call valid_equivs rather than
28885         bitmap direct operations.
28886         (path_oracle::register_equiv): Ditto.
28887         * value-relation.h (relation_oracle::valid_equivs): New prototype.
28889 2022-01-20  Richard Biener  <rguenther@suse.de>
28891         PR target/100784
28892         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
28893         LHS before folding __builtin_ia32_shufpd and friends.
28895 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28897         * config/arm/crypto.md (aes_op_protect): Allow moves from core
28898         registers and from memory.
28899         (aes_op_protect_misalign_load): New pattern.
28900         (aes_op_protect_neon_vld1v16qi): New pattern.
28902 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28904         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
28905         New pattern.
28906         (aarch32_crypto_aese_fused_protected): Likewise.
28907         (aarch32_crypto_aesd_fused_protected): Likewise.
28909 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28911         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
28912         to define_expand.  Add mitigation for the Cortex-A AES erratum
28913         when enabled.
28914         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
28915         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
28916         (aes_op_protect): New pattern.
28917         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
28919 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28921         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
28922         (ALL_QUIRKS): Add it.
28923         (cortex-a57, cortex-a72): Enable it.
28924         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
28925         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
28926         option.
28927         (mfix-cortex-a72-aes-1655431): New option alias.
28928         * config/arm/arm.cc (arm_option_override): Handle default settings
28929         for AES erratum switch.
28930         * doc/invoke.texi (Arm Options): Document new options.
28932 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28934         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
28935         <crypto_mode> rather than hard-coding the mode.
28936         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
28937         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28938         (*aarch32_crypto_aese_fused): Likewise.
28939         (*aarch32_crypto_aesd_fused): Likewise.
28940         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28941         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28942         (crypto_sha1h_lb): Likewise.
28943         (crypto_vmullp64): Likewise.
28944         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28945         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28947 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
28949         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
28950         iterator to pattern name to disambiguate.
28951         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
28952         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
28953         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
28954         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
28955         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
28957 2022-01-20  Martin Liska  <mliska@suse.cz>
28959         PR bootstrap/104135
28960         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
28961         * rtl.cc: Partially disable -Wformat-diag for RTL checking
28962         error messages.
28964 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
28966         PR debug/103874
28967         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
28968         block_num > 0, index entry even if !have_multiple_function_sections.
28970 2022-01-20  liuhongt  <hongtao.liu@intel.com>
28972         PR target/103771
28973         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
28974         integral mode mask pack by multi steps which takes
28975         vec_pack_sbool_trunc_optab as start when elements number is
28976         less than BITS_PER_UNITS.
28978 2022-01-20  Richard Biener  <rguenther@suse.de>
28980         PR tree-optimization/104114
28981         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
28982         single element vector decomposition.
28984 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28986         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
28987         (noce_convert_multiple_sets): Call function a second time if we can
28988         improve the first try.
28990 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
28992         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
28993         reversed comparison.
28994         (try_emit_cmove_seq): New function to facilitate creating a cmov
28995         sequence.
28996         (noce_convert_multiple_sets): Create two sequences and use the less
28997         expensive one.
28999 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
29001         * rtl.h (struct rtx_comparison): New struct that holds an rtx
29002         comparison.
29003         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
29004         single parameters.
29005         (rs6000_emit_swsqrt): Likewise.
29006         * expmed.cc (expand_sdiv_pow2): Likewise.
29007         (emit_store_flag): Likewise.
29008         * expr.cc (expand_cond_expr_using_cmove): Likewise.
29009         (expand_expr_real_2): Likewise.
29010         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
29011         parameters.
29012         * optabs.cc (emit_conditional_move_1): New function.
29013         (expand_doubleword_shift_condmove): Use struct.
29014         (emit_conditional_move): Use struct and allow to call directly
29015         without going through preparation steps.
29016         * optabs.h (emit_conditional_move): Use struct.
29018 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
29020         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
29021         (noce_process_if_block): Use potential costs.
29023 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
29025         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
29026         (bb_ok_for_noce_convert_multiple_sets): Likewise.
29028 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
29030         * ifcvt.cc (need_cmov_or_rewire): New function.
29031         (noce_convert_multiple_sets): Call it.
29033 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
29035         * attribs.cc (attribute_c_tests): Rename to...
29036         (attribs_cc_tests): ...this.
29037         * bitmap.cc (bitmap_c_tests): Rename to...
29038         (bitmap_cc_tests): ...this.
29039         * cgraph.cc (cgraph_c_finalize): Rename to...
29040         (cgraph_cc_finalize): ...this.
29041         (cgraph_c_tests): Rename to...
29042         (cgraph_cc_tests): ...this.
29043         * cgraph.h (cgraph_c_finalize): Rename to...
29044         (cgraph_cc_finalize): ...this.
29045         (cgraphunit_c_finalize): Rename to...
29046         (cgraphunit_cc_finalize): ...this.
29047         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
29048         (cgraphunit_cc_finalize): ...this.
29049         * convert.cc (convert_c_tests): Rename to...
29050         (convert_cc_tests): ...this.
29051         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
29052         (dbgcnt_cc_tests): ...this.
29053         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
29054         (diagnostic_show_locus_cc_tests): ...this.
29055         * diagnostic.cc (diagnostic_c_tests): Rename to...
29056         (diagnostic_cc_tests): ...this.
29057         * dumpfile.cc (dumpfile_c_tests): Rename to...
29058         (dumpfile_cc_tests): ...this.
29059         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
29060         (dwarf2out_cc_finalize): ...this.
29061         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
29062         (dwarf2out_cc_finalize): ...this.
29063         * edit-context.cc (edit_context_c_tests): Rename to...
29064         (edit_context_cc_tests): ...this.
29065         * et-forest.cc (et_forest_c_tests): Rename to...
29066         (et_forest_cc_tests): ...this.
29067         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
29068         (fibonacci_heap_cc_tests): ...this.
29069         * fold-const.cc (fold_const_c_tests): Rename to...
29070         (fold_const_cc_tests): ...this.
29071         * function-tests.cc (function_tests_c_tests): Rename to...
29072         (function_tests_cc_tests): ...this.
29073         * gcse.cc (gcse_c_finalize): Rename to...
29074         (gcse_cc_finalize): ...this.
29075         * gcse.h (gcse_c_finalize): Rename to...
29076         (gcse_cc_finalize): ...this.
29077         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
29078         (ggc_tests_cc_tests): ...this.
29079         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
29080         (store_merging_cc_tests): ...this.
29081         * gimple.cc (gimple_c_tests): Rename to...
29082         (gimple_cc_tests): ...this.
29083         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
29084         (hash_map_tests_cc_tests): ...this.
29085         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
29086         (hash_set_tests_cc_tests): ...this.
29087         * input.cc (input_c_tests): Rename to...
29088         (input_cc_tests): ...this.
29089         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
29090         (ipa_cp_cc_finalize): ...this.
29091         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
29092         (ipa_fnsummary_cc_finalize): ...this.
29093         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
29094         (ipa_fnsummary_cc_finalize): ...this.
29095         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
29096         (ipa_modref_tree_cc_tests): ...this.
29097         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
29098         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
29099         (ipa_modref_cc_finalize): ...this.
29100         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
29101         (ipa_modref_cc_finalize): ...this.
29102         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
29103         (ipa_cp_cc_finalize): ...this.
29104         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
29105         (ipa_reference_cc_finalize): ...this.
29106         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
29107         (ipa_reference_cc_finalize): ...this.
29108         * ira-costs.cc (ira_costs_c_finalize): Rename to...
29109         (ira_costs_cc_finalize): ...this.
29110         * ira.h (ira_costs_c_finalize): Rename to...
29111         (ira_costs_cc_finalize): ...this.
29112         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
29113         (opt_suggestions_cc_tests): ...this.
29114         * opts.cc (opts_c_tests): Rename to...
29115         (opts_cc_tests): ...this.
29116         * predict.cc (predict_c_tests): Rename to...
29117         (predict_cc_tests): ...this.
29118         * pretty-print.cc (pretty_print_c_tests): Rename to...
29119         (pretty_print_cc_tests): ...this.
29120         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
29121         (read_rtl_function_cc_tests): ...this.
29122         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
29123         (rtl_tests_cc_tests): ...this.
29124         * sbitmap.cc (sbitmap_c_tests): Rename to...
29125         (sbitmap_cc_tests): ...this.
29126         * selftest-run-tests.cc (selftest::run_tests): Update calls for
29127         _c_ to _cc_ function renamings; fix names of attribs and
29128         opt-suggestions tests.
29129         * selftest.cc (selftest_c_tests): Rename to...
29130         (selftest_cc_tests): ...this.
29131         * selftest.h (attribute_c_tests): Rename to...
29132         (attribs_cc_tests): ...this.
29133         (bitmap_c_tests): Rename to...
29134         (bitmap_cc_tests): ...this.
29135         (cgraph_c_tests): Rename to...
29136         (cgraph_cc_tests): ...this.
29137         (convert_c_tests): Rename to...
29138         (convert_cc_tests): ...this.
29139         (diagnostic_c_tests): Rename to...
29140         (diagnostic_cc_tests): ...this.
29141         (diagnostic_show_locus_c_tests): Rename to...
29142         (diagnostic_show_locus_cc_tests): ...this.
29143         (dumpfile_c_tests): Rename to...
29144         (dumpfile_cc_tests): ...this.
29145         (edit_context_c_tests): Rename to...
29146         (edit_context_cc_tests): ...this.
29147         (et_forest_c_tests): Rename to...
29148         (et_forest_cc_tests): ...this.
29149         (fibonacci_heap_c_tests): Rename to...
29150         (fibonacci_heap_cc_tests): ...this.
29151         (fold_const_c_tests): Rename to...
29152         (fold_const_cc_tests): ...this.
29153         (function_tests_c_tests): Rename to...
29154         (function_tests_cc_tests): ...this.
29155         (ggc_tests_c_tests): Rename to...
29156         (ggc_tests_cc_tests): ...this.
29157         (gimple_c_tests): Rename to...
29158         (gimple_cc_tests): ...this.
29159         (hash_map_tests_c_tests): Rename to...
29160         (hash_map_tests_cc_tests): ...this.
29161         (hash_set_tests_c_tests): Rename to...
29162         (hash_set_tests_cc_tests): ...this.
29163         (input_c_tests): Rename to...
29164         (input_cc_tests): ...this.
29165         (opts_c_tests): Rename to...
29166         (opts_cc_tests): ...this.
29167         (predict_c_tests): Rename to...
29168         (predict_cc_tests): ...this.
29169         (pretty_print_c_tests): Rename to...
29170         (pretty_print_cc_tests): ...this.
29171         (read_rtl_function_c_tests): Rename to...
29172         (read_rtl_function_cc_tests): ...this.
29173         (rtl_tests_c_tests): Rename to...
29174         (rtl_tests_cc_tests): ...this.
29175         (sbitmap_c_tests): Rename to...
29176         (sbitmap_cc_tests): ...this.
29177         (selftest_c_tests): Rename to...
29178         (selftest_cc_tests): ...this.
29179         (simplify_rtx_c_tests): Rename to...
29180         (simplify_rtx_cc_tests): ...this.
29181         (spellcheck_c_tests): Rename to...
29182         (spellcheck_cc_tests): ...this.
29183         (spellcheck_tree_c_tests): Rename to...
29184         (spellcheck_tree_cc_tests): ...this.
29185         (sreal_c_tests): Rename to...
29186         (sreal_cc_tests): ...this.
29187         (store_merging_c_tests): Rename to...
29188         (store_merging_cc_tests): ...this.
29189         (tree_c_tests): Rename to...
29190         (tree_cc_tests): ...this.
29191         (tree_cfg_c_tests): Rename to...
29192         (tree_cfg_cc_tests): ...this.
29193         (typed_splay_tree_c_tests): Rename to...
29194         (typed_splay_tree_cc_tests): ...this.
29195         (vec_c_tests): Rename to...
29196         (vec_cc_tests): ...this.
29197         (vec_perm_indices_c_tests): Rename to...
29198         (vec_perm_indices_cc_tests): ..this.
29199         (opt_proposer_c_tests): Rename to...
29200         (opt_suggestions_cc_tests): ...this.
29201         (dbgcnt_c_tests): Rename to...
29202         (dbgcnt_cc_tests): ...this.
29203         (ipa_modref_tree_c_tests): Rename to...
29204         (ipa_modref_tree_cc_tests): ...this.
29205         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
29206         (simplify_rtx_cc_tests): ...this.
29207         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
29208         (spellcheck_tree_cc_tests): ...this.
29209         * spellcheck.cc (spellcheck_c_tests): Rename to...
29210         (spellcheck_cc_tests): ...this.
29211         * sreal.cc (sreal_c_tests): Rename to...
29212         (sreal_cc_tests): ...this.
29213         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
29214         function renamings.
29215         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
29216         (tree_cfg_cc_tests): ...this.
29217         * tree.cc (tree_c_tests): Rename to...
29218         (tree_cc_tests): ...this.
29219         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
29220         (typed_splay_tree_cc_tests): ...this.
29221         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
29222         (vec_perm_indices_cc_tests): ...this.
29223         * vec.cc (vec_c_tests): Rename to...
29224         (vec_cc_tests): ...this.
29226 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
29228         PR tree-optimization/103997
29229         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
29230         vectorization.
29232 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
29234         PR middle-end/102860
29235         * match.pd (x %[fl] y -> x % y): New simplification for
29236         unsigned integral types.
29237         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
29238         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
29240 2022-01-19  Richard Biener  <rguenther@suse.de>
29242         PR tree-optimization/104112
29243         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
29244         for required intermediate vector types.
29246 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
29248         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
29250 2022-01-19  Martin Liska  <mliska@suse.cz>
29252         * configure.ac: Remove -Wno-error=format-diag.
29253         * configure: Regenerate.
29255 2022-01-19  Martin Liska  <mliska@suse.cz>
29257         * config/riscv/riscv.cc (riscv_handle_type_attribute):
29258         Update one -Wformat-diag string in warning message.
29260 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
29262         PR middle-end/104103
29263         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
29264         .ASAN_MARK calls.
29266 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
29268         PR c++/89074
29269         * fold-const.cc (address_compare): Consider different STRING_CSTs
29270         with the same lengths that memcmp the same as equal, not different.
29272 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
29274         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
29275         {%0}.
29277 2022-01-19  Martin Liska  <mliska@suse.cz>
29278             Thomas Schwinge  <thomas@codesourcery.com>
29280         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
29281         warning messages.
29283 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
29285         PR target/104090
29286         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
29287         rs6000_cpu.
29289 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
29291         PR target/104104
29292         * config/i386/sse.md
29293         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
29294         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
29295         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
29296         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
29297         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
29298         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
29299         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
29300         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
29301         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
29303 2022-01-19  Martin Sebor  <msebor@redhat.com>
29305         PR middle-end/104069
29306         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
29307         an unknown result as documented.
29309 2022-01-18  Andrew Pinski  <apinski@marvell.com>
29311         * ipa-split.cc (visit_bb): Fix comment before the
29312         warning/error attribute checking code.
29314 2022-01-18  David Faust  <david.faust@oracle.com>
29316         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
29317         for base strtab offset yet as it may change.
29318         (output_asm_btfext_core_reloc): Do so here instead.
29319         (output_btfext_core_sections): Likewise.
29321 2022-01-18  David Faust  <david.faust@oracle.com>
29323         * config/bpf/coreout.cc (output_btfext_header): Account for
29324         4-byte record size in core_relo_len.
29325         (output_btfext_core_sections): Only write record size once.
29326         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
29327         member.
29329 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
29331         * common/config/riscv/riscv-common.cc
29332         (riscv_subset_list::parse_multiletter_ext): Move pointer
29333         arithmetic ahead of `free'.
29335 2022-01-18  Jason Merrill  <jason@redhat.com>
29337         PR c++/104007
29338         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
29339         context.
29341 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
29343         PR middle-end/103163
29344         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
29345         (init_emit_once): ...not here.
29347 2022-01-18  Martin Liska  <mliska@suse.cz>
29349         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
29350         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
29351         * config/arc/arc.md: Likewise.
29352         * config/avr/avr.cc (avr_section_type_flags): Likewise.
29353         * config/bfin/bfin.cc (bfin_option_override): Likewise.
29354         (bfin_handle_longcall_attribute): Likewise.
29355         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
29356         * config/frv/frv.cc (frv_expand_builtin): Likewise.
29357         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
29358         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
29359         (iq2000_print_operand_address): Likewise.
29360         (iq2000_print_operand): Likewise.
29361         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
29362         (m32c_pragma_address): Likewise.
29363         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
29364         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
29365         (mips_set_compression_mode): Likewise.
29366         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
29367         (mmix_print_operand): Likewise.
29368         (mmix_output_shiftvalue_op_from_str): Likewise.
29369         (mmix_output_shifted_value): Likewise.
29370         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
29371         * config/msp430/msp430.cc (msp430_option_override): Likewise.
29372         (msp430_attr): Likewise.
29373         (msp430_expand_delay_cycles): Likewise.
29374         (msp430_expand_builtin): Likewise.
29375         * config/rs6000/aix73.h: Likewise.
29376         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
29377         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
29378         (valid_psw_flag): Likewise.
29379         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
29380         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
29381         (xstormy16_expand_builtin_va_start): Likewise.
29382         (xstormy16_handle_below100_attribute): Likewise.
29384 2022-01-18  Martin Liska  <mliska@suse.cz>
29386         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
29387         warning.
29388         (vms_pragma_standard): Likewise.
29389         (vms_pragma_extern_prefix): Likewise.
29391 2022-01-18  Martin Liska  <mliska@suse.cz>
29393         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
29394         (print_operand_address): Likewise.
29395         (xtensa_multibss_section_type_flags): Likewise.
29397 2022-01-18  Martin Liska  <mliska@suse.cz>
29399         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
29400         wording of an error message.
29402 2022-01-18  Martin Liska  <mliska@suse.cz>
29404         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
29405         warning.
29406         (ghs_pragma_section): Likewise.
29407         (ghs_pragma_interrupt): Likewise.
29408         (ghs_pragma_starttda): Likewise.
29409         (ghs_pragma_startsda): Likewise.
29410         (ghs_pragma_startzda): Likewise.
29411         (ghs_pragma_endtda): Likewise.
29412         (ghs_pragma_endsda): Likewise.
29413         (ghs_pragma_endzda): Likewise.
29415 2022-01-18  Martin Liska  <mliska@suse.cz>
29417         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
29418         Fix warnings.
29419         * config/nds32/nds32-intrinsic.md: Likewise.
29420         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
29421         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
29422         (nds32_insert_attributes): Likewise.
29424 2022-01-18  Martin Liska  <mliska@suse.cz>
29426         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
29427         keyword.
29428         * config/nvptx/nvptx.md: Remove trailing dot.
29430 2022-01-18  Martin Liska  <mliska@suse.cz>
29432         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
29433         Wrap keywords with quotes and remove trailing dots.
29434         (riscv_subset_list::parsing_subset_version): Likewise.
29435         (riscv_subset_list::parse_std_ext): Likewise.
29436         (riscv_subset_list::parse_multiletter_ext): Likewise.
29437         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
29439 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
29441         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
29442         argument suggested_unroll_factor.
29443         (vect_analyze_loop_costing): Likewise.
29444         (_loop_vec_info::_loop_vec_info): Initialize new member
29445         suggested_unroll_factor.
29446         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
29447         main loop use partial vectors.
29448         (vect_analyze_loop_2): Pass and use new argument
29449         suggested_unroll_factor.
29450         (vect_analyze_loop_1): Change to intialize local
29451         suggested_unroll_factor and use it.
29452         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
29453         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
29454         suggested_unroll_factor.
29455         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
29456         (vector_costs::suggested_unroll_factor): New getter function.
29457         (finish_cost): Set return argument suggested_unroll_factor.
29459 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
29461         PR tree-optimization/104038
29462         * doc/invoke.texi (relation-block-limit): New.
29463         * params.opt (relation-block-limit): New.
29464         * value-relation.cc (dom_oracle::register_relation): Check for NULL
29465         record before invoking transitive registery.
29466         (dom_oracle::set_one_relation): Check limit before creating record.
29467         (dom_oracle::register_transitives): Stop when no record created.
29468         * value-relation.h (relation_chain_head::m_num_relations): New.
29470 2022-01-18  Richard Biener  <rguenther@suse.de>
29472         PR ipa/103989
29473         * ipa-inline.cc (inline_small_functions): Do not enqueue call
29474         edges originating in functions compiled with -Og.
29476 2022-01-18  Richard Biener  <rguenther@suse.de>
29478         PR ipa/103989
29479         * passes.def (pass_all_optimizations_g): Remove pass_modref
29480         and pass_local_pure_const.
29482 2022-01-18  Martin Liska  <mliska@suse.cz>
29484         * config/s390/s390.cc: Fix -Wformat-diag warnings.
29486 2022-01-18  Martin Liska  <mliska@suse.cz>
29488         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
29489         keyword in quotes.
29490         (s390_resolve_overloaded_builtin): Remove trailing dot.
29491         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
29492         (s390_expand_builtin): Remove trailing dot.
29493         (s390_emit_prologue): Likewise, use semicolon.
29494         (s390_option_override_internal): Update keyword.
29495         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
29497 2022-01-18  Martin Liska  <mliska@suse.cz>
29499         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
29500         keywords and use %qs instead of %<%s%>.
29502 2022-01-18  Richard Biener  <rguenther@suse.de>
29504         PR tree-optimization/103987
29505         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
29506         query with a pointer check.
29508 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
29510         PR target/104005
29511         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
29512         When using MEM_EXPR, require the base to be a decl.
29514 2022-01-18  Richard Biener  <rguenther@suse.de>
29516         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
29517         avoid padding.
29518         * function.h (struct function): Likewise.
29520 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
29522         * doc/install.texi: Update prerequisites for GNAT
29524 2022-01-18  Andrew Pinski  <apinski@marvell.com>
29526         PR tree-optimization/101941
29527         * ipa-split.cc (visit_bb): Disallow function calls where
29528         the function has either error or warning attribute.
29530 2022-01-18  Richard Biener  <rguenther@suse.de>
29532         PR tree-optimization/104064
29533         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
29534         DR_INIT fits in a signed HWI, represent the difference from the
29535         first DR in unsigned.
29537 2022-01-17  Martin Liska  <mliska@suse.cz>
29539         * Makefile.in: Rename .c names to .cc.
29540         * config.gcc: Likewise.
29541         * configure: Regenerate. Likewise.
29542         * configure.ac: Likewise.
29543         * gengtype.cc (set_gc_used): Likewise.
29544         (source_dot_c_frul): Likewise.
29545         (source_dot_cc_frul): Likewise.
29546         (struct file_rule_st): Likewise.
29547         (close_output_files): Likewise.
29548         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
29550 2022-01-17  Martin Liska  <mliska@suse.cz>
29552         * Makefile.in: Rename .c names to .cc.
29553         * alias.h: Likewise.
29554         * asan.cc: Likewise.
29555         * auto-profile.h: Likewise.
29556         * basic-block.h (struct basic_block_d): Likewise.
29557         * btfout.cc: Likewise.
29558         * builtins.cc (expand_builtin_longjmp): Likewise.
29559         (validate_arg): Likewise.
29560         (access_ref::offset_bounded): Likewise.
29561         * caller-save.cc (reg_restore_code): Likewise.
29562         (setup_save_areas): Likewise.
29563         * calls.cc (initialize_argument_information): Likewise.
29564         (expand_call): Likewise.
29565         (emit_library_call_value_1): Likewise.
29566         * cfg-flags.def (RTL): Likewise.
29567         (SIBCALL): Likewise.
29568         (CAN_FALLTHRU): Likewise.
29569         * cfganal.cc (post_order_compute): Likewise.
29570         * cfgcleanup.cc (try_simplify_condjump): Likewise.
29571         (merge_blocks_move_predecessor_nojumps): Likewise.
29572         (merge_blocks_move_successor_nojumps): Likewise.
29573         (merge_blocks_move): Likewise.
29574         (old_insns_match_p): Likewise.
29575         (try_crossjump_bb): Likewise.
29576         * cfgexpand.cc (expand_gimple_stmt): Likewise.
29577         * cfghooks.cc (split_block_before_cond_jump): Likewise.
29578         (profile_record_check_consistency): Likewise.
29579         * cfghooks.h: Likewise.
29580         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
29581         (rtl_can_merge_blocks): Likewise.
29582         (try_redirect_by_replacing_jump): Likewise.
29583         (make_pass_outof_cfg_layout_mode): Likewise.
29584         (cfg_layout_can_merge_blocks_p): Likewise.
29585         * cgraph.cc (release_function_body): Likewise.
29586         (cgraph_node::get_fun): Likewise.
29587         * cgraph.h (struct cgraph_node): Likewise.
29588         (asmname_hasher::equal): Likewise.
29589         (cgraph_inline_failed_type): Likewise.
29590         (thunk_adjust): Likewise.
29591         (dump_callgraph_transformation): Likewise.
29592         (record_references_in_initializer): Likewise.
29593         (ipa_discover_variable_flags): Likewise.
29594         * cgraphclones.cc (GTY): Likewise.
29595         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
29596         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
29597         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
29598         * collect2.cc (maybe_run_lto_and_relink): Likewise.
29599         * combine-stack-adj.cc: Likewise.
29600         * combine.cc (setup_incoming_promotions): Likewise.
29601         (combine_simplify_rtx): Likewise.
29602         (count_rtxs): Likewise.
29603         * common.opt: Likewise.
29604         * common/config/aarch64/aarch64-common.cc: Likewise.
29605         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
29606         * common/config/avr/avr-common.cc: Likewise.
29607         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
29608         * conditions.h: Likewise.
29609         * config.gcc: Likewise.
29610         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
29611         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
29612         (aarch64_get_extension_string_for_isa_flags): Likewise.
29613         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
29614         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
29615         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
29616         (aarch64_option_valid_attribute_p): Likewise.
29617         (aarch64_short_vector_p): Likewise.
29618         (aarch64_float_const_representable_p): Likewise.
29619         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
29620         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
29621         (GTY): Likewise.
29622         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
29623         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
29624         * config/aarch64/t-aarch64: Likewise.
29625         * config/aarch64/x-aarch64: Likewise.
29626         * config/aarch64/x-darwin: Likewise.
29627         * config/alpha/alpha-protos.h: Likewise.
29628         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
29629         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
29630         (enum reg_class): Likewise.
29631         * config/alpha/alpha.md: Likewise.
29632         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
29633         * config/alpha/x-alpha: Likewise.
29634         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
29635         * config/arc/arc.cc (ARC_OPT): Likewise.
29636         (arc_ccfsm_advance): Likewise.
29637         (arc_arg_partial_bytes): Likewise.
29638         (conditionalize_nonjump): Likewise.
29639         * config/arc/arc.md: Likewise.
29640         * config/arc/builtins.def: Likewise.
29641         * config/arc/t-arc: Likewise.
29642         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
29643         (arm_pragma_target_parse): Likewise.
29644         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
29645         (arm_cpu_cpp_builtins): Likewise.
29646         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
29647         (shift_op): Likewise.
29648         (thumb2_final_prescan_insn): Likewise.
29649         (arm_final_prescan_insn): Likewise.
29650         (arm_asm_output_labelref): Likewise.
29651         (arm_small_register_classes_for_mode_p): Likewise.
29652         * config/arm/arm.h: Likewise.
29653         * config/arm/arm.md: Likewise.
29654         * config/arm/driver-arm.cc: Likewise.
29655         * config/arm/symbian.h: Likewise.
29656         * config/arm/t-arm: Likewise.
29657         * config/arm/thumb1.md: Likewise.
29658         * config/arm/x-arm: Likewise.
29659         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
29660         * config/avr/avr-fixed.md: Likewise.
29661         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
29662         * config/avr/avr-mcus.def: Likewise.
29663         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
29664         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
29665         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
29666         * config/avr/avr.cc (avr_option_override): Likewise.
29667         (avr_build_builtin_va_list): Likewise.
29668         (avr_mode_dependent_address_p): Likewise.
29669         (avr_function_arg_advance): Likewise.
29670         (avr_asm_output_aligned_decl_common): Likewise.
29671         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
29672         (SUPPORTS_INIT_PRIORITY): Likewise.
29673         * config/avr/avr.md: Likewise.
29674         * config/avr/builtins.def: Likewise.
29675         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
29676         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
29677         (main): Likewise.
29678         * config/avr/t-avr: Likewise.
29679         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
29680         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
29681         * config/bpf/bpf.h (enum reg_class): Likewise.
29682         * config/bpf/t-bpf: Likewise.
29683         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
29684         * config/cr16/cr16-protos.h: Likewise.
29685         * config/cris/cris.cc (cris_address_cost): Likewise.
29686         (cris_side_effect_mode_ok): Likewise.
29687         (cris_init_machine_status): Likewise.
29688         (cris_emit_movem_store): Likewise.
29689         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
29690         (enum reg_class): Likewise.
29691         (struct cum_args): Likewise.
29692         * config/cris/cris.opt: Likewise.
29693         * config/cris/sync.md: Likewise.
29694         * config/csky/csky.cc (csky_expand_prologue): Likewise.
29695         * config/darwin-c.cc: Likewise.
29696         * config/darwin-f.cc: Likewise.
29697         * config/darwin-sections.def (zobj_const_section): Likewise.
29698         * config/darwin.cc (output_objc_section_asm_op): Likewise.
29699         (fprintf): Likewise.
29700         * config/darwin.h (GTY): Likewise.
29701         * config/elfos.h: Likewise.
29702         * config/epiphany/epiphany-sched.md: Likewise.
29703         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
29704         * config/epiphany/epiphany.h (GTY): Likewise.
29705         (NO_FUNCTION_CSE): Likewise.
29706         * config/epiphany/mode-switch-use.cc: Likewise.
29707         * config/epiphany/predicates.md: Likewise.
29708         * config/epiphany/t-epiphany: Likewise.
29709         * config/fr30/fr30-protos.h: Likewise.
29710         * config/frv/frv-protos.h: Likewise.
29711         * config/frv/frv.cc (TLS_BIAS): Likewise.
29712         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
29713         * config/ft32/ft32-protos.h: Likewise.
29714         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
29715         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
29716         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
29717         * config/gcn/t-gcn-hsa: Likewise.
29718         * config/gcn/t-omp-device: Likewise.
29719         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
29720         (same_cmp_following_p): Likewise.
29721         * config/h8300/h8300.cc (F): Likewise.
29722         * config/h8300/h8300.h (struct cum_arg): Likewise.
29723         (BRANCH_COST): Likewise.
29724         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
29725         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
29726         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
29727         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
29728         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
29729         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
29730         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
29731         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
29732         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
29733         (ix86_register_pragmas): Likewise.
29734         (ix86_d_has_stdcall_convention): Likewise.
29735         (i386_pe_seh_init_sections): Likewise.
29736         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
29737         (ix86_function_value_regno_p): Likewise.
29738         (ix86_compute_frame_layout): Likewise.
29739         (legitimize_pe_coff_symbol): Likewise.
29740         (output_pic_addr_const): Likewise.
29741         * config/i386/i386.h (defined): Likewise.
29742         (host_detect_local_cpu): Likewise.
29743         (CONSTANT_ADDRESS_P): Likewise.
29744         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
29745         (struct machine_frame_state): Likewise.
29746         * config/i386/i386.md: Likewise.
29747         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
29748         * config/i386/mmx.md: Likewise.
29749         * config/i386/sse.md: Likewise.
29750         * config/i386/t-cygming: Likewise.
29751         * config/i386/t-djgpp: Likewise.
29752         * config/i386/t-gnu-property: Likewise.
29753         * config/i386/t-i386: Likewise.
29754         * config/i386/t-intelmic: Likewise.
29755         * config/i386/t-omp-device: Likewise.
29756         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
29757         (i386_pe_adjust_class_at_definition): Likewise.
29758         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
29759         (i386_pe_mangle_decl_assembler_name): Likewise.
29760         (i386_pe_encode_section_info): Likewise.
29761         * config/i386/x-cygwin: Likewise.
29762         * config/i386/x-darwin: Likewise.
29763         * config/i386/x-i386: Likewise.
29764         * config/i386/x-mingw32: Likewise.
29765         * config/i386/x86-tune-sched-core.cc: Likewise.
29766         * config/i386/x86-tune.def: Likewise.
29767         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
29768         * config/ia64/freebsd.h: Likewise.
29769         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
29770         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
29771         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
29772         (ia64_secondary_reload_class): Likewise.
29773         (bundling): Likewise.
29774         * config/ia64/ia64.h: Likewise.
29775         * config/ia64/ia64.md: Likewise.
29776         * config/ia64/predicates.md: Likewise.
29777         * config/ia64/sysv4.h: Likewise.
29778         * config/ia64/t-ia64: Likewise.
29779         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
29780         * config/iq2000/iq2000.md: Likewise.
29781         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
29782         (if): Likewise.
29783         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
29784         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
29785         * config/m32c/t-m32c: Likewise.
29786         * config/m32r/m32r-protos.h: Likewise.
29787         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
29788         * config/m32r/m32r.h: Likewise.
29789         * config/m32r/m32r.md: Likewise.
29790         * config/m68k/m68k-isas.def: Likewise.
29791         * config/m68k/m68k-microarchs.def: Likewise.
29792         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
29793         (m68k_epilogue_uses): Likewise.
29794         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
29795         (m68k_sched_adjust_cost): Likewise.
29796         (m68k_sched_md_init): Likewise.
29797         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
29798         (enum m68k_function_kind): Likewise.
29799         * config/m68k/m68k.md: Likewise.
29800         * config/m68k/m68kemb.h: Likewise.
29801         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
29802         * config/mcore/mcore-protos.h: Likewise.
29803         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
29804         (mcore_expand_prolog): Likewise.
29805         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
29806         * config/mcore/mcore.md: Likewise.
29807         * config/microblaze/microblaze-protos.h: Likewise.
29808         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
29809         (microblaze_function_prologue): Likewise.
29810         (microblaze_function_epilogue): Likewise.
29811         (microblaze_select_section): Likewise.
29812         (microblaze_asm_output_mi_thunk): Likewise.
29813         (microblaze_eh_return): Likewise.
29814         * config/microblaze/microblaze.h: Likewise.
29815         * config/microblaze/microblaze.md: Likewise.
29816         * config/microblaze/t-microblaze: Likewise.
29817         * config/mips/driver-native.cc: Likewise.
29818         * config/mips/loongson2ef.md: Likewise.
29819         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
29820         * config/mips/mips.cc (mips_rtx_costs): Likewise.
29821         (mips_output_filename): Likewise.
29822         (mips_output_function_prologue): Likewise.
29823         (mips_output_function_epilogue): Likewise.
29824         (mips_output_mi_thunk): Likewise.
29825         * config/mips/mips.h: Likewise.
29826         * config/mips/mips.md: Likewise.
29827         * config/mips/t-mips: Likewise.
29828         * config/mips/x-native: Likewise.
29829         * config/mmix/mmix-protos.h: Likewise.
29830         * config/mmix/mmix.cc (mmix_option_override): Likewise.
29831         (mmix_dbx_register_number): Likewise.
29832         (mmix_expand_prologue): Likewise.
29833         * config/mmix/mmix.h: Likewise.
29834         * config/mmix/mmix.md: Likewise.
29835         * config/mmix/predicates.md: Likewise.
29836         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
29837         (mn10300_legitimate_pic_operand_p): Likewise.
29838         * config/mn10300/mn10300.h (enum reg_class): Likewise.
29839         (NO_FUNCTION_CSE): Likewise.
29840         * config/moxie/moxie-protos.h: Likewise.
29841         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
29842         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
29843         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
29844         (msp430_incoming_return_addr_rtx): Likewise.
29845         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
29846         * config/msp430/t-msp430: Likewise.
29847         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
29848         (nds32_rtx_costs_size_prefer): Likewise.
29849         (nds32_init_rtx_costs): Likewise.
29850         * config/nds32/nds32-doubleword.md: Likewise.
29851         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
29852         (nds32_builtin_decl): Likewise.
29853         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
29854         (enum nds32_isr_nested_type): Likewise.
29855         (enum reg_class): Likewise.
29856         * config/nds32/predicates.md: Likewise.
29857         * config/nds32/t-nds32: Likewise.
29858         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
29859         * config/nvptx/nvptx-protos.h: Likewise.
29860         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
29861         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
29862         * config/nvptx/t-nvptx: Likewise.
29863         * config/nvptx/t-omp-device: Likewise.
29864         * config/pa/elf.h: Likewise.
29865         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
29866         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
29867         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
29868         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
29869         (pa_legitimize_reload_address): Likewise.
29870         (pa_can_use_return_insn): Likewise.
29871         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
29872         (som_output_text_section_asm_op): Likewise.
29873         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
29874         * config/pa/pa.md: Likewise.
29875         * config/pa/som.h: Likewise.
29876         * config/pa/t-pa: Likewise.
29877         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
29878         * config/pdp11/pdp11.h: Likewise.
29879         * config/pdp11/pdp11.md: Likewise.
29880         * config/pdp11/t-pdp11: Likewise.
29881         * config/pru/pru.md: Likewise.
29882         * config/pru/t-pru: Likewise.
29883         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
29884         (riscv_gpr_save_operation_p): Likewise.
29885         (riscv_d_register_target_info): Likewise.
29886         (riscv_init_builtins): Likewise.
29887         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
29888         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
29889         * config/riscv/t-riscv: Likewise.
29890         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
29891         * config/rl78/t-rl78: Likewise.
29892         * config/rs6000/aix.h: Likewise.
29893         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
29894         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
29895         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
29896         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
29897         * config/rs6000/driver-rs6000.cc: Likewise.
29898         * config/rs6000/freebsd.h: Likewise.
29899         * config/rs6000/freebsd64.h: Likewise.
29900         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
29901         * config/rs6000/rbtree.cc: Likewise.
29902         * config/rs6000/rbtree.h: Likewise.
29903         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
29904         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
29905         (rs6000_expand_builtin): Likewise.
29906         (rs6000_init_builtins): Likewise.
29907         * config/rs6000/rs6000-cpus.def: Likewise.
29908         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
29909         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
29910         (quad_address_offset_p): Likewise.
29911         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
29912         (rs6000_emit_epilogue): Likewise.
29913         * config/rs6000/rs6000-overload.def: Likewise.
29914         * config/rs6000/rs6000-p8swap.cc: Likewise.
29915         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
29916         (rs6000_const_f32_to_i32): Likewise.
29917         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
29918         (rs6000_debug_legitimize_address): Likewise.
29919         (rs6000_mode_dependent_address): Likewise.
29920         (rs6000_adjust_priority): Likewise.
29921         (rs6000_c_mode_for_suffix): Likewise.
29922         * config/rs6000/rs6000.h (defined): Likewise.
29923         (LONG_DOUBLE_TYPE_SIZE): Likewise.
29924         * config/rs6000/rs6000.md: Likewise.
29925         * config/rs6000/sysv4.h: Likewise.
29926         * config/rs6000/t-linux: Likewise.
29927         * config/rs6000/t-linux64: Likewise.
29928         * config/rs6000/t-rs6000: Likewise.
29929         * config/rs6000/x-darwin: Likewise.
29930         * config/rs6000/x-darwin64: Likewise.
29931         * config/rs6000/x-rs6000: Likewise.
29932         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
29933         * config/rx/rx.cc (rx_expand_builtin): Likewise.
29934         * config/s390/constraints.md: Likewise.
29935         * config/s390/driver-native.cc: Likewise.
29936         * config/s390/htmxlintrin.h: Likewise.
29937         * config/s390/s390-builtins.def (B_DEF): Likewise.
29938         (OB_DEF_VAR): Likewise.
29939         * config/s390/s390-builtins.h: Likewise.
29940         * config/s390/s390-c.cc: Likewise.
29941         * config/s390/s390-opts.h: Likewise.
29942         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
29943         (s390_register_target_pragmas): Likewise.
29944         * config/s390/s390.cc (s390_init_builtins): Likewise.
29945         (s390_expand_plus_operand): Likewise.
29946         (s390_expand_atomic): Likewise.
29947         (s390_valid_target_attribute_inner_p): Likewise.
29948         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
29949         * config/s390/s390.md: Likewise.
29950         * config/s390/t-s390: Likewise.
29951         * config/s390/vx-builtins.md: Likewise.
29952         * config/s390/x-native: Likewise.
29953         * config/sh/divtab-sh4-300.cc (main): Likewise.
29954         * config/sh/divtab-sh4.cc (main): Likewise.
29955         * config/sh/divtab.cc (main): Likewise.
29956         * config/sh/elf.h: Likewise.
29957         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
29958         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
29959         (sh_struct_value_rtx): Likewise.
29960         (sh_remove_reg_dead_or_unused_notes): Likewise.
29961         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
29962         * config/sh/t-sh: Likewise.
29963         * config/sol2-protos.h (solaris_override_options): Likewise.
29964         * config/sol2.h: Likewise.
29965         * config/sparc/driver-sparc.cc: Likewise.
29966         * config/sparc/freebsd.h: Likewise.
29967         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
29968         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
29969         (sparc_asan_shadow_offset): Likewise.
29970         * config/sparc/sparc.h: Likewise.
29971         * config/sparc/sparc.md: Likewise.
29972         * config/sparc/t-sparc: Likewise.
29973         * config/sparc/x-sparc: Likewise.
29974         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
29975         * config/t-darwin: Likewise.
29976         * config/t-dragonfly: Likewise.
29977         * config/t-freebsd: Likewise.
29978         * config/t-glibc: Likewise.
29979         * config/t-linux: Likewise.
29980         * config/t-netbsd: Likewise.
29981         * config/t-openbsd: Likewise.
29982         * config/t-pnt16-warn: Likewise.
29983         * config/t-sol2: Likewise.
29984         * config/t-vxworks: Likewise.
29985         * config/t-winnt: Likewise.
29986         * config/tilegx/t-tilegx: Likewise.
29987         * config/tilegx/tilegx-c.cc: Likewise.
29988         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
29989         * config/tilegx/tilegx.md: Likewise.
29990         * config/tilepro/t-tilepro: Likewise.
29991         * config/tilepro/tilepro-c.cc: Likewise.
29992         * config/v850/t-v850: Likewise.
29993         * config/v850/v850-protos.h: Likewise.
29994         * config/v850/v850.cc (F): Likewise.
29995         * config/v850/v850.h (enum reg_class): Likewise.
29996         (SLOW_BYTE_ACCESS): Likewise.
29997         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
29998         * config/vax/vax.h (enum reg_class): Likewise.
29999         * config/vax/vax.md: Likewise.
30000         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
30001         * config/visium/visium.h: Likewise.
30002         * config/vms/t-vms: Likewise.
30003         * config/vms/vms-crtlmap.map: Likewise.
30004         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
30005         * config/vx-common.h: Likewise.
30006         * config/x-darwin: Likewise.
30007         * config/x-hpux: Likewise.
30008         * config/x-linux: Likewise.
30009         * config/x-netbsd: Likewise.
30010         * config/x-openbsd: Likewise.
30011         * config/x-solaris: Likewise.
30012         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
30013         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
30014         * config/xtensa/xtensa.h: Likewise.
30015         * configure.ac: Likewise.
30016         * context.cc: Likewise.
30017         * convert.h: Likewise.
30018         * coretypes.h: Likewise.
30019         * coverage.cc: Likewise.
30020         * coverage.h: Likewise.
30021         * cppdefault.h (struct default_include): Likewise.
30022         * cprop.cc (local_cprop_pass): Likewise.
30023         (one_cprop_pass): Likewise.
30024         * cse.cc (hash_rtx_cb): Likewise.
30025         (fold_rtx): Likewise.
30026         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
30027         * data-streamer.h (bp_unpack_var_len_int): Likewise.
30028         (streamer_write_widest_int): Likewise.
30029         * dbgcnt.def: Likewise.
30030         * dbxout.cc (dbxout_early_global_decl): Likewise.
30031         (dbxout_common_check): Likewise.
30032         * dbxout.h: Likewise.
30033         * debug.h (struct gcc_debug_hooks): Likewise.
30034         (dump_go_spec_init): Likewise.
30035         * df-core.cc: Likewise.
30036         * df-scan.cc (df_insn_info_delete): Likewise.
30037         (df_insn_delete): Likewise.
30038         * df.h (debug_df_chain): Likewise.
30039         (can_move_insns_across): Likewise.
30040         * dfp.cc (decimal_from_binary): Likewise.
30041         * diagnostic-color.cc: Likewise.
30042         * diagnostic-event-id.h: Likewise.
30043         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
30044         * diagnostic.cc (bt_callback): Likewise.
30045         (num_digits): Likewise.
30046         * doc/avr-mmcu.texi: Likewise.
30047         * doc/cfg.texi: Likewise.
30048         * doc/contrib.texi: Likewise.
30049         * doc/cppinternals.texi: Likewise.
30050         * doc/extend.texi: Likewise.
30051         * doc/generic.texi: Likewise.
30052         * doc/gimple.texi: Likewise.
30053         * doc/gty.texi: Likewise.
30054         * doc/invoke.texi: Likewise.
30055         * doc/loop.texi: Likewise.
30056         * doc/lto.texi: Likewise.
30057         * doc/match-and-simplify.texi: Likewise.
30058         * doc/md.texi: Likewise.
30059         * doc/optinfo.texi: Likewise.
30060         * doc/options.texi: Likewise.
30061         * doc/passes.texi: Likewise.
30062         * doc/plugins.texi: Likewise.
30063         * doc/rtl.texi: Likewise.
30064         * doc/sourcebuild.texi: Likewise.
30065         * doc/tm.texi: Likewise.
30066         * doc/tm.texi.in: Likewise.
30067         * doc/tree-ssa.texi: Likewise.
30068         * dojump.cc (do_jump): Likewise.
30069         * dojump.h: Likewise.
30070         * dumpfile.cc (test_impl_location): Likewise.
30071         (test_capture_of_dump_calls): Likewise.
30072         * dumpfile.h (enum dump_kind): Likewise.
30073         (class dump_location_t): Likewise.
30074         (dump_enabled_p): Likewise.
30075         (enable_rtl_dump_file): Likewise.
30076         (dump_combine_total_stats): Likewise.
30077         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
30078         * dwarf2ctf.h (ctf_debug_finish): Likewise.
30079         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
30080         (struct loc_descr_context): Likewise.
30081         (rtl_for_decl_location): Likewise.
30082         (gen_subprogram_die): Likewise.
30083         (gen_label_die): Likewise.
30084         (is_trivial_indirect_ref): Likewise.
30085         (dwarf2out_late_global_decl): Likewise.
30086         (dwarf_file_hasher::hash): Likewise.
30087         (dwarf2out_end_source_file): Likewise.
30088         (dwarf2out_define): Likewise.
30089         (dwarf2out_early_finish): Likewise.
30090         * dwarf2out.h (struct dw_fde_node): Likewise.
30091         (struct dw_discr_list_node): Likewise.
30092         (output_loc_sequence_raw): Likewise.
30093         * emit-rtl.cc (gen_raw_REG): Likewise.
30094         (maybe_set_max_label_num): Likewise.
30095         * emit-rtl.h (struct rtl_data): Likewise.
30096         * errors.cc (internal_error): Likewise.
30097         (trim_filename): Likewise.
30098         * et-forest.cc: Likewise.
30099         * except.cc (init_eh_for_function): Likewise.
30100         * explow.cc (promote_ssa_mode): Likewise.
30101         (get_dynamic_stack_size): Likewise.
30102         * explow.h: Likewise.
30103         * expmed.h: Likewise.
30104         * expr.cc (safe_from_p): Likewise.
30105         (expand_expr_real_2): Likewise.
30106         (expand_expr_real_1): Likewise.
30107         * file-prefix-map.cc (remap_filename): Likewise.
30108         * final.cc (app_enable): Likewise.
30109         (make_pass_compute_alignments): Likewise.
30110         (final_scan_insn_1): Likewise.
30111         (final_scan_insn): Likewise.
30112         * fixed-value.h (fixed_from_string): Likewise.
30113         * flag-types.h (NO_DEBUG): Likewise.
30114         (DWARF2_DEBUG): Likewise.
30115         (VMS_DEBUG): Likewise.
30116         (BTF_DEBUG): Likewise.
30117         (enum ctf_debug_info_levels): Likewise.
30118         * fold-const.cc (const_binop): Likewise.
30119         (fold_binary_loc): Likewise.
30120         (fold_checksum_tree): Likewise.
30121         * fp-test.cc: Likewise.
30122         * function.cc (expand_function_end): Likewise.
30123         * function.h (struct function): Likewise.
30124         * fwprop.cc (should_replace_address): Likewise.
30125         * gcc-main.cc: Likewise.
30126         * gcc-rich-location.h (class gcc_rich_location): Likewise.
30127         * gcc-symtab.h: Likewise.
30128         * gcc.cc (MIN_FATAL_STATUS): Likewise.
30129         (driver_handle_option): Likewise.
30130         (quote_spec_arg): Likewise.
30131         (driver::finalize): Likewise.
30132         * gcc.h (set_input): Likewise.
30133         * gcov-dump.cc: Likewise.
30134         * gcov.cc (solve_flow_graph): Likewise.
30135         * gcse-common.cc: Likewise.
30136         * gcse.cc (make_pass_rtl_hoist): Likewise.
30137         * genattr-common.cc: Likewise.
30138         * genattrtab.cc (min_fn): Likewise.
30139         (write_const_num_delay_slots): Likewise.
30140         * genautomata.cc: Likewise.
30141         * genconditions.cc (write_one_condition): Likewise.
30142         * genconstants.cc: Likewise.
30143         * genemit.cc (gen_exp): Likewise.
30144         * generic-match-head.cc: Likewise.
30145         * genextract.cc: Likewise.
30146         * gengenrtl.cc (always_void_p): Likewise.
30147         * gengtype-parse.cc (gtymarker_opt): Likewise.
30148         * gengtype-state.cc (state_writer::state_writer): Likewise.
30149         (write_state_trailer): Likewise.
30150         (equals_type_number): Likewise.
30151         (read_state): Likewise.
30152         * gengtype.cc (open_base_files): Likewise.
30153         (struct file_rule_st): Likewise.
30154         (header_dot_h_frul): Likewise.
30155         * gengtype.h: Likewise.
30156         * genmatch.cc (main): Likewise.
30157         * genmddeps.cc: Likewise.
30158         * genmodes.cc (emit_mode_inner): Likewise.
30159         (emit_mode_unit_size): Likewise.
30160         * genpeep.cc (gen_peephole): Likewise.
30161         * genpreds.cc (write_tm_preds_h): Likewise.
30162         * genrecog.cc (validate_pattern): Likewise.
30163         (write_header): Likewise.
30164         (main): Likewise.
30165         * gensupport.cc (change_subst_attribute): Likewise.
30166         (traverse_c_tests): Likewise.
30167         (add_predicate): Likewise.
30168         (init_predicate_table): Likewise.
30169         * gensupport.h (struct optab_pattern): Likewise.
30170         (get_num_insn_codes): Likewise.
30171         (maybe_eval_c_test): Likewise.
30172         (struct pred_data): Likewise.
30173         * ggc-internal.h: Likewise.
30174         * gimple-fold.cc (maybe_fold_reference): Likewise.
30175         (get_range_strlen_tree): Likewise.
30176         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
30177         * gimple-low.cc: Likewise.
30178         * gimple-match-head.cc (directly_supported_p): Likewise.
30179         * gimple-pretty-print.h: Likewise.
30180         * gimple-ssa-sprintf.cc (format_percent): Likewise.
30181         (adjust_range_for_overflow): Likewise.
30182         * gimple-streamer.h: Likewise.
30183         * gimple.h (struct GTY): Likewise.
30184         (is_gimple_resx): Likewise.
30185         * gimplify.cc (gimplify_expr): Likewise.
30186         (gimplify_init_constructor): Likewise.
30187         (omp_construct_selector_matches): Likewise.
30188         (gimplify_omp_target_update): Likewise.
30189         (gimplify_omp_ordered): Likewise.
30190         (gimplify_va_arg_expr): Likewise.
30191         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
30192         * haifa-sched.cc (increase_insn_priority): Likewise.
30193         (try_ready): Likewise.
30194         (sched_create_recovery_edges): Likewise.
30195         * ifcvt.cc (find_if_case_1): Likewise.
30196         (find_if_case_2): Likewise.
30197         * inchash.h: Likewise.
30198         * incpath.cc (add_env_var_paths): Likewise.
30199         * input.cc (dump_location_info): Likewise.
30200         (assert_loceq): Likewise.
30201         (test_lexer_string_locations_concatenation_1): Likewise.
30202         (test_lexer_string_locations_concatenation_2): Likewise.
30203         (test_lexer_string_locations_concatenation_3): Likewise.
30204         * input.h (BUILTINS_LOCATION): Likewise.
30205         (class string_concat_db): Likewise.
30206         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
30207         (expand_LOOP_VECTORIZED): Likewise.
30208         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
30209         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
30210         (ipa_fn_summary_t::duplicate): Likewise.
30211         (make_pass_ipa_fn_summary): Likewise.
30212         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
30213         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
30214         (free_lang_data_in_decl): Likewise.
30215         * ipa-inline.cc (compute_inlined_call_time): Likewise.
30216         (inline_always_inline_functions): Likewise.
30217         * ipa-inline.h (free_growth_caches): Likewise.
30218         (inline_account_function_p): Likewise.
30219         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
30220         (modref_eaf_analysis::analyze_ssa_name): Likewise.
30221         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
30222         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
30223         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
30224         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
30225         (unadjusted_ptr_and_unit_offset): Likewise.
30226         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
30227         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
30228         * ipa-split.cc (consider_split): Likewise.
30229         * ipa-sra.cc (isra_read_node_info): Likewise.
30230         * ipa-utils.h (struct ipa_dfs_info): Likewise.
30231         (recursive_call_p): Likewise.
30232         (ipa_make_function_pure): Likewise.
30233         * ira-build.cc (ira_create_allocno): Likewise.
30234         (ira_flattening): Likewise.
30235         * ira-color.cc (do_coloring): Likewise.
30236         (update_curr_costs): Likewise.
30237         * ira-conflicts.cc (process_regs_for_copy): Likewise.
30238         * ira-int.h (struct ira_emit_data): Likewise.
30239         (ira_prohibited_mode_move_regs): Likewise.
30240         (ira_get_dup_out_num): Likewise.
30241         (ira_destroy): Likewise.
30242         (ira_tune_allocno_costs): Likewise.
30243         (ira_implicitly_set_insn_hard_regs): Likewise.
30244         (ira_build_conflicts): Likewise.
30245         (ira_color): Likewise.
30246         * ira-lives.cc (process_bb_node_lives): Likewise.
30247         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
30248         (setup_uniform_class_p): Likewise.
30249         (def_dominates_uses): Likewise.
30250         * ira.h (ira_nullify_asm_goto): Likewise.
30251         * langhooks.cc (lhd_post_options): Likewise.
30252         * langhooks.h (class substring_loc): Likewise.
30253         (struct lang_hooks_for_tree_inlining): Likewise.
30254         (struct lang_hooks_for_types): Likewise.
30255         (struct lang_hooks): Likewise.
30256         * libfuncs.h (synchronize_libfunc): Likewise.
30257         * loop-doloop.cc (doloop_condition_get): Likewise.
30258         * loop-init.cc (fix_loop_structure): Likewise.
30259         * loop-invariant.cc: Likewise.
30260         * lower-subreg.h: Likewise.
30261         * lra-constraints.cc (curr_insn_transform): Likewise.
30262         * lra-int.h (struct lra_insn_reg): Likewise.
30263         (lra_undo_inheritance): Likewise.
30264         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
30265         (lra_split_hard_reg_for): Likewise.
30266         (lra_coalesce): Likewise.
30267         (lra_final_code_change): Likewise.
30268         * lra-spills.cc (lra_final_code_change): Likewise.
30269         * lra.cc (lra_process_new_insns): Likewise.
30270         * lto-compress.h (struct lto_compression_stream): Likewise.
30271         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
30272         (write_symbol): Likewise.
30273         * lto-streamer.h (enum LTO_tags): Likewise.
30274         (lto_value_range_error): Likewise.
30275         (lto_append_block): Likewise.
30276         (lto_streamer_hooks_init): Likewise.
30277         (stream_read_tree_ref): Likewise.
30278         (lto_prepare_function_for_streaming): Likewise.
30279         (select_what_to_stream): Likewise.
30280         (omp_lto_input_declare_variant_alt): Likewise.
30281         (cl_optimization_stream_in): Likewise.
30282         * lto-wrapper.cc (append_compiler_options): Likewise.
30283         * machmode.def: Likewise.
30284         * machmode.h (struct int_n_data_t): Likewise.
30285         * main.cc (main): Likewise.
30286         * match.pd: Likewise.
30287         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
30288         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
30289         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
30290         (make_pass_expand_omp_ssa): Likewise.
30291         * omp-low.cc (struct omp_context): Likewise.
30292         (struct omp_taskcopy_context): Likewise.
30293         (lower_omp): Likewise.
30294         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
30295         (mask_name): Likewise.
30296         (omp_sese_dump_pars): Likewise.
30297         (worker_single_simple): Likewise.
30298         * omp-offload.cc (omp_finish_file): Likewise.
30299         (execute_oacc_loop_designation): Likewise.
30300         * optabs-query.cc (lshift_cheap_p): Likewise.
30301         * optc-gen.awk: Likewise.
30302         * optc-save-gen.awk: Likewise.
30303         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
30304         * opts-common.cc: Likewise.
30305         * output.h (app_enable): Likewise.
30306         (output_operand_lossage): Likewise.
30307         (insn_current_reference_address): Likewise.
30308         (get_insn_template): Likewise.
30309         (output_quoted_string): Likewise.
30310         * pass_manager.h (struct register_pass_info): Likewise.
30311         * plugin.cc: Likewise.
30312         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
30313         * plugin.h (invoke_plugin_callbacks): Likewise.
30314         * pointer-query.cc (handle_mem_ref): Likewise.
30315         * postreload-gcse.cc (alloc_mem): Likewise.
30316         * predict.h (enum prediction): Likewise.
30317         (add_reg_br_prob_note): Likewise.
30318         * prefix.h: Likewise.
30319         * profile.h (get_working_sets): Likewise.
30320         * read-md.cc: Likewise.
30321         * read-md.h (struct mapping): Likewise.
30322         (class md_reader): Likewise.
30323         (class noop_reader): Likewise.
30324         * read-rtl-function.cc (function_reader::create_function): Likewise.
30325         (function_reader::extra_parsing_for_operand_code_0): Likewise.
30326         * read-rtl.cc (initialize_iterators): Likewise.
30327         * real.cc: Likewise.
30328         * real.h (struct real_value): Likewise.
30329         (format_helper::format_helper): Likewise.
30330         (real_hash): Likewise.
30331         (real_can_shorten_arithmetic): Likewise.
30332         * recog.cc (struct target_recog): Likewise.
30333         (offsettable_nonstrict_memref_p): Likewise.
30334         (constrain_operands): Likewise.
30335         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
30336         (which_op_alt): Likewise.
30337         (struct insn_gen_fn): Likewise.
30338         * reg-notes.def (REG_NOTE): Likewise.
30339         * reg-stack.cc: Likewise.
30340         * regs.h (reg_is_parm_p): Likewise.
30341         * regset.h: Likewise.
30342         * reload.cc (push_reload): Likewise.
30343         (find_reloads): Likewise.
30344         (find_reloads_address_1): Likewise.
30345         (find_replacement): Likewise.
30346         (refers_to_regno_for_reload_p): Likewise.
30347         (refers_to_mem_for_reload_p): Likewise.
30348         * reload.h (push_reload): Likewise.
30349         (deallocate_reload_reg): Likewise.
30350         * reload1.cc (emit_input_reload_insns): Likewise.
30351         * reorg.cc (relax_delay_slots): Likewise.
30352         * rtl.def (UNKNOWN): Likewise.
30353         (SEQUENCE): Likewise.
30354         (BARRIER): Likewise.
30355         (ASM_OPERANDS): Likewise.
30356         (EQ_ATTR_ALT): Likewise.
30357         * rtl.h (struct GTY): Likewise.
30358         (LABEL_NAME): Likewise.
30359         (LABEL_ALT_ENTRY_P): Likewise.
30360         (SUBREG_BYTE): Likewise.
30361         (get_stack_check_protect): Likewise.
30362         (dump_rtx_statistics): Likewise.
30363         (unwrap_const_vec_duplicate): Likewise.
30364         (subreg_promoted_mode): Likewise.
30365         (gen_lowpart_common): Likewise.
30366         (operand_subword): Likewise.
30367         (immed_wide_int_const): Likewise.
30368         (decide_function_section): Likewise.
30369         (active_insn_p): Likewise.
30370         (delete_related_insns): Likewise.
30371         (try_split): Likewise.
30372         (val_signbit_known_clear_p): Likewise.
30373         (simplifiable_subregs): Likewise.
30374         (set_insn_deleted): Likewise.
30375         (subreg_get_info): Likewise.
30376         (remove_free_EXPR_LIST_node): Likewise.
30377         (finish_subregs_of_mode): Likewise.
30378         (get_mem_attrs): Likewise.
30379         (lookup_constant_def): Likewise.
30380         (rtx_to_tree_code): Likewise.
30381         (hash_rtx): Likewise.
30382         (condjump_in_parallel_p): Likewise.
30383         (validate_subreg): Likewise.
30384         (make_compound_operation): Likewise.
30385         (schedule_ebbs): Likewise.
30386         (print_inline_rtx): Likewise.
30387         (fixup_args_size_notes): Likewise.
30388         (expand_dec): Likewise.
30389         (prepare_copy_insn): Likewise.
30390         (mark_elimination): Likewise.
30391         (valid_mode_changes_for_regno): Likewise.
30392         (make_debug_expr_from_rtl): Likewise.
30393         (delete_vta_debug_insns): Likewise.
30394         (simplify_using_condition): Likewise.
30395         (set_insn_locations): Likewise.
30396         (fatal_insn_not_found): Likewise.
30397         (word_register_operation_p): Likewise.
30398         * rtlanal.cc (get_call_fndecl): Likewise.
30399         (side_effects_p): Likewise.
30400         (subreg_nregs): Likewise.
30401         (rtx_cost): Likewise.
30402         (canonicalize_condition): Likewise.
30403         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
30404         * run-rtl-passes.cc (run_rtl_passes): Likewise.
30405         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
30406         * sched-deps.cc (add_dependence_1): Likewise.
30407         * sched-ebb.cc (begin_move_insn): Likewise.
30408         (add_deps_for_risky_insns): Likewise.
30409         (advance_target_bb): Likewise.
30410         * sched-int.h (reemit_notes): Likewise.
30411         (struct _haifa_insn_data): Likewise.
30412         (HID): Likewise.
30413         (DEP_CANCELLED): Likewise.
30414         (debug_ds): Likewise.
30415         (number_in_ready): Likewise.
30416         (schedule_ebbs_finish): Likewise.
30417         (find_modifiable_mems): Likewise.
30418         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
30419         * sel-sched-dump.cc (dump_lv_set): Likewise.
30420         * sel-sched-dump.h: Likewise.
30421         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
30422         (setup_id_reg_sets): Likewise.
30423         (has_dependence_p): Likewise.
30424         (sel_num_cfg_preds_gt_1): Likewise.
30425         (bb_ends_ebb_p): Likewise.
30426         * sel-sched-ir.h (struct _list_node): Likewise.
30427         (struct idata_def): Likewise.
30428         (bb_next_bb): Likewise.
30429         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
30430         (choose_best_pseudo_reg): Likewise.
30431         (verify_target_availability): Likewise.
30432         (can_speculate_dep_p): Likewise.
30433         (sel_rank_for_schedule): Likewise.
30434         * selftest-run-tests.cc (selftest::run_tests): Likewise.
30435         * selftest.h (class auto_fix_quotes): Likewise.
30436         * shrink-wrap.cc (handle_simple_exit): Likewise.
30437         * shrink-wrap.h: Likewise.
30438         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
30439         (simplify_context::simplify_gen_vec_select): Likewise.
30440         * spellcheck-tree.h: Likewise.
30441         * spellcheck.h: Likewise.
30442         * statistics.h (struct function): Likewise.
30443         * stmt.cc (conditional_probability): Likewise.
30444         * stmt.h: Likewise.
30445         * stor-layout.h: Likewise.
30446         * streamer-hooks.h: Likewise.
30447         * stringpool.h: Likewise.
30448         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
30449         * target.def (HOOK_VECTOR_END): Likewise.
30450         (type.): Likewise.
30451         * target.h (union cumulative_args_t): Likewise.
30452         (by_pieces_ninsns): Likewise.
30453         (class predefined_function_abi): Likewise.
30454         * targhooks.cc (default_translate_mode_attribute): Likewise.
30455         * timevar.def: Likewise.
30456         * timevar.h (class timer): Likewise.
30457         * toplev.h (enable_rtl_dump_file): Likewise.
30458         * trans-mem.cc (collect_bb2reg): Likewise.
30459         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
30460         * tree-cfg.cc (remove_bb): Likewise.
30461         (verify_gimple_debug): Likewise.
30462         (remove_edge_and_dominated_blocks): Likewise.
30463         (push_fndecl): Likewise.
30464         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
30465         * tree-complex.cc (expand_complex_multiplication): Likewise.
30466         (expand_complex_div_straight): Likewise.
30467         * tree-core.h (enum tree_index): Likewise.
30468         (enum operand_equal_flag): Likewise.
30469         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
30470         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
30471         * tree-inline.cc (initialize_inlined_parameters): Likewise.
30472         * tree-inline.h (force_value_to_type): Likewise.
30473         * tree-nested.cc (get_chain_decl): Likewise.
30474         (walk_all_functions): Likewise.
30475         * tree-object-size.h: Likewise.
30476         * tree-outof-ssa.cc: Likewise.
30477         * tree-parloops.cc (create_parallel_loop): Likewise.
30478         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
30479         (dump_generic_node): Likewise.
30480         * tree-profile.cc (tree_profiling): Likewise.
30481         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
30482         * tree-ssa-address.cc: Likewise.
30483         * tree-ssa-alias.cc: Likewise.
30484         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
30485         (dump_alias_stats): Likewise.
30486         * tree-ssa-ccp.cc: Likewise.
30487         * tree-ssa-coalesce.h: Likewise.
30488         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
30489         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
30490         * tree-ssa-loop-unswitch.cc: Likewise.
30491         * tree-ssa-math-opts.cc: Likewise.
30492         * tree-ssa-operands.cc (class operands_scanner): Likewise.
30493         * tree-ssa-pre.cc: Likewise.
30494         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
30495         (debug_range_entry): Likewise.
30496         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
30497         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
30498         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
30499         (equal_mem_array_ref_p): Likewise.
30500         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
30501         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
30502         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
30503         * tree-ssa-ter.h: Likewise.
30504         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
30505         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
30506         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
30507         (write_ts_block_tree_pointers): Likewise.
30508         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
30509         (streamer_read_tree_bitfields): Likewise.
30510         (streamer_write_integer_cst): Likewise.
30511         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
30512         (vect_synth_mult_by_constant): Likewise.
30513         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
30514         * tree-vectorizer.cc: Likewise.
30515         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
30516         (vect_update_inits_of_drs): Likewise.
30517         (vect_get_mask_type_for_stmt): Likewise.
30518         (vect_rgroup_iv_might_wrap_p): Likewise.
30519         (cse_and_gimplify_to_preheader): Likewise.
30520         (vect_free_slp_tree): Likewise.
30521         (vect_pattern_recog): Likewise.
30522         (vect_stmt_dominates_stmt_p): Likewise.
30523         * tree.cc (initialize_tree_contains_struct): Likewise.
30524         (need_assembler_name_p): Likewise.
30525         (type_with_interoperable_signedness): Likewise.
30526         * tree.def (SWITCH_EXPR): Likewise.
30527         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
30528         (poly_int_tree_p): Likewise.
30529         (inlined_function_outer_scope_p): Likewise.
30530         (tree_code_for_canonical_type_merging): Likewise.
30531         * value-prof.cc: Likewise.
30532         * value-prof.h (get_nth_most_common_value): Likewise.
30533         (find_func_by_profile_id): Likewise.
30534         * value-range.cc (vrp_operand_equal_p): Likewise.
30535         * value-range.h: Likewise.
30536         * var-tracking.cc: Likewise.
30537         * varasm.cc (default_function_section): Likewise.
30538         (function_section_1): Likewise.
30539         (assemble_variable): Likewise.
30540         (handle_vtv_comdat_section): Likewise.
30541         * vec.h (struct vec_prefix): Likewise.
30542         * vmsdbgout.cc (full_name): Likewise.
30543         * vtable-verify.cc: Likewise.
30544         * vtable-verify.h (struct vtv_graph_node): Likewise.
30545         * xcoffout.cc: Likewise.
30546         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
30548 2022-01-17  Martin Liska  <mliska@suse.cz>
30550         * adjust-alignment.c: Moved to...
30551         * adjust-alignment.cc: ...here.
30552         * alias.c: Moved to...
30553         * alias.cc: ...here.
30554         * alloc-pool.c: Moved to...
30555         * alloc-pool.cc: ...here.
30556         * asan.c: Moved to...
30557         * asan.cc: ...here.
30558         * attribs.c: Moved to...
30559         * attribs.cc: ...here.
30560         * auto-inc-dec.c: Moved to...
30561         * auto-inc-dec.cc: ...here.
30562         * auto-profile.c: Moved to...
30563         * auto-profile.cc: ...here.
30564         * bb-reorder.c: Moved to...
30565         * bb-reorder.cc: ...here.
30566         * bitmap.c: Moved to...
30567         * bitmap.cc: ...here.
30568         * btfout.c: Moved to...
30569         * btfout.cc: ...here.
30570         * builtins.c: Moved to...
30571         * builtins.cc: ...here.
30572         * caller-save.c: Moved to...
30573         * caller-save.cc: ...here.
30574         * calls.c: Moved to...
30575         * calls.cc: ...here.
30576         * ccmp.c: Moved to...
30577         * ccmp.cc: ...here.
30578         * cfg.c: Moved to...
30579         * cfg.cc: ...here.
30580         * cfganal.c: Moved to...
30581         * cfganal.cc: ...here.
30582         * cfgbuild.c: Moved to...
30583         * cfgbuild.cc: ...here.
30584         * cfgcleanup.c: Moved to...
30585         * cfgcleanup.cc: ...here.
30586         * cfgexpand.c: Moved to...
30587         * cfgexpand.cc: ...here.
30588         * cfghooks.c: Moved to...
30589         * cfghooks.cc: ...here.
30590         * cfgloop.c: Moved to...
30591         * cfgloop.cc: ...here.
30592         * cfgloopanal.c: Moved to...
30593         * cfgloopanal.cc: ...here.
30594         * cfgloopmanip.c: Moved to...
30595         * cfgloopmanip.cc: ...here.
30596         * cfgrtl.c: Moved to...
30597         * cfgrtl.cc: ...here.
30598         * cgraph.c: Moved to...
30599         * cgraph.cc: ...here.
30600         * cgraphbuild.c: Moved to...
30601         * cgraphbuild.cc: ...here.
30602         * cgraphclones.c: Moved to...
30603         * cgraphclones.cc: ...here.
30604         * cgraphunit.c: Moved to...
30605         * cgraphunit.cc: ...here.
30606         * collect-utils.c: Moved to...
30607         * collect-utils.cc: ...here.
30608         * collect2-aix.c: Moved to...
30609         * collect2-aix.cc: ...here.
30610         * collect2.c: Moved to...
30611         * collect2.cc: ...here.
30612         * combine-stack-adj.c: Moved to...
30613         * combine-stack-adj.cc: ...here.
30614         * combine.c: Moved to...
30615         * combine.cc: ...here.
30616         * common/common-targhooks.c: Moved to...
30617         * common/common-targhooks.cc: ...here.
30618         * common/config/aarch64/aarch64-common.c: Moved to...
30619         * common/config/aarch64/aarch64-common.cc: ...here.
30620         * common/config/alpha/alpha-common.c: Moved to...
30621         * common/config/alpha/alpha-common.cc: ...here.
30622         * common/config/arc/arc-common.c: Moved to...
30623         * common/config/arc/arc-common.cc: ...here.
30624         * common/config/arm/arm-common.c: Moved to...
30625         * common/config/arm/arm-common.cc: ...here.
30626         * common/config/avr/avr-common.c: Moved to...
30627         * common/config/avr/avr-common.cc: ...here.
30628         * common/config/bfin/bfin-common.c: Moved to...
30629         * common/config/bfin/bfin-common.cc: ...here.
30630         * common/config/bpf/bpf-common.c: Moved to...
30631         * common/config/bpf/bpf-common.cc: ...here.
30632         * common/config/c6x/c6x-common.c: Moved to...
30633         * common/config/c6x/c6x-common.cc: ...here.
30634         * common/config/cr16/cr16-common.c: Moved to...
30635         * common/config/cr16/cr16-common.cc: ...here.
30636         * common/config/cris/cris-common.c: Moved to...
30637         * common/config/cris/cris-common.cc: ...here.
30638         * common/config/csky/csky-common.c: Moved to...
30639         * common/config/csky/csky-common.cc: ...here.
30640         * common/config/default-common.c: Moved to...
30641         * common/config/default-common.cc: ...here.
30642         * common/config/epiphany/epiphany-common.c: Moved to...
30643         * common/config/epiphany/epiphany-common.cc: ...here.
30644         * common/config/fr30/fr30-common.c: Moved to...
30645         * common/config/fr30/fr30-common.cc: ...here.
30646         * common/config/frv/frv-common.c: Moved to...
30647         * common/config/frv/frv-common.cc: ...here.
30648         * common/config/gcn/gcn-common.c: Moved to...
30649         * common/config/gcn/gcn-common.cc: ...here.
30650         * common/config/h8300/h8300-common.c: Moved to...
30651         * common/config/h8300/h8300-common.cc: ...here.
30652         * common/config/i386/i386-common.c: Moved to...
30653         * common/config/i386/i386-common.cc: ...here.
30654         * common/config/ia64/ia64-common.c: Moved to...
30655         * common/config/ia64/ia64-common.cc: ...here.
30656         * common/config/iq2000/iq2000-common.c: Moved to...
30657         * common/config/iq2000/iq2000-common.cc: ...here.
30658         * common/config/lm32/lm32-common.c: Moved to...
30659         * common/config/lm32/lm32-common.cc: ...here.
30660         * common/config/m32r/m32r-common.c: Moved to...
30661         * common/config/m32r/m32r-common.cc: ...here.
30662         * common/config/m68k/m68k-common.c: Moved to...
30663         * common/config/m68k/m68k-common.cc: ...here.
30664         * common/config/mcore/mcore-common.c: Moved to...
30665         * common/config/mcore/mcore-common.cc: ...here.
30666         * common/config/microblaze/microblaze-common.c: Moved to...
30667         * common/config/microblaze/microblaze-common.cc: ...here.
30668         * common/config/mips/mips-common.c: Moved to...
30669         * common/config/mips/mips-common.cc: ...here.
30670         * common/config/mmix/mmix-common.c: Moved to...
30671         * common/config/mmix/mmix-common.cc: ...here.
30672         * common/config/mn10300/mn10300-common.c: Moved to...
30673         * common/config/mn10300/mn10300-common.cc: ...here.
30674         * common/config/msp430/msp430-common.c: Moved to...
30675         * common/config/msp430/msp430-common.cc: ...here.
30676         * common/config/nds32/nds32-common.c: Moved to...
30677         * common/config/nds32/nds32-common.cc: ...here.
30678         * common/config/nios2/nios2-common.c: Moved to...
30679         * common/config/nios2/nios2-common.cc: ...here.
30680         * common/config/nvptx/nvptx-common.c: Moved to...
30681         * common/config/nvptx/nvptx-common.cc: ...here.
30682         * common/config/or1k/or1k-common.c: Moved to...
30683         * common/config/or1k/or1k-common.cc: ...here.
30684         * common/config/pa/pa-common.c: Moved to...
30685         * common/config/pa/pa-common.cc: ...here.
30686         * common/config/pdp11/pdp11-common.c: Moved to...
30687         * common/config/pdp11/pdp11-common.cc: ...here.
30688         * common/config/pru/pru-common.c: Moved to...
30689         * common/config/pru/pru-common.cc: ...here.
30690         * common/config/riscv/riscv-common.c: Moved to...
30691         * common/config/riscv/riscv-common.cc: ...here.
30692         * common/config/rs6000/rs6000-common.c: Moved to...
30693         * common/config/rs6000/rs6000-common.cc: ...here.
30694         * common/config/rx/rx-common.c: Moved to...
30695         * common/config/rx/rx-common.cc: ...here.
30696         * common/config/s390/s390-common.c: Moved to...
30697         * common/config/s390/s390-common.cc: ...here.
30698         * common/config/sh/sh-common.c: Moved to...
30699         * common/config/sh/sh-common.cc: ...here.
30700         * common/config/sparc/sparc-common.c: Moved to...
30701         * common/config/sparc/sparc-common.cc: ...here.
30702         * common/config/tilegx/tilegx-common.c: Moved to...
30703         * common/config/tilegx/tilegx-common.cc: ...here.
30704         * common/config/tilepro/tilepro-common.c: Moved to...
30705         * common/config/tilepro/tilepro-common.cc: ...here.
30706         * common/config/v850/v850-common.c: Moved to...
30707         * common/config/v850/v850-common.cc: ...here.
30708         * common/config/vax/vax-common.c: Moved to...
30709         * common/config/vax/vax-common.cc: ...here.
30710         * common/config/visium/visium-common.c: Moved to...
30711         * common/config/visium/visium-common.cc: ...here.
30712         * common/config/xstormy16/xstormy16-common.c: Moved to...
30713         * common/config/xstormy16/xstormy16-common.cc: ...here.
30714         * common/config/xtensa/xtensa-common.c: Moved to...
30715         * common/config/xtensa/xtensa-common.cc: ...here.
30716         * compare-elim.c: Moved to...
30717         * compare-elim.cc: ...here.
30718         * config/aarch64/aarch64-bti-insert.c: Moved to...
30719         * config/aarch64/aarch64-bti-insert.cc: ...here.
30720         * config/aarch64/aarch64-builtins.c: Moved to...
30721         * config/aarch64/aarch64-builtins.cc: ...here.
30722         * config/aarch64/aarch64-c.c: Moved to...
30723         * config/aarch64/aarch64-c.cc: ...here.
30724         * config/aarch64/aarch64-d.c: Moved to...
30725         * config/aarch64/aarch64-d.cc: ...here.
30726         * config/aarch64/aarch64.c: Moved to...
30727         * config/aarch64/aarch64.cc: ...here.
30728         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
30729         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
30730         * config/aarch64/driver-aarch64.c: Moved to...
30731         * config/aarch64/driver-aarch64.cc: ...here.
30732         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
30733         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
30734         * config/aarch64/host-aarch64-darwin.c: Moved to...
30735         * config/aarch64/host-aarch64-darwin.cc: ...here.
30736         * config/alpha/alpha.c: Moved to...
30737         * config/alpha/alpha.cc: ...here.
30738         * config/alpha/driver-alpha.c: Moved to...
30739         * config/alpha/driver-alpha.cc: ...here.
30740         * config/arc/arc-c.c: Moved to...
30741         * config/arc/arc-c.cc: ...here.
30742         * config/arc/arc.c: Moved to...
30743         * config/arc/arc.cc: ...here.
30744         * config/arc/driver-arc.c: Moved to...
30745         * config/arc/driver-arc.cc: ...here.
30746         * config/arm/aarch-common.c: Moved to...
30747         * config/arm/aarch-common.cc: ...here.
30748         * config/arm/arm-builtins.c: Moved to...
30749         * config/arm/arm-builtins.cc: ...here.
30750         * config/arm/arm-c.c: Moved to...
30751         * config/arm/arm-c.cc: ...here.
30752         * config/arm/arm-d.c: Moved to...
30753         * config/arm/arm-d.cc: ...here.
30754         * config/arm/arm.c: Moved to...
30755         * config/arm/arm.cc: ...here.
30756         * config/arm/driver-arm.c: Moved to...
30757         * config/arm/driver-arm.cc: ...here.
30758         * config/avr/avr-c.c: Moved to...
30759         * config/avr/avr-c.cc: ...here.
30760         * config/avr/avr-devices.c: Moved to...
30761         * config/avr/avr-devices.cc: ...here.
30762         * config/avr/avr-log.c: Moved to...
30763         * config/avr/avr-log.cc: ...here.
30764         * config/avr/avr.c: Moved to...
30765         * config/avr/avr.cc: ...here.
30766         * config/avr/driver-avr.c: Moved to...
30767         * config/avr/driver-avr.cc: ...here.
30768         * config/avr/gen-avr-mmcu-specs.c: Moved to...
30769         * config/avr/gen-avr-mmcu-specs.cc: ...here.
30770         * config/avr/gen-avr-mmcu-texi.c: Moved to...
30771         * config/avr/gen-avr-mmcu-texi.cc: ...here.
30772         * config/bfin/bfin.c: Moved to...
30773         * config/bfin/bfin.cc: ...here.
30774         * config/bpf/bpf.c: Moved to...
30775         * config/bpf/bpf.cc: ...here.
30776         * config/bpf/coreout.c: Moved to...
30777         * config/bpf/coreout.cc: ...here.
30778         * config/c6x/c6x.c: Moved to...
30779         * config/c6x/c6x.cc: ...here.
30780         * config/cr16/cr16.c: Moved to...
30781         * config/cr16/cr16.cc: ...here.
30782         * config/cris/cris.c: Moved to...
30783         * config/cris/cris.cc: ...here.
30784         * config/csky/csky.c: Moved to...
30785         * config/csky/csky.cc: ...here.
30786         * config/darwin-c.c: Moved to...
30787         * config/darwin-c.cc: ...here.
30788         * config/darwin-d.c: Moved to...
30789         * config/darwin-d.cc: ...here.
30790         * config/darwin-driver.c: Moved to...
30791         * config/darwin-driver.cc: ...here.
30792         * config/darwin-f.c: Moved to...
30793         * config/darwin-f.cc: ...here.
30794         * config/darwin.c: Moved to...
30795         * config/darwin.cc: ...here.
30796         * config/default-c.c: Moved to...
30797         * config/default-c.cc: ...here.
30798         * config/default-d.c: Moved to...
30799         * config/default-d.cc: ...here.
30800         * config/dragonfly-d.c: Moved to...
30801         * config/dragonfly-d.cc: ...here.
30802         * config/epiphany/epiphany.c: Moved to...
30803         * config/epiphany/epiphany.cc: ...here.
30804         * config/epiphany/mode-switch-use.c: Moved to...
30805         * config/epiphany/mode-switch-use.cc: ...here.
30806         * config/epiphany/resolve-sw-modes.c: Moved to...
30807         * config/epiphany/resolve-sw-modes.cc: ...here.
30808         * config/fr30/fr30.c: Moved to...
30809         * config/fr30/fr30.cc: ...here.
30810         * config/freebsd-d.c: Moved to...
30811         * config/freebsd-d.cc: ...here.
30812         * config/frv/frv.c: Moved to...
30813         * config/frv/frv.cc: ...here.
30814         * config/ft32/ft32.c: Moved to...
30815         * config/ft32/ft32.cc: ...here.
30816         * config/gcn/driver-gcn.c: Moved to...
30817         * config/gcn/driver-gcn.cc: ...here.
30818         * config/gcn/gcn-run.c: Moved to...
30819         * config/gcn/gcn-run.cc: ...here.
30820         * config/gcn/gcn-tree.c: Moved to...
30821         * config/gcn/gcn-tree.cc: ...here.
30822         * config/gcn/gcn.c: Moved to...
30823         * config/gcn/gcn.cc: ...here.
30824         * config/gcn/mkoffload.c: Moved to...
30825         * config/gcn/mkoffload.cc: ...here.
30826         * config/glibc-c.c: Moved to...
30827         * config/glibc-c.cc: ...here.
30828         * config/glibc-d.c: Moved to...
30829         * config/glibc-d.cc: ...here.
30830         * config/h8300/h8300.c: Moved to...
30831         * config/h8300/h8300.cc: ...here.
30832         * config/host-darwin.c: Moved to...
30833         * config/host-darwin.cc: ...here.
30834         * config/host-hpux.c: Moved to...
30835         * config/host-hpux.cc: ...here.
30836         * config/host-linux.c: Moved to...
30837         * config/host-linux.cc: ...here.
30838         * config/host-netbsd.c: Moved to...
30839         * config/host-netbsd.cc: ...here.
30840         * config/host-openbsd.c: Moved to...
30841         * config/host-openbsd.cc: ...here.
30842         * config/host-solaris.c: Moved to...
30843         * config/host-solaris.cc: ...here.
30844         * config/i386/djgpp.c: Moved to...
30845         * config/i386/djgpp.cc: ...here.
30846         * config/i386/driver-i386.c: Moved to...
30847         * config/i386/driver-i386.cc: ...here.
30848         * config/i386/driver-mingw32.c: Moved to...
30849         * config/i386/driver-mingw32.cc: ...here.
30850         * config/i386/gnu-property.c: Moved to...
30851         * config/i386/gnu-property.cc: ...here.
30852         * config/i386/host-cygwin.c: Moved to...
30853         * config/i386/host-cygwin.cc: ...here.
30854         * config/i386/host-i386-darwin.c: Moved to...
30855         * config/i386/host-i386-darwin.cc: ...here.
30856         * config/i386/host-mingw32.c: Moved to...
30857         * config/i386/host-mingw32.cc: ...here.
30858         * config/i386/i386-builtins.c: Moved to...
30859         * config/i386/i386-builtins.cc: ...here.
30860         * config/i386/i386-c.c: Moved to...
30861         * config/i386/i386-c.cc: ...here.
30862         * config/i386/i386-d.c: Moved to...
30863         * config/i386/i386-d.cc: ...here.
30864         * config/i386/i386-expand.c: Moved to...
30865         * config/i386/i386-expand.cc: ...here.
30866         * config/i386/i386-features.c: Moved to...
30867         * config/i386/i386-features.cc: ...here.
30868         * config/i386/i386-options.c: Moved to...
30869         * config/i386/i386-options.cc: ...here.
30870         * config/i386/i386.c: Moved to...
30871         * config/i386/i386.cc: ...here.
30872         * config/i386/intelmic-mkoffload.c: Moved to...
30873         * config/i386/intelmic-mkoffload.cc: ...here.
30874         * config/i386/msformat-c.c: Moved to...
30875         * config/i386/msformat-c.cc: ...here.
30876         * config/i386/winnt-cxx.c: Moved to...
30877         * config/i386/winnt-cxx.cc: ...here.
30878         * config/i386/winnt-d.c: Moved to...
30879         * config/i386/winnt-d.cc: ...here.
30880         * config/i386/winnt-stubs.c: Moved to...
30881         * config/i386/winnt-stubs.cc: ...here.
30882         * config/i386/winnt.c: Moved to...
30883         * config/i386/winnt.cc: ...here.
30884         * config/i386/x86-tune-sched-atom.c: Moved to...
30885         * config/i386/x86-tune-sched-atom.cc: ...here.
30886         * config/i386/x86-tune-sched-bd.c: Moved to...
30887         * config/i386/x86-tune-sched-bd.cc: ...here.
30888         * config/i386/x86-tune-sched-core.c: Moved to...
30889         * config/i386/x86-tune-sched-core.cc: ...here.
30890         * config/i386/x86-tune-sched.c: Moved to...
30891         * config/i386/x86-tune-sched.cc: ...here.
30892         * config/ia64/ia64-c.c: Moved to...
30893         * config/ia64/ia64-c.cc: ...here.
30894         * config/ia64/ia64.c: Moved to...
30895         * config/ia64/ia64.cc: ...here.
30896         * config/iq2000/iq2000.c: Moved to...
30897         * config/iq2000/iq2000.cc: ...here.
30898         * config/linux.c: Moved to...
30899         * config/linux.cc: ...here.
30900         * config/lm32/lm32.c: Moved to...
30901         * config/lm32/lm32.cc: ...here.
30902         * config/m32c/m32c-pragma.c: Moved to...
30903         * config/m32c/m32c-pragma.cc: ...here.
30904         * config/m32c/m32c.c: Moved to...
30905         * config/m32c/m32c.cc: ...here.
30906         * config/m32r/m32r.c: Moved to...
30907         * config/m32r/m32r.cc: ...here.
30908         * config/m68k/m68k.c: Moved to...
30909         * config/m68k/m68k.cc: ...here.
30910         * config/mcore/mcore.c: Moved to...
30911         * config/mcore/mcore.cc: ...here.
30912         * config/microblaze/microblaze-c.c: Moved to...
30913         * config/microblaze/microblaze-c.cc: ...here.
30914         * config/microblaze/microblaze.c: Moved to...
30915         * config/microblaze/microblaze.cc: ...here.
30916         * config/mips/driver-native.c: Moved to...
30917         * config/mips/driver-native.cc: ...here.
30918         * config/mips/frame-header-opt.c: Moved to...
30919         * config/mips/frame-header-opt.cc: ...here.
30920         * config/mips/mips-d.c: Moved to...
30921         * config/mips/mips-d.cc: ...here.
30922         * config/mips/mips.c: Moved to...
30923         * config/mips/mips.cc: ...here.
30924         * config/mmix/mmix.c: Moved to...
30925         * config/mmix/mmix.cc: ...here.
30926         * config/mn10300/mn10300.c: Moved to...
30927         * config/mn10300/mn10300.cc: ...here.
30928         * config/moxie/moxie.c: Moved to...
30929         * config/moxie/moxie.cc: ...here.
30930         * config/msp430/driver-msp430.c: Moved to...
30931         * config/msp430/driver-msp430.cc: ...here.
30932         * config/msp430/msp430-c.c: Moved to...
30933         * config/msp430/msp430-c.cc: ...here.
30934         * config/msp430/msp430-devices.c: Moved to...
30935         * config/msp430/msp430-devices.cc: ...here.
30936         * config/msp430/msp430.c: Moved to...
30937         * config/msp430/msp430.cc: ...here.
30938         * config/nds32/nds32-cost.c: Moved to...
30939         * config/nds32/nds32-cost.cc: ...here.
30940         * config/nds32/nds32-fp-as-gp.c: Moved to...
30941         * config/nds32/nds32-fp-as-gp.cc: ...here.
30942         * config/nds32/nds32-intrinsic.c: Moved to...
30943         * config/nds32/nds32-intrinsic.cc: ...here.
30944         * config/nds32/nds32-isr.c: Moved to...
30945         * config/nds32/nds32-isr.cc: ...here.
30946         * config/nds32/nds32-md-auxiliary.c: Moved to...
30947         * config/nds32/nds32-md-auxiliary.cc: ...here.
30948         * config/nds32/nds32-memory-manipulation.c: Moved to...
30949         * config/nds32/nds32-memory-manipulation.cc: ...here.
30950         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
30951         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
30952         * config/nds32/nds32-predicates.c: Moved to...
30953         * config/nds32/nds32-predicates.cc: ...here.
30954         * config/nds32/nds32-relax-opt.c: Moved to...
30955         * config/nds32/nds32-relax-opt.cc: ...here.
30956         * config/nds32/nds32-utils.c: Moved to...
30957         * config/nds32/nds32-utils.cc: ...here.
30958         * config/nds32/nds32.c: Moved to...
30959         * config/nds32/nds32.cc: ...here.
30960         * config/netbsd-d.c: Moved to...
30961         * config/netbsd-d.cc: ...here.
30962         * config/netbsd.c: Moved to...
30963         * config/netbsd.cc: ...here.
30964         * config/nios2/nios2.c: Moved to...
30965         * config/nios2/nios2.cc: ...here.
30966         * config/nvptx/mkoffload.c: Moved to...
30967         * config/nvptx/mkoffload.cc: ...here.
30968         * config/nvptx/nvptx-c.c: Moved to...
30969         * config/nvptx/nvptx-c.cc: ...here.
30970         * config/nvptx/nvptx.c: Moved to...
30971         * config/nvptx/nvptx.cc: ...here.
30972         * config/openbsd-d.c: Moved to...
30973         * config/openbsd-d.cc: ...here.
30974         * config/or1k/or1k.c: Moved to...
30975         * config/or1k/or1k.cc: ...here.
30976         * config/pa/pa-d.c: Moved to...
30977         * config/pa/pa-d.cc: ...here.
30978         * config/pa/pa.c: Moved to...
30979         * config/pa/pa.cc: ...here.
30980         * config/pdp11/pdp11.c: Moved to...
30981         * config/pdp11/pdp11.cc: ...here.
30982         * config/pru/pru-passes.c: Moved to...
30983         * config/pru/pru-passes.cc: ...here.
30984         * config/pru/pru-pragma.c: Moved to...
30985         * config/pru/pru-pragma.cc: ...here.
30986         * config/pru/pru.c: Moved to...
30987         * config/pru/pru.cc: ...here.
30988         * config/riscv/riscv-builtins.c: Moved to...
30989         * config/riscv/riscv-builtins.cc: ...here.
30990         * config/riscv/riscv-c.c: Moved to...
30991         * config/riscv/riscv-c.cc: ...here.
30992         * config/riscv/riscv-d.c: Moved to...
30993         * config/riscv/riscv-d.cc: ...here.
30994         * config/riscv/riscv-shorten-memrefs.c: Moved to...
30995         * config/riscv/riscv-shorten-memrefs.cc: ...here.
30996         * config/riscv/riscv-sr.c: Moved to...
30997         * config/riscv/riscv-sr.cc: ...here.
30998         * config/riscv/riscv.c: Moved to...
30999         * config/riscv/riscv.cc: ...here.
31000         * config/rl78/rl78-c.c: Moved to...
31001         * config/rl78/rl78-c.cc: ...here.
31002         * config/rl78/rl78.c: Moved to...
31003         * config/rl78/rl78.cc: ...here.
31004         * config/rs6000/driver-rs6000.c: Moved to...
31005         * config/rs6000/driver-rs6000.cc: ...here.
31006         * config/rs6000/host-darwin.c: Moved to...
31007         * config/rs6000/host-darwin.cc: ...here.
31008         * config/rs6000/host-ppc64-darwin.c: Moved to...
31009         * config/rs6000/host-ppc64-darwin.cc: ...here.
31010         * config/rs6000/rbtree.c: Moved to...
31011         * config/rs6000/rbtree.cc: ...here.
31012         * config/rs6000/rs6000-c.c: Moved to...
31013         * config/rs6000/rs6000-c.cc: ...here.
31014         * config/rs6000/rs6000-call.c: Moved to...
31015         * config/rs6000/rs6000-call.cc: ...here.
31016         * config/rs6000/rs6000-d.c: Moved to...
31017         * config/rs6000/rs6000-d.cc: ...here.
31018         * config/rs6000/rs6000-gen-builtins.c: Moved to...
31019         * config/rs6000/rs6000-gen-builtins.cc: ...here.
31020         * config/rs6000/rs6000-linux.c: Moved to...
31021         * config/rs6000/rs6000-linux.cc: ...here.
31022         * config/rs6000/rs6000-logue.c: Moved to...
31023         * config/rs6000/rs6000-logue.cc: ...here.
31024         * config/rs6000/rs6000-p8swap.c: Moved to...
31025         * config/rs6000/rs6000-p8swap.cc: ...here.
31026         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
31027         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
31028         * config/rs6000/rs6000-string.c: Moved to...
31029         * config/rs6000/rs6000-string.cc: ...here.
31030         * config/rs6000/rs6000.c: Moved to...
31031         * config/rs6000/rs6000.cc: ...here.
31032         * config/rx/rx.c: Moved to...
31033         * config/rx/rx.cc: ...here.
31034         * config/s390/driver-native.c: Moved to...
31035         * config/s390/driver-native.cc: ...here.
31036         * config/s390/s390-c.c: Moved to...
31037         * config/s390/s390-c.cc: ...here.
31038         * config/s390/s390-d.c: Moved to...
31039         * config/s390/s390-d.cc: ...here.
31040         * config/s390/s390.c: Moved to...
31041         * config/s390/s390.cc: ...here.
31042         * config/sh/divtab-sh4-300.c: Moved to...
31043         * config/sh/divtab-sh4-300.cc: ...here.
31044         * config/sh/divtab-sh4.c: Moved to...
31045         * config/sh/divtab-sh4.cc: ...here.
31046         * config/sh/divtab.c: Moved to...
31047         * config/sh/divtab.cc: ...here.
31048         * config/sh/sh-c.c: Moved to...
31049         * config/sh/sh-c.cc: ...here.
31050         * config/sh/sh.c: Moved to...
31051         * config/sh/sh.cc: ...here.
31052         * config/sol2-c.c: Moved to...
31053         * config/sol2-c.cc: ...here.
31054         * config/sol2-cxx.c: Moved to...
31055         * config/sol2-cxx.cc: ...here.
31056         * config/sol2-d.c: Moved to...
31057         * config/sol2-d.cc: ...here.
31058         * config/sol2-stubs.c: Moved to...
31059         * config/sol2-stubs.cc: ...here.
31060         * config/sol2.c: Moved to...
31061         * config/sol2.cc: ...here.
31062         * config/sparc/driver-sparc.c: Moved to...
31063         * config/sparc/driver-sparc.cc: ...here.
31064         * config/sparc/sparc-c.c: Moved to...
31065         * config/sparc/sparc-c.cc: ...here.
31066         * config/sparc/sparc-d.c: Moved to...
31067         * config/sparc/sparc-d.cc: ...here.
31068         * config/sparc/sparc.c: Moved to...
31069         * config/sparc/sparc.cc: ...here.
31070         * config/stormy16/stormy16.c: Moved to...
31071         * config/stormy16/stormy16.cc: ...here.
31072         * config/tilegx/mul-tables.c: Moved to...
31073         * config/tilegx/mul-tables.cc: ...here.
31074         * config/tilegx/tilegx-c.c: Moved to...
31075         * config/tilegx/tilegx-c.cc: ...here.
31076         * config/tilegx/tilegx.c: Moved to...
31077         * config/tilegx/tilegx.cc: ...here.
31078         * config/tilepro/mul-tables.c: Moved to...
31079         * config/tilepro/mul-tables.cc: ...here.
31080         * config/tilepro/tilepro-c.c: Moved to...
31081         * config/tilepro/tilepro-c.cc: ...here.
31082         * config/tilepro/tilepro.c: Moved to...
31083         * config/tilepro/tilepro.cc: ...here.
31084         * config/v850/v850-c.c: Moved to...
31085         * config/v850/v850-c.cc: ...here.
31086         * config/v850/v850.c: Moved to...
31087         * config/v850/v850.cc: ...here.
31088         * config/vax/vax.c: Moved to...
31089         * config/vax/vax.cc: ...here.
31090         * config/visium/visium.c: Moved to...
31091         * config/visium/visium.cc: ...here.
31092         * config/vms/vms-c.c: Moved to...
31093         * config/vms/vms-c.cc: ...here.
31094         * config/vms/vms-f.c: Moved to...
31095         * config/vms/vms-f.cc: ...here.
31096         * config/vms/vms.c: Moved to...
31097         * config/vms/vms.cc: ...here.
31098         * config/vxworks-c.c: Moved to...
31099         * config/vxworks-c.cc: ...here.
31100         * config/vxworks.c: Moved to...
31101         * config/vxworks.cc: ...here.
31102         * config/winnt-c.c: Moved to...
31103         * config/winnt-c.cc: ...here.
31104         * config/xtensa/xtensa.c: Moved to...
31105         * config/xtensa/xtensa.cc: ...here.
31106         * context.c: Moved to...
31107         * context.cc: ...here.
31108         * convert.c: Moved to...
31109         * convert.cc: ...here.
31110         * coverage.c: Moved to...
31111         * coverage.cc: ...here.
31112         * cppbuiltin.c: Moved to...
31113         * cppbuiltin.cc: ...here.
31114         * cppdefault.c: Moved to...
31115         * cppdefault.cc: ...here.
31116         * cprop.c: Moved to...
31117         * cprop.cc: ...here.
31118         * cse.c: Moved to...
31119         * cse.cc: ...here.
31120         * cselib.c: Moved to...
31121         * cselib.cc: ...here.
31122         * ctfc.c: Moved to...
31123         * ctfc.cc: ...here.
31124         * ctfout.c: Moved to...
31125         * ctfout.cc: ...here.
31126         * data-streamer-in.c: Moved to...
31127         * data-streamer-in.cc: ...here.
31128         * data-streamer-out.c: Moved to...
31129         * data-streamer-out.cc: ...here.
31130         * data-streamer.c: Moved to...
31131         * data-streamer.cc: ...here.
31132         * dbgcnt.c: Moved to...
31133         * dbgcnt.cc: ...here.
31134         * dbxout.c: Moved to...
31135         * dbxout.cc: ...here.
31136         * dce.c: Moved to...
31137         * dce.cc: ...here.
31138         * ddg.c: Moved to...
31139         * ddg.cc: ...here.
31140         * debug.c: Moved to...
31141         * debug.cc: ...here.
31142         * df-core.c: Moved to...
31143         * df-core.cc: ...here.
31144         * df-problems.c: Moved to...
31145         * df-problems.cc: ...here.
31146         * df-scan.c: Moved to...
31147         * df-scan.cc: ...here.
31148         * dfp.c: Moved to...
31149         * dfp.cc: ...here.
31150         * diagnostic-color.c: Moved to...
31151         * diagnostic-color.cc: ...here.
31152         * diagnostic-show-locus.c: Moved to...
31153         * diagnostic-show-locus.cc: ...here.
31154         * diagnostic-spec.c: Moved to...
31155         * diagnostic-spec.cc: ...here.
31156         * diagnostic.c: Moved to...
31157         * diagnostic.cc: ...here.
31158         * dojump.c: Moved to...
31159         * dojump.cc: ...here.
31160         * dominance.c: Moved to...
31161         * dominance.cc: ...here.
31162         * domwalk.c: Moved to...
31163         * domwalk.cc: ...here.
31164         * double-int.c: Moved to...
31165         * double-int.cc: ...here.
31166         * dse.c: Moved to...
31167         * dse.cc: ...here.
31168         * dumpfile.c: Moved to...
31169         * dumpfile.cc: ...here.
31170         * dwarf2asm.c: Moved to...
31171         * dwarf2asm.cc: ...here.
31172         * dwarf2cfi.c: Moved to...
31173         * dwarf2cfi.cc: ...here.
31174         * dwarf2ctf.c: Moved to...
31175         * dwarf2ctf.cc: ...here.
31176         * dwarf2out.c: Moved to...
31177         * dwarf2out.cc: ...here.
31178         * early-remat.c: Moved to...
31179         * early-remat.cc: ...here.
31180         * edit-context.c: Moved to...
31181         * edit-context.cc: ...here.
31182         * emit-rtl.c: Moved to...
31183         * emit-rtl.cc: ...here.
31184         * errors.c: Moved to...
31185         * errors.cc: ...here.
31186         * et-forest.c: Moved to...
31187         * et-forest.cc: ...here.
31188         * except.c: Moved to...
31189         * except.cc: ...here.
31190         * explow.c: Moved to...
31191         * explow.cc: ...here.
31192         * expmed.c: Moved to...
31193         * expmed.cc: ...here.
31194         * expr.c: Moved to...
31195         * expr.cc: ...here.
31196         * fibonacci_heap.c: Moved to...
31197         * fibonacci_heap.cc: ...here.
31198         * file-find.c: Moved to...
31199         * file-find.cc: ...here.
31200         * file-prefix-map.c: Moved to...
31201         * file-prefix-map.cc: ...here.
31202         * final.c: Moved to...
31203         * final.cc: ...here.
31204         * fixed-value.c: Moved to...
31205         * fixed-value.cc: ...here.
31206         * fold-const-call.c: Moved to...
31207         * fold-const-call.cc: ...here.
31208         * fold-const.c: Moved to...
31209         * fold-const.cc: ...here.
31210         * fp-test.c: Moved to...
31211         * fp-test.cc: ...here.
31212         * function-tests.c: Moved to...
31213         * function-tests.cc: ...here.
31214         * function.c: Moved to...
31215         * function.cc: ...here.
31216         * fwprop.c: Moved to...
31217         * fwprop.cc: ...here.
31218         * gcc-ar.c: Moved to...
31219         * gcc-ar.cc: ...here.
31220         * gcc-main.c: Moved to...
31221         * gcc-main.cc: ...here.
31222         * gcc-rich-location.c: Moved to...
31223         * gcc-rich-location.cc: ...here.
31224         * gcc.c: Moved to...
31225         * gcc.cc: ...here.
31226         * gcov-dump.c: Moved to...
31227         * gcov-dump.cc: ...here.
31228         * gcov-io.c: Moved to...
31229         * gcov-io.cc: ...here.
31230         * gcov-tool.c: Moved to...
31231         * gcov-tool.cc: ...here.
31232         * gcov.c: Moved to...
31233         * gcov.cc: ...here.
31234         * gcse-common.c: Moved to...
31235         * gcse-common.cc: ...here.
31236         * gcse.c: Moved to...
31237         * gcse.cc: ...here.
31238         * genattr-common.c: Moved to...
31239         * genattr-common.cc: ...here.
31240         * genattr.c: Moved to...
31241         * genattr.cc: ...here.
31242         * genattrtab.c: Moved to...
31243         * genattrtab.cc: ...here.
31244         * genautomata.c: Moved to...
31245         * genautomata.cc: ...here.
31246         * gencfn-macros.c: Moved to...
31247         * gencfn-macros.cc: ...here.
31248         * gencheck.c: Moved to...
31249         * gencheck.cc: ...here.
31250         * genchecksum.c: Moved to...
31251         * genchecksum.cc: ...here.
31252         * gencodes.c: Moved to...
31253         * gencodes.cc: ...here.
31254         * genconditions.c: Moved to...
31255         * genconditions.cc: ...here.
31256         * genconfig.c: Moved to...
31257         * genconfig.cc: ...here.
31258         * genconstants.c: Moved to...
31259         * genconstants.cc: ...here.
31260         * genemit.c: Moved to...
31261         * genemit.cc: ...here.
31262         * genenums.c: Moved to...
31263         * genenums.cc: ...here.
31264         * generic-match-head.c: Moved to...
31265         * generic-match-head.cc: ...here.
31266         * genextract.c: Moved to...
31267         * genextract.cc: ...here.
31268         * genflags.c: Moved to...
31269         * genflags.cc: ...here.
31270         * gengenrtl.c: Moved to...
31271         * gengenrtl.cc: ...here.
31272         * gengtype-parse.c: Moved to...
31273         * gengtype-parse.cc: ...here.
31274         * gengtype-state.c: Moved to...
31275         * gengtype-state.cc: ...here.
31276         * gengtype.c: Moved to...
31277         * gengtype.cc: ...here.
31278         * genhooks.c: Moved to...
31279         * genhooks.cc: ...here.
31280         * genmatch.c: Moved to...
31281         * genmatch.cc: ...here.
31282         * genmddeps.c: Moved to...
31283         * genmddeps.cc: ...here.
31284         * genmddump.c: Moved to...
31285         * genmddump.cc: ...here.
31286         * genmodes.c: Moved to...
31287         * genmodes.cc: ...here.
31288         * genopinit.c: Moved to...
31289         * genopinit.cc: ...here.
31290         * genoutput.c: Moved to...
31291         * genoutput.cc: ...here.
31292         * genpeep.c: Moved to...
31293         * genpeep.cc: ...here.
31294         * genpreds.c: Moved to...
31295         * genpreds.cc: ...here.
31296         * genrecog.c: Moved to...
31297         * genrecog.cc: ...here.
31298         * gensupport.c: Moved to...
31299         * gensupport.cc: ...here.
31300         * gentarget-def.c: Moved to...
31301         * gentarget-def.cc: ...here.
31302         * genversion.c: Moved to...
31303         * genversion.cc: ...here.
31304         * ggc-common.c: Moved to...
31305         * ggc-common.cc: ...here.
31306         * ggc-none.c: Moved to...
31307         * ggc-none.cc: ...here.
31308         * ggc-page.c: Moved to...
31309         * ggc-page.cc: ...here.
31310         * ggc-tests.c: Moved to...
31311         * ggc-tests.cc: ...here.
31312         * gimple-builder.c: Moved to...
31313         * gimple-builder.cc: ...here.
31314         * gimple-expr.c: Moved to...
31315         * gimple-expr.cc: ...here.
31316         * gimple-fold.c: Moved to...
31317         * gimple-fold.cc: ...here.
31318         * gimple-iterator.c: Moved to...
31319         * gimple-iterator.cc: ...here.
31320         * gimple-laddress.c: Moved to...
31321         * gimple-laddress.cc: ...here.
31322         * gimple-loop-jam.c: Moved to...
31323         * gimple-loop-jam.cc: ...here.
31324         * gimple-low.c: Moved to...
31325         * gimple-low.cc: ...here.
31326         * gimple-match-head.c: Moved to...
31327         * gimple-match-head.cc: ...here.
31328         * gimple-pretty-print.c: Moved to...
31329         * gimple-pretty-print.cc: ...here.
31330         * gimple-ssa-backprop.c: Moved to...
31331         * gimple-ssa-backprop.cc: ...here.
31332         * gimple-ssa-evrp-analyze.c: Moved to...
31333         * gimple-ssa-evrp-analyze.cc: ...here.
31334         * gimple-ssa-evrp.c: Moved to...
31335         * gimple-ssa-evrp.cc: ...here.
31336         * gimple-ssa-isolate-paths.c: Moved to...
31337         * gimple-ssa-isolate-paths.cc: ...here.
31338         * gimple-ssa-nonnull-compare.c: Moved to...
31339         * gimple-ssa-nonnull-compare.cc: ...here.
31340         * gimple-ssa-split-paths.c: Moved to...
31341         * gimple-ssa-split-paths.cc: ...here.
31342         * gimple-ssa-sprintf.c: Moved to...
31343         * gimple-ssa-sprintf.cc: ...here.
31344         * gimple-ssa-store-merging.c: Moved to...
31345         * gimple-ssa-store-merging.cc: ...here.
31346         * gimple-ssa-strength-reduction.c: Moved to...
31347         * gimple-ssa-strength-reduction.cc: ...here.
31348         * gimple-ssa-warn-alloca.c: Moved to...
31349         * gimple-ssa-warn-alloca.cc: ...here.
31350         * gimple-ssa-warn-restrict.c: Moved to...
31351         * gimple-ssa-warn-restrict.cc: ...here.
31352         * gimple-streamer-in.c: Moved to...
31353         * gimple-streamer-in.cc: ...here.
31354         * gimple-streamer-out.c: Moved to...
31355         * gimple-streamer-out.cc: ...here.
31356         * gimple-walk.c: Moved to...
31357         * gimple-walk.cc: ...here.
31358         * gimple-warn-recursion.c: Moved to...
31359         * gimple-warn-recursion.cc: ...here.
31360         * gimple.c: Moved to...
31361         * gimple.cc: ...here.
31362         * gimplify-me.c: Moved to...
31363         * gimplify-me.cc: ...here.
31364         * gimplify.c: Moved to...
31365         * gimplify.cc: ...here.
31366         * godump.c: Moved to...
31367         * godump.cc: ...here.
31368         * graph.c: Moved to...
31369         * graph.cc: ...here.
31370         * graphds.c: Moved to...
31371         * graphds.cc: ...here.
31372         * graphite-dependences.c: Moved to...
31373         * graphite-dependences.cc: ...here.
31374         * graphite-isl-ast-to-gimple.c: Moved to...
31375         * graphite-isl-ast-to-gimple.cc: ...here.
31376         * graphite-optimize-isl.c: Moved to...
31377         * graphite-optimize-isl.cc: ...here.
31378         * graphite-poly.c: Moved to...
31379         * graphite-poly.cc: ...here.
31380         * graphite-scop-detection.c: Moved to...
31381         * graphite-scop-detection.cc: ...here.
31382         * graphite-sese-to-poly.c: Moved to...
31383         * graphite-sese-to-poly.cc: ...here.
31384         * graphite.c: Moved to...
31385         * graphite.cc: ...here.
31386         * haifa-sched.c: Moved to...
31387         * haifa-sched.cc: ...here.
31388         * hash-map-tests.c: Moved to...
31389         * hash-map-tests.cc: ...here.
31390         * hash-set-tests.c: Moved to...
31391         * hash-set-tests.cc: ...here.
31392         * hash-table.c: Moved to...
31393         * hash-table.cc: ...here.
31394         * hooks.c: Moved to...
31395         * hooks.cc: ...here.
31396         * host-default.c: Moved to...
31397         * host-default.cc: ...here.
31398         * hw-doloop.c: Moved to...
31399         * hw-doloop.cc: ...here.
31400         * hwint.c: Moved to...
31401         * hwint.cc: ...here.
31402         * ifcvt.c: Moved to...
31403         * ifcvt.cc: ...here.
31404         * inchash.c: Moved to...
31405         * inchash.cc: ...here.
31406         * incpath.c: Moved to...
31407         * incpath.cc: ...here.
31408         * init-regs.c: Moved to...
31409         * init-regs.cc: ...here.
31410         * input.c: Moved to...
31411         * input.cc: ...here.
31412         * internal-fn.c: Moved to...
31413         * internal-fn.cc: ...here.
31414         * intl.c: Moved to...
31415         * intl.cc: ...here.
31416         * ipa-comdats.c: Moved to...
31417         * ipa-comdats.cc: ...here.
31418         * ipa-cp.c: Moved to...
31419         * ipa-cp.cc: ...here.
31420         * ipa-devirt.c: Moved to...
31421         * ipa-devirt.cc: ...here.
31422         * ipa-fnsummary.c: Moved to...
31423         * ipa-fnsummary.cc: ...here.
31424         * ipa-icf-gimple.c: Moved to...
31425         * ipa-icf-gimple.cc: ...here.
31426         * ipa-icf.c: Moved to...
31427         * ipa-icf.cc: ...here.
31428         * ipa-inline-analysis.c: Moved to...
31429         * ipa-inline-analysis.cc: ...here.
31430         * ipa-inline-transform.c: Moved to...
31431         * ipa-inline-transform.cc: ...here.
31432         * ipa-inline.c: Moved to...
31433         * ipa-inline.cc: ...here.
31434         * ipa-modref-tree.c: Moved to...
31435         * ipa-modref-tree.cc: ...here.
31436         * ipa-modref.c: Moved to...
31437         * ipa-modref.cc: ...here.
31438         * ipa-param-manipulation.c: Moved to...
31439         * ipa-param-manipulation.cc: ...here.
31440         * ipa-polymorphic-call.c: Moved to...
31441         * ipa-polymorphic-call.cc: ...here.
31442         * ipa-predicate.c: Moved to...
31443         * ipa-predicate.cc: ...here.
31444         * ipa-profile.c: Moved to...
31445         * ipa-profile.cc: ...here.
31446         * ipa-prop.c: Moved to...
31447         * ipa-prop.cc: ...here.
31448         * ipa-pure-const.c: Moved to...
31449         * ipa-pure-const.cc: ...here.
31450         * ipa-ref.c: Moved to...
31451         * ipa-ref.cc: ...here.
31452         * ipa-reference.c: Moved to...
31453         * ipa-reference.cc: ...here.
31454         * ipa-split.c: Moved to...
31455         * ipa-split.cc: ...here.
31456         * ipa-sra.c: Moved to...
31457         * ipa-sra.cc: ...here.
31458         * ipa-utils.c: Moved to...
31459         * ipa-utils.cc: ...here.
31460         * ipa-visibility.c: Moved to...
31461         * ipa-visibility.cc: ...here.
31462         * ipa.c: Moved to...
31463         * ipa.cc: ...here.
31464         * ira-build.c: Moved to...
31465         * ira-build.cc: ...here.
31466         * ira-color.c: Moved to...
31467         * ira-color.cc: ...here.
31468         * ira-conflicts.c: Moved to...
31469         * ira-conflicts.cc: ...here.
31470         * ira-costs.c: Moved to...
31471         * ira-costs.cc: ...here.
31472         * ira-emit.c: Moved to...
31473         * ira-emit.cc: ...here.
31474         * ira-lives.c: Moved to...
31475         * ira-lives.cc: ...here.
31476         * ira.c: Moved to...
31477         * ira.cc: ...here.
31478         * jump.c: Moved to...
31479         * jump.cc: ...here.
31480         * langhooks.c: Moved to...
31481         * langhooks.cc: ...here.
31482         * lcm.c: Moved to...
31483         * lcm.cc: ...here.
31484         * lists.c: Moved to...
31485         * lists.cc: ...here.
31486         * loop-doloop.c: Moved to...
31487         * loop-doloop.cc: ...here.
31488         * loop-init.c: Moved to...
31489         * loop-init.cc: ...here.
31490         * loop-invariant.c: Moved to...
31491         * loop-invariant.cc: ...here.
31492         * loop-iv.c: Moved to...
31493         * loop-iv.cc: ...here.
31494         * loop-unroll.c: Moved to...
31495         * loop-unroll.cc: ...here.
31496         * lower-subreg.c: Moved to...
31497         * lower-subreg.cc: ...here.
31498         * lra-assigns.c: Moved to...
31499         * lra-assigns.cc: ...here.
31500         * lra-coalesce.c: Moved to...
31501         * lra-coalesce.cc: ...here.
31502         * lra-constraints.c: Moved to...
31503         * lra-constraints.cc: ...here.
31504         * lra-eliminations.c: Moved to...
31505         * lra-eliminations.cc: ...here.
31506         * lra-lives.c: Moved to...
31507         * lra-lives.cc: ...here.
31508         * lra-remat.c: Moved to...
31509         * lra-remat.cc: ...here.
31510         * lra-spills.c: Moved to...
31511         * lra-spills.cc: ...here.
31512         * lra.c: Moved to...
31513         * lra.cc: ...here.
31514         * lto-cgraph.c: Moved to...
31515         * lto-cgraph.cc: ...here.
31516         * lto-compress.c: Moved to...
31517         * lto-compress.cc: ...here.
31518         * lto-opts.c: Moved to...
31519         * lto-opts.cc: ...here.
31520         * lto-section-in.c: Moved to...
31521         * lto-section-in.cc: ...here.
31522         * lto-section-out.c: Moved to...
31523         * lto-section-out.cc: ...here.
31524         * lto-streamer-in.c: Moved to...
31525         * lto-streamer-in.cc: ...here.
31526         * lto-streamer-out.c: Moved to...
31527         * lto-streamer-out.cc: ...here.
31528         * lto-streamer.c: Moved to...
31529         * lto-streamer.cc: ...here.
31530         * lto-wrapper.c: Moved to...
31531         * lto-wrapper.cc: ...here.
31532         * main.c: Moved to...
31533         * main.cc: ...here.
31534         * mcf.c: Moved to...
31535         * mcf.cc: ...here.
31536         * mode-switching.c: Moved to...
31537         * mode-switching.cc: ...here.
31538         * modulo-sched.c: Moved to...
31539         * modulo-sched.cc: ...here.
31540         * multiple_target.c: Moved to...
31541         * multiple_target.cc: ...here.
31542         * omp-expand.c: Moved to...
31543         * omp-expand.cc: ...here.
31544         * omp-general.c: Moved to...
31545         * omp-general.cc: ...here.
31546         * omp-low.c: Moved to...
31547         * omp-low.cc: ...here.
31548         * omp-offload.c: Moved to...
31549         * omp-offload.cc: ...here.
31550         * omp-simd-clone.c: Moved to...
31551         * omp-simd-clone.cc: ...here.
31552         * opt-suggestions.c: Moved to...
31553         * opt-suggestions.cc: ...here.
31554         * optabs-libfuncs.c: Moved to...
31555         * optabs-libfuncs.cc: ...here.
31556         * optabs-query.c: Moved to...
31557         * optabs-query.cc: ...here.
31558         * optabs-tree.c: Moved to...
31559         * optabs-tree.cc: ...here.
31560         * optabs.c: Moved to...
31561         * optabs.cc: ...here.
31562         * opts-common.c: Moved to...
31563         * opts-common.cc: ...here.
31564         * opts-global.c: Moved to...
31565         * opts-global.cc: ...here.
31566         * opts.c: Moved to...
31567         * opts.cc: ...here.
31568         * passes.c: Moved to...
31569         * passes.cc: ...here.
31570         * plugin.c: Moved to...
31571         * plugin.cc: ...here.
31572         * postreload-gcse.c: Moved to...
31573         * postreload-gcse.cc: ...here.
31574         * postreload.c: Moved to...
31575         * postreload.cc: ...here.
31576         * predict.c: Moved to...
31577         * predict.cc: ...here.
31578         * prefix.c: Moved to...
31579         * prefix.cc: ...here.
31580         * pretty-print.c: Moved to...
31581         * pretty-print.cc: ...here.
31582         * print-rtl-function.c: Moved to...
31583         * print-rtl-function.cc: ...here.
31584         * print-rtl.c: Moved to...
31585         * print-rtl.cc: ...here.
31586         * print-tree.c: Moved to...
31587         * print-tree.cc: ...here.
31588         * profile-count.c: Moved to...
31589         * profile-count.cc: ...here.
31590         * profile.c: Moved to...
31591         * profile.cc: ...here.
31592         * read-md.c: Moved to...
31593         * read-md.cc: ...here.
31594         * read-rtl-function.c: Moved to...
31595         * read-rtl-function.cc: ...here.
31596         * read-rtl.c: Moved to...
31597         * read-rtl.cc: ...here.
31598         * real.c: Moved to...
31599         * real.cc: ...here.
31600         * realmpfr.c: Moved to...
31601         * realmpfr.cc: ...here.
31602         * recog.c: Moved to...
31603         * recog.cc: ...here.
31604         * ree.c: Moved to...
31605         * ree.cc: ...here.
31606         * reg-stack.c: Moved to...
31607         * reg-stack.cc: ...here.
31608         * regcprop.c: Moved to...
31609         * regcprop.cc: ...here.
31610         * reginfo.c: Moved to...
31611         * reginfo.cc: ...here.
31612         * regrename.c: Moved to...
31613         * regrename.cc: ...here.
31614         * regstat.c: Moved to...
31615         * regstat.cc: ...here.
31616         * reload.c: Moved to...
31617         * reload.cc: ...here.
31618         * reload1.c: Moved to...
31619         * reload1.cc: ...here.
31620         * reorg.c: Moved to...
31621         * reorg.cc: ...here.
31622         * resource.c: Moved to...
31623         * resource.cc: ...here.
31624         * rtl-error.c: Moved to...
31625         * rtl-error.cc: ...here.
31626         * rtl-tests.c: Moved to...
31627         * rtl-tests.cc: ...here.
31628         * rtl.c: Moved to...
31629         * rtl.cc: ...here.
31630         * rtlanal.c: Moved to...
31631         * rtlanal.cc: ...here.
31632         * rtlhash.c: Moved to...
31633         * rtlhash.cc: ...here.
31634         * rtlhooks.c: Moved to...
31635         * rtlhooks.cc: ...here.
31636         * rtx-vector-builder.c: Moved to...
31637         * rtx-vector-builder.cc: ...here.
31638         * run-rtl-passes.c: Moved to...
31639         * run-rtl-passes.cc: ...here.
31640         * sancov.c: Moved to...
31641         * sancov.cc: ...here.
31642         * sanopt.c: Moved to...
31643         * sanopt.cc: ...here.
31644         * sbitmap.c: Moved to...
31645         * sbitmap.cc: ...here.
31646         * sched-deps.c: Moved to...
31647         * sched-deps.cc: ...here.
31648         * sched-ebb.c: Moved to...
31649         * sched-ebb.cc: ...here.
31650         * sched-rgn.c: Moved to...
31651         * sched-rgn.cc: ...here.
31652         * sel-sched-dump.c: Moved to...
31653         * sel-sched-dump.cc: ...here.
31654         * sel-sched-ir.c: Moved to...
31655         * sel-sched-ir.cc: ...here.
31656         * sel-sched.c: Moved to...
31657         * sel-sched.cc: ...here.
31658         * selftest-diagnostic.c: Moved to...
31659         * selftest-diagnostic.cc: ...here.
31660         * selftest-rtl.c: Moved to...
31661         * selftest-rtl.cc: ...here.
31662         * selftest-run-tests.c: Moved to...
31663         * selftest-run-tests.cc: ...here.
31664         * selftest.c: Moved to...
31665         * selftest.cc: ...here.
31666         * sese.c: Moved to...
31667         * sese.cc: ...here.
31668         * shrink-wrap.c: Moved to...
31669         * shrink-wrap.cc: ...here.
31670         * simplify-rtx.c: Moved to...
31671         * simplify-rtx.cc: ...here.
31672         * sparseset.c: Moved to...
31673         * sparseset.cc: ...here.
31674         * spellcheck-tree.c: Moved to...
31675         * spellcheck-tree.cc: ...here.
31676         * spellcheck.c: Moved to...
31677         * spellcheck.cc: ...here.
31678         * sreal.c: Moved to...
31679         * sreal.cc: ...here.
31680         * stack-ptr-mod.c: Moved to...
31681         * stack-ptr-mod.cc: ...here.
31682         * statistics.c: Moved to...
31683         * statistics.cc: ...here.
31684         * stmt.c: Moved to...
31685         * stmt.cc: ...here.
31686         * stor-layout.c: Moved to...
31687         * stor-layout.cc: ...here.
31688         * store-motion.c: Moved to...
31689         * store-motion.cc: ...here.
31690         * streamer-hooks.c: Moved to...
31691         * streamer-hooks.cc: ...here.
31692         * stringpool.c: Moved to...
31693         * stringpool.cc: ...here.
31694         * substring-locations.c: Moved to...
31695         * substring-locations.cc: ...here.
31696         * symtab.c: Moved to...
31697         * symtab.cc: ...here.
31698         * target-globals.c: Moved to...
31699         * target-globals.cc: ...here.
31700         * targhooks.c: Moved to...
31701         * targhooks.cc: ...here.
31702         * timevar.c: Moved to...
31703         * timevar.cc: ...here.
31704         * toplev.c: Moved to...
31705         * toplev.cc: ...here.
31706         * tracer.c: Moved to...
31707         * tracer.cc: ...here.
31708         * trans-mem.c: Moved to...
31709         * trans-mem.cc: ...here.
31710         * tree-affine.c: Moved to...
31711         * tree-affine.cc: ...here.
31712         * tree-call-cdce.c: Moved to...
31713         * tree-call-cdce.cc: ...here.
31714         * tree-cfg.c: Moved to...
31715         * tree-cfg.cc: ...here.
31716         * tree-cfgcleanup.c: Moved to...
31717         * tree-cfgcleanup.cc: ...here.
31718         * tree-chrec.c: Moved to...
31719         * tree-chrec.cc: ...here.
31720         * tree-complex.c: Moved to...
31721         * tree-complex.cc: ...here.
31722         * tree-data-ref.c: Moved to...
31723         * tree-data-ref.cc: ...here.
31724         * tree-dfa.c: Moved to...
31725         * tree-dfa.cc: ...here.
31726         * tree-diagnostic.c: Moved to...
31727         * tree-diagnostic.cc: ...here.
31728         * tree-dump.c: Moved to...
31729         * tree-dump.cc: ...here.
31730         * tree-eh.c: Moved to...
31731         * tree-eh.cc: ...here.
31732         * tree-emutls.c: Moved to...
31733         * tree-emutls.cc: ...here.
31734         * tree-if-conv.c: Moved to...
31735         * tree-if-conv.cc: ...here.
31736         * tree-inline.c: Moved to...
31737         * tree-inline.cc: ...here.
31738         * tree-into-ssa.c: Moved to...
31739         * tree-into-ssa.cc: ...here.
31740         * tree-iterator.c: Moved to...
31741         * tree-iterator.cc: ...here.
31742         * tree-loop-distribution.c: Moved to...
31743         * tree-loop-distribution.cc: ...here.
31744         * tree-nested.c: Moved to...
31745         * tree-nested.cc: ...here.
31746         * tree-nrv.c: Moved to...
31747         * tree-nrv.cc: ...here.
31748         * tree-object-size.c: Moved to...
31749         * tree-object-size.cc: ...here.
31750         * tree-outof-ssa.c: Moved to...
31751         * tree-outof-ssa.cc: ...here.
31752         * tree-parloops.c: Moved to...
31753         * tree-parloops.cc: ...here.
31754         * tree-phinodes.c: Moved to...
31755         * tree-phinodes.cc: ...here.
31756         * tree-predcom.c: Moved to...
31757         * tree-predcom.cc: ...here.
31758         * tree-pretty-print.c: Moved to...
31759         * tree-pretty-print.cc: ...here.
31760         * tree-profile.c: Moved to...
31761         * tree-profile.cc: ...here.
31762         * tree-scalar-evolution.c: Moved to...
31763         * tree-scalar-evolution.cc: ...here.
31764         * tree-sra.c: Moved to...
31765         * tree-sra.cc: ...here.
31766         * tree-ssa-address.c: Moved to...
31767         * tree-ssa-address.cc: ...here.
31768         * tree-ssa-alias.c: Moved to...
31769         * tree-ssa-alias.cc: ...here.
31770         * tree-ssa-ccp.c: Moved to...
31771         * tree-ssa-ccp.cc: ...here.
31772         * tree-ssa-coalesce.c: Moved to...
31773         * tree-ssa-coalesce.cc: ...here.
31774         * tree-ssa-copy.c: Moved to...
31775         * tree-ssa-copy.cc: ...here.
31776         * tree-ssa-dce.c: Moved to...
31777         * tree-ssa-dce.cc: ...here.
31778         * tree-ssa-dom.c: Moved to...
31779         * tree-ssa-dom.cc: ...here.
31780         * tree-ssa-dse.c: Moved to...
31781         * tree-ssa-dse.cc: ...here.
31782         * tree-ssa-forwprop.c: Moved to...
31783         * tree-ssa-forwprop.cc: ...here.
31784         * tree-ssa-ifcombine.c: Moved to...
31785         * tree-ssa-ifcombine.cc: ...here.
31786         * tree-ssa-live.c: Moved to...
31787         * tree-ssa-live.cc: ...here.
31788         * tree-ssa-loop-ch.c: Moved to...
31789         * tree-ssa-loop-ch.cc: ...here.
31790         * tree-ssa-loop-im.c: Moved to...
31791         * tree-ssa-loop-im.cc: ...here.
31792         * tree-ssa-loop-ivcanon.c: Moved to...
31793         * tree-ssa-loop-ivcanon.cc: ...here.
31794         * tree-ssa-loop-ivopts.c: Moved to...
31795         * tree-ssa-loop-ivopts.cc: ...here.
31796         * tree-ssa-loop-manip.c: Moved to...
31797         * tree-ssa-loop-manip.cc: ...here.
31798         * tree-ssa-loop-niter.c: Moved to...
31799         * tree-ssa-loop-niter.cc: ...here.
31800         * tree-ssa-loop-prefetch.c: Moved to...
31801         * tree-ssa-loop-prefetch.cc: ...here.
31802         * tree-ssa-loop-split.c: Moved to...
31803         * tree-ssa-loop-split.cc: ...here.
31804         * tree-ssa-loop-unswitch.c: Moved to...
31805         * tree-ssa-loop-unswitch.cc: ...here.
31806         * tree-ssa-loop.c: Moved to...
31807         * tree-ssa-loop.cc: ...here.
31808         * tree-ssa-math-opts.c: Moved to...
31809         * tree-ssa-math-opts.cc: ...here.
31810         * tree-ssa-operands.c: Moved to...
31811         * tree-ssa-operands.cc: ...here.
31812         * tree-ssa-phiopt.c: Moved to...
31813         * tree-ssa-phiopt.cc: ...here.
31814         * tree-ssa-phiprop.c: Moved to...
31815         * tree-ssa-phiprop.cc: ...here.
31816         * tree-ssa-pre.c: Moved to...
31817         * tree-ssa-pre.cc: ...here.
31818         * tree-ssa-propagate.c: Moved to...
31819         * tree-ssa-propagate.cc: ...here.
31820         * tree-ssa-reassoc.c: Moved to...
31821         * tree-ssa-reassoc.cc: ...here.
31822         * tree-ssa-sccvn.c: Moved to...
31823         * tree-ssa-sccvn.cc: ...here.
31824         * tree-ssa-scopedtables.c: Moved to...
31825         * tree-ssa-scopedtables.cc: ...here.
31826         * tree-ssa-sink.c: Moved to...
31827         * tree-ssa-sink.cc: ...here.
31828         * tree-ssa-strlen.c: Moved to...
31829         * tree-ssa-strlen.cc: ...here.
31830         * tree-ssa-structalias.c: Moved to...
31831         * tree-ssa-structalias.cc: ...here.
31832         * tree-ssa-tail-merge.c: Moved to...
31833         * tree-ssa-tail-merge.cc: ...here.
31834         * tree-ssa-ter.c: Moved to...
31835         * tree-ssa-ter.cc: ...here.
31836         * tree-ssa-threadbackward.c: Moved to...
31837         * tree-ssa-threadbackward.cc: ...here.
31838         * tree-ssa-threadedge.c: Moved to...
31839         * tree-ssa-threadedge.cc: ...here.
31840         * tree-ssa-threadupdate.c: Moved to...
31841         * tree-ssa-threadupdate.cc: ...here.
31842         * tree-ssa-uncprop.c: Moved to...
31843         * tree-ssa-uncprop.cc: ...here.
31844         * tree-ssa-uninit.c: Moved to...
31845         * tree-ssa-uninit.cc: ...here.
31846         * tree-ssa.c: Moved to...
31847         * tree-ssa.cc: ...here.
31848         * tree-ssanames.c: Moved to...
31849         * tree-ssanames.cc: ...here.
31850         * tree-stdarg.c: Moved to...
31851         * tree-stdarg.cc: ...here.
31852         * tree-streamer-in.c: Moved to...
31853         * tree-streamer-in.cc: ...here.
31854         * tree-streamer-out.c: Moved to...
31855         * tree-streamer-out.cc: ...here.
31856         * tree-streamer.c: Moved to...
31857         * tree-streamer.cc: ...here.
31858         * tree-switch-conversion.c: Moved to...
31859         * tree-switch-conversion.cc: ...here.
31860         * tree-tailcall.c: Moved to...
31861         * tree-tailcall.cc: ...here.
31862         * tree-vect-data-refs.c: Moved to...
31863         * tree-vect-data-refs.cc: ...here.
31864         * tree-vect-generic.c: Moved to...
31865         * tree-vect-generic.cc: ...here.
31866         * tree-vect-loop-manip.c: Moved to...
31867         * tree-vect-loop-manip.cc: ...here.
31868         * tree-vect-loop.c: Moved to...
31869         * tree-vect-loop.cc: ...here.
31870         * tree-vect-patterns.c: Moved to...
31871         * tree-vect-patterns.cc: ...here.
31872         * tree-vect-slp-patterns.c: Moved to...
31873         * tree-vect-slp-patterns.cc: ...here.
31874         * tree-vect-slp.c: Moved to...
31875         * tree-vect-slp.cc: ...here.
31876         * tree-vect-stmts.c: Moved to...
31877         * tree-vect-stmts.cc: ...here.
31878         * tree-vector-builder.c: Moved to...
31879         * tree-vector-builder.cc: ...here.
31880         * tree-vectorizer.c: Moved to...
31881         * tree-vectorizer.cc: ...here.
31882         * tree-vrp.c: Moved to...
31883         * tree-vrp.cc: ...here.
31884         * tree.c: Moved to...
31885         * tree.cc: ...here.
31886         * tsan.c: Moved to...
31887         * tsan.cc: ...here.
31888         * typed-splay-tree.c: Moved to...
31889         * typed-splay-tree.cc: ...here.
31890         * ubsan.c: Moved to...
31891         * ubsan.cc: ...here.
31892         * valtrack.c: Moved to...
31893         * valtrack.cc: ...here.
31894         * value-prof.c: Moved to...
31895         * value-prof.cc: ...here.
31896         * var-tracking.c: Moved to...
31897         * var-tracking.cc: ...here.
31898         * varasm.c: Moved to...
31899         * varasm.cc: ...here.
31900         * varpool.c: Moved to...
31901         * varpool.cc: ...here.
31902         * vec-perm-indices.c: Moved to...
31903         * vec-perm-indices.cc: ...here.
31904         * vec.c: Moved to...
31905         * vec.cc: ...here.
31906         * vmsdbgout.c: Moved to...
31907         * vmsdbgout.cc: ...here.
31908         * vr-values.c: Moved to...
31909         * vr-values.cc: ...here.
31910         * vtable-verify.c: Moved to...
31911         * vtable-verify.cc: ...here.
31912         * web.c: Moved to...
31913         * web.cc: ...here.
31914         * xcoffout.c: Moved to...
31915         * xcoffout.cc: ...here.
31917 2022-01-17  qing zhao  <qing.zhao@oracle.com>
31919         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
31920         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
31921         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
31922         specially.
31923         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
31924         (warn_uninitialized_vars): Likewise.
31925         (warn_uninitialized_phi): Likewise.
31927 2022-01-17  Jason Merrill  <jason@redhat.com>
31929         * diagnostic.h (struct diagnostic_context): Add includes_seen.
31930         * diagnostic.c (diagnostic_initialize): Initialize it.
31931         (diagnostic_finish): Clean it up.
31932         (includes_seen): New function.
31933         (diagnostic_report_current_module): Use it.
31935 2022-01-17  Richard Biener  <rguenther@suse.de>
31937         PR middle-end/101292
31938         * diagnostic-spec.c (copy_warning): Make sure to not
31939         reference old hashtable content on possible resize.
31940         * warning-control.cc (copy_warning): Likewise.
31942 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
31944         PR target/103973
31945         * tree-cfg.h (cond_only_block_p): Declare.
31946         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
31947         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
31948         * optabs.def (spaceship_optab): New optab.
31949         * internal-fn.def (SPACESHIP): New internal function.
31950         * internal-fn.h (expand_SPACESHIP): Declare.
31951         * internal-fn.c (expand_PHI): Formatting fix.
31952         (expand_SPACESHIP): New function.
31953         * tree-ssa-math-opts.c (optimize_spaceship): New function.
31954         (math_opts_dom_walker::after_dom_children): Use it.
31955         * config/i386/i386.md (spaceship<mode>3): New define_expand.
31956         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
31957         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
31958         * doc/md.texi (spaceship@var{m}3): Document.
31960 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
31962         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
31963         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
31964         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
31965         known constant values to simplify code.
31967 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
31969         PR target/103124
31970         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
31972 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
31974         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
31975         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
31976         Insert zero-idiom in output template when attr enabled, set new attribute to
31977         true for non-mask/maskz insn.
31978         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
31979         Likewise.
31980         (avx512dq_mul<mode>3<mask_name>): Likewise.
31981         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
31982         (avx2_perm<mode>_1<mask_name>): Likewise.
31983         (avx512f_perm<mode>_1<mask_name>): Likewise.
31984         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
31985         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
31986         Likewise.
31987         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
31988         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
31989         Likewise.
31990         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
31991         subst_attr.
31992         (mask4_dest_false_dep_for_glc_cond): Likewise.
31993         (mask6_dest_false_dep_for_glc_cond): Likewise.
31994         (mask10_dest_false_dep_for_glc_cond): Likewise.
31995         (maskc_dest_false_dep_for_glc_cond): Likewise.
31996         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
31997         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
31998         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
31999         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
32001 2022-01-15  Martin Sebor  <msebor@redhat.com>
32003         PR c/63272
32004         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
32005         -Wdangling-pointer.
32006         * doc/invoke.texi (-Wdangling-pointer): Document new option.
32007         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
32008         (pass_waccess::check_pointer_uses): New function.
32009         (pass_waccess::gimple_call_return_arg): New function.
32010         (pass_waccess::gimple_call_return_arg_ref): New function.
32011         (pass_waccess::check_call_dangling): New function.
32012         (pass_waccess::check_dangling_uses): New function overloads.
32013         (pass_waccess::check_dangling_stores): New function.
32014         (pass_waccess::check_dangling_stores): New function.
32015         (pass_waccess::m_clobbers): New data member.
32016         (pass_waccess::m_func): New data member.
32017         (pass_waccess::m_run_number): New data member.
32018         (pass_waccess::m_check_dangling_p): New data member.
32019         (pass_waccess::check_alloca): Check m_early_checks_p.
32020         (pass_waccess::check_alloc_size_call): Same.
32021         (pass_waccess::check_strcat): Same.
32022         (pass_waccess::check_strncat): Same.
32023         (pass_waccess::check_stxcpy): Same.
32024         (pass_waccess::check_stxncpy): Same.
32025         (pass_waccess::check_strncmp): Same.
32026         (pass_waccess::check_memop_access): Same.
32027         (pass_waccess::check_read_access): Same.
32028         (pass_waccess::check_builtin): Call check_pointer_uses.
32029         (pass_waccess::warn_invalid_pointer): Add arguments.
32030         (is_auto_decl): New function.
32031         (pass_waccess::check_stmt): New function.
32032         (pass_waccess::check_block): Call check_stmt.
32033         (pass_waccess::execute): Call check_dangling_uses,
32034         check_dangling_stores.  Empty m_clobbers.
32035         * passes.def (pass_warn_access): Invoke pass two more times.
32037 2022-01-15  Martin Sebor  <msebor@redhat.com>
32039         PR tree-optimization/80532
32040         * common.opt (-Wuse-after-free): New options.
32041         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
32042         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
32043         * diagnostic-spec.h (NW_DANGLING): New enumerator.
32044         * doc/invoke.texi (-Wuse-after-free): Document new option.
32045         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
32046         (pass_waccess::check_call_access): ...to this.
32047         (pass_waccess::check): Rename...
32048         (pass_waccess::check_block): ...to this.
32049         (pass_waccess::check_pointer_uses): New function.
32050         (pass_waccess::gimple_call_return_arg): New function.
32051         (pass_waccess::warn_invalid_pointer): New function.
32052         (pass_waccess::check_builtin): Handle free and realloc.
32053         (gimple_use_after_inval_p): New function.
32054         (get_realloc_lhs): New function.
32055         (maybe_warn_mismatched_realloc): New function.
32056         (pointers_related_p): New function.
32057         (pass_waccess::check_call): Call check_pointer_uses.
32058         (pass_waccess::execute): Compute and free dominance info.
32060 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
32062         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
32063         expand_simple_unop and expand_simple_binop instead of manually
32064         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
32065         consistently.  Eliminate common subexpressions and simplify code.
32066         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
32067         (<any_logic:code><MODEF:mode>3): Make public.
32069 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
32071         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
32072         reverse flag as "reverse" for the sake of consistency.
32073         * ipa-sra.c: Fix copyright year.
32074         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
32075         (dump_isra_access): Tweak dump line.
32076         (isra_write_node_summary): Write the reverse flag.
32077         (isra_read_node_info): Read it.
32078         (pull_accesses_from_callee): Test its consistency and copy it.
32080 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
32082         PR middle-end/104026
32083         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
32084         partial_load_store_bias.
32086 2022-01-14  Martin Sebor  <msebor@redhat.com>
32088         PR middle-end/101475
32089         * pointer-query.cc (handle_component_ref): Use the size of
32090         the enclosing object if it's smaller than the member.
32092 2022-01-14  Martin Liska  <mliska@suse.cz>
32094         * configure: Regenerate.
32096 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
32098         * config/i386/i386.md (*add<mode>_1_slp"):
32099         Mark alternative 1 output operand earlyclobbered.
32100         (*sub<mode>_1_slp): Ditto.
32101         (*and<mode>_1_slp): Ditto.
32102         (*<code><mode>_1_slp): Ditto.
32103         (*neg<mode>_1_slp): Ditto.
32104         (*one_cmpl<mode>_1_slp): Ditto.
32105         (*ashl<mode>3_1_slp): Ditto.
32106         (*<insn><mode>3_1_slp): Ditto.
32107         (*<insn><mode>3_1_slp): Ditto.
32109 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
32111         PR tree-optimization/104015
32112         * tree-vect-loop.c (vect_analyze_loop): Check
32113         param_vect_partial_vector_usage for supports_partial_vectors.
32115 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
32117         PR c++/89074
32118         * fold-const.c (address_compare): Punt on comparison of address of
32119         one object with address of end of another object if
32120         folding_initializer.
32122 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
32124         PR target/98737
32125         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
32126         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
32127         and __atomic_op_fetch (p, x, y) iop x into
32128         __atomic_fetch_op (p, x, y).
32130 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
32132         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
32133         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
32134         (INCOMING_RETURN_ADDR_RTX): Likewise.
32135         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
32137 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
32139         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
32140         computin checking accumulator regs.
32141         (arc_expand_prologue): Update comments.
32142         (arc_expand_epilogue): Likewise.
32144 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
32145             Uroš Bizjak  <ubizjak@gmail.com>
32147         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
32148         (ix86_expand_ti_to_v1ti): Use force_reg.
32149         (ix86_expand_v1ti_shift): Use force_reg.
32150         (ix86_expand_v1ti_rotate): Use force_reg.
32151         (ix86_expand_v1ti_ashiftrt): Provide new three operation
32152         implementations for shifts by 111..126 bits.  Use force_reg.
32154 2022-01-14  Martin Liska  <mliska@suse.cz>
32156         * common/config/arm/arm-common.c (arm_target_mode): Fix
32157         warning: unterminated quoting directive [-Wformat=].
32159 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
32161         PR tree-optimization/104009
32162         * tree-object-size.c (compute_builtin_object_size): Bail out on
32163         negative offset.
32164         (plus_stmt_object_size): Return maximum of wholesize and minimum
32165         of 0 for negative offset.
32167 2022-01-14  liuhongt  <hongtao.liu@intel.com>
32169         PR target/104001
32170         PR target/94790
32171         PR target/104014
32172         * config/i386/i386.md (*xor2andn): Refine predicate of
32173         operands[0] from nonimmediate_operand to
32174         register_operand, remove TARGET_AVX512BW from condition.
32176 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
32178         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
32179         be used on field decls.
32180         (Common Function Attributes): Add entry on "tainted_args" attribute.
32182 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
32183             Jason Merrill  <jason@redhat.com>
32185         PR c++/70417
32186         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
32188 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
32190         PR target/103861
32191         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
32192         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
32193         * config/i386/mmx.md (<any_shift:insn>v2qi):
32194         New insn_and_split pattern.
32196 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
32198         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
32199         (expand_partial_store_optab_fn): Likewise.
32200         (internal_len_load_store_bias): New function.
32201         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
32202         (internal_len_load_store_bias): New function.
32203         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
32204         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
32205         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
32206         (vect_estimate_min_profitable_iters): Account for bias.
32207         (vect_get_loop_len): Add bias-adjusted length.
32208         * tree-vect-stmts.c (vectorizable_store): Use.
32209         (vectorizable_load): Use.
32210         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
32211         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
32212         * config/rs6000/vsx.md: Use const0 bias predicate.
32213         * doc/md.texi: Document bias value.
32215 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
32217         PR tree-optimization/83072
32218         PR tree-optimization/83073
32219         PR tree-optimization/97909
32220         * fold-const.c (expr_not_equal_to): Use a multi-range class.
32222 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
32224         PR tree-optimization/96707
32225         * range-op.cc (operator_rshift::lhs_op1_relation): New.
32227 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
32229         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
32230         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
32231         (negv2qi splitters): Use lowpart_subreg instead of
32232         gen_lowpart to create subreg.
32233         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
32234         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
32235         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
32236         gen_lowpart to create subreg.
32237         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
32239 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
32241         PR target/104003
32242         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
32244 2022-01-13  Martin Liska  <mliska@suse.cz>
32246         * common/config/arm/arm-common.c (arm_target_mode): Wrap
32247         keywords with %<, %> and remove trailing punctuation char.
32248         (arm_canon_arch_option_1): Likewise.
32249         (arm_asm_auto_mfpu): Likewise.
32250         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
32251         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
32252         (use_vfp_abi): Likewise.
32253         (aapcs_vfp_is_call_or_return_candidate): Likewise.
32254         (arm_handle_cmse_nonsecure_entry): Likewise.
32255         (arm_handle_cmse_nonsecure_call): Likewise.
32256         (thumb1_md_asm_adjust): Likewise.
32258 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
32260         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
32261         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
32262         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
32263         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
32264         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
32265         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
32266         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
32267         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
32268         macro.
32270 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
32272         PR tree-optimization/103989
32273         * tree-inline.c (setup_one_parameter): Don't copy parms with
32274         empty type.
32276 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
32278         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
32279         'TYPE_ADDR_SPACE' for offloading.
32280         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
32281         'TYPE_ADDR_SPACE' for offloading.
32283 2022-01-13  Julian Brown  <julian@codesourcery.com>
32284             Thomas Schwinge  <thomas@codesourcery.com>
32286         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
32287         of...
32288         (add_async_clauses_and_wait): ...here. Call new outlined function.
32289         (decompose_kernels_region_body): Add wait at the end of
32290         explicitly-asynchronous kernels regions.
32292 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
32294         PR middle-end/100280
32295         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
32296         Mark variables used in synthesized data clauses as addressable.
32298 2022-01-13  Martin Liska  <mliska@suse.cz>
32300         * config/epiphany/epiphany.c (epiphany_mode_priority):
32301         Use gcc_unreachable for not handled cases.
32303 2022-01-13  Martin Liska  <mliska@suse.cz>
32305         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
32306         Use %qs format specifier.
32307         (epiphany_override_options): Wrap keyword in %<, %>.
32309 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
32311         PR target/94790
32312         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
32314 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
32316         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
32318 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
32320         PR target/100637
32321         PR target/103861
32322         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
32323         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
32324         when constructing vector logic RTXes.
32325         (expand_vec_perm_pshufb2): Ditto.
32326         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
32327         (<plusminus:insn>v2qi3): Ditto.
32328         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
32329         (vcondu<mode><mode>): Ditto.
32330         (vcond_mask_<mode><mode>): Ditto.
32331         (one_cmpl<VI_32:mode>2): Remove expander.
32332         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
32333         Use VI_16_32 mode iterator.
32334         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
32335         Use lowpart_subreg instead of gen_lowpart to create subreg.
32336         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
32337         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
32338         Disparage GPR alternative a bit.  Add CC clobber.
32339         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
32340         Use lowpart_subreg instead of gen_lowpart to create subreg.
32341         (*<any_logic:code><VI_16_32:mode>3): Merge from
32342         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
32343         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
32344         Add CC clobber.
32345         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
32346         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
32348 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
32350         * configure.ac: Check sizeof ino_t and dev_t.
32351         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
32352         syscall being able to handle 64bit inodes.
32353         * config.in: Regenerate.
32354         * configure: Regenerate.
32355         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
32356         (remove_duplicates): Use it.
32358 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
32360         PR tree-optimization/103551
32361         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
32363 2022-01-12  Richard Biener  <rguenther@suse.de>
32365         PR tree-optimization/103990
32366         * tree-pass.h (tail_merge_optimize): Drop unused argument.
32367         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
32368         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
32369         and adjust call to tail_merge_optimize.
32371 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
32373         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
32374         does not add autovectorize_vector_modes.
32376 2022-01-12  Martin Liska  <mliska@suse.cz>
32378         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
32379         %qs where possible.
32380         (aarch64_parse_sve_width_string): Likewise.
32381         (aarch64_override_options_internal): Likewise.
32382         (aarch64_print_hint_for_extensions): Likewise.
32383         (aarch64_validate_sls_mitigation): Likewise.
32384         (aarch64_handle_attr_arch): Likewise.
32385         (aarch64_handle_attr_cpu): Likewise.
32386         (aarch64_handle_attr_tune): Likewise.
32387         (aarch64_handle_attr_isa_flags): Likewise.
32389 2022-01-12  Martin Liska  <mliska@suse.cz>
32391         * config.gcc: Include elfos.h before ${tm_file}.
32393 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
32395         * config/cris/cris.c: Quote identifiers in parameters to error
32396         and internal_error, and remove extraneous spaces with punctuation.
32397         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
32398         expression to internal_error, pass it as a parameter instead of
32399         appending it to the format part.
32401 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
32403         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
32404         parameter to as_a.
32406 2022-01-11  qing zhao  <qing.zhao@oracle.com>
32408         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
32409         Change the 3rd argument of function .DEFERRED_INIT to the name of the
32410         decl.
32411         (gimplify_decl_expr): Delete the 3rd argument when call
32412         gimple_add_init_for_auto_var.
32413         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
32414         the 3rd argument change of function .DEFERRED_INIT.
32415         * tree-cfg.c (verify_gimple_call): Update comments and verification
32416         to reflect the 3rd argument change of function .DEFERRED_INIT.
32417         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
32418         (sra_modify_deferred_init): Change the 3rd argument of function
32419         .DEFERRED_INIT to the name of the decl.
32421 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
32423         * flag-types.h (enum gfc_convert): Add flags for
32424         conversion.
32426 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
32428         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
32429         checks for only C/C++ front ends before allowing the long double
32430         format to change without a warning.
32432 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
32434         PR rtl-optimization/103974
32435         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
32436         extra argument, default true, that says whether old-reload
32437         targets should be excluded.
32438         * ira-color.c (color_pass): Pass false.
32440 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
32442         PR target/103861
32443         * config/i386/mmx.md (vcond<mode><mode>):
32444         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
32445         (vcondu<mode><mode>): Ditto.
32446         (vcond_mask_<mode><mode>): Ditto.
32447         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
32448         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
32449         Use VI_16_32 mode iterator.
32450         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
32451         Update for rename.  Handle V2QImode.
32452         (expand_vec_perm_blend): Update for rename.
32454 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
32456         PR c++/101597
32457         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
32459 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
32461         PR middle-end/70090
32462         * tree-object-size.c (size_valid_p): New function.
32463         (size_for_offset): Remove OFFSET constness assertion.
32464         (addr_object_size): Build dynamic expressions for object
32465         sizes and use size_valid_p to decide if it is valid for the
32466         given OBJECT_SIZE_TYPE.
32467         (compute_builtin_object_size): Allow dynamic offsets when
32468         computing size at O0.
32469         (call_object_size): Call size_valid_p.
32470         (plus_stmt_object_size): Allow non-constant offset and use
32471         size_valid_p to decide if it is valid for the given
32472         OBJECT_SIZE_TYPE.
32474 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
32476         PR middle-end/70090
32477         * tree-object-size.c (alloc_object_size): Make and return
32478         non-constant size expression.
32479         (call_object_size): Return expression or unknown based on
32480         whether dynamic object size is requested.
32482 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
32484         PR middle-end/70090
32485         * tree-object-size.c: Include tree-dfa.h.
32486         (parm_object_size): New function.
32487         (collect_object_sizes_for): Call it.
32489 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
32491         PR middle-end/70090
32492         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
32493         expressions.
32494         * tree-object-size.c: Include gimplify-me.h.
32495         (struct object_size_info): New member UNKNOWNS.
32496         (size_initval_p, size_usable_p, object_sizes_get_raw): New
32497         functions.
32498         (object_sizes_get): Return suitable gimple variable for
32499         object size.
32500         (bundle_sizes): New function.
32501         (object_sizes_set): Use it and handle dynamic object size
32502         expressions.
32503         (object_sizes_set_temp): New function.
32504         (size_for_offset): Adjust for dynamic size expressions.
32505         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
32506         New functions.
32507         (compute_builtin_object_size): Call gimplify_size_expressions
32508         for OST_DYNAMIC.
32509         (dynamic_object_size): New function.
32510         (cond_expr_object_size): Use it.
32511         (phi_dynamic_object_size): New function.
32512         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
32513         accommodate dynamic object sizes.
32515 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
32516             Jakub Jelinek  <jakub@redhat.com>
32518         PR tree-optimization/103961
32519         * tree-object-size.c (plus_stmt_object_size): Always avoid
32520         computing offset for -1 size.
32522 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
32524         PR tree-optimization/103821
32525         * range-op.cc (range_operator::fold_range): Only do precise ranges
32526         when there are not too many subranges.
32528 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
32530         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
32531         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
32533 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
32534             Richard Biener  <rguenther@suse.de>
32536         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
32537         highpart_mults_inserted field.
32538         (convert_mult_to_highpart): New function to convert right shift
32539         of a widening multiply into a MULT_HIGHPART_EXPR.
32540         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
32541         Call new convert_mult_to_highpart function.
32542         (pass_optimize_widening_mul::execute): Add a statistics counter
32543         for tracking "highpart multiplications inserted" events.
32545 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
32547         PR target/102239
32548         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
32549         declare.
32550         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
32551         function.
32552         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
32554 2022-01-11  Olivier Hainque  <hainque@adacore.com>
32556         * gcc.c (driver_handle_option): State --sysroot as
32557         validated.
32559 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
32561         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
32562         useless related to option -mno-power10.
32564 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
32566         PR target/53652
32567         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
32568         operands[1] from register_operand to vector_operand.
32570 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
32572         PR target/103861
32573         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
32574         Handle V2QImode.
32575         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
32576         Use VI1_16_32 mode iterator.
32577         (*eq<mode>3): Ditto.
32578         (*gt<mode>3): Ditto.
32579         (*xop_maskcmp<mode>3): Ditto.
32580         (*xop_maskcmp_uns<mode>3): Ditto.
32581         (vec_cmp<mode><mode>): Ditto.
32582         (vec_cmpu<mode><mode>): Ditto.
32584 2022-01-10  Richard Biener  <rguenther@suse.de>
32586         PR tree-optimization/103948
32587         * tree-vect-generic.c (expand_vector_condition): Return true if
32588         all ones vector is returned for true, all zeros vector for false
32589         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
32591 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
32593         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
32594         when _ARCH_PWR10. Use signed types.
32595         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
32596         (_mm_blendv_pd): Likewise.
32598 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
32600         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
32601         epilogue costing.
32602         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
32603         epilogues, unless we are guaranteed that we can't have partial vectors.
32604         * genopinit.c: (partial_vectors_supported): Generate new function.
32606 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
32608         PR target/102024
32609         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
32610         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
32611         always ignore them, when seeing other zero sized bitfields, either
32612         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
32613         it.  Pass it to recursive calls.  Add wrapper
32614         with old arguments and diagnose ABI differences for C structures
32615         with zero width bitfields.  Formatting fixes.
32617 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
32619         PR rtl-optimization/98782
32620         * ira-int.h (ira_soft_conflict): Declare.
32621         * ira-color.c (max_soft_conflict_loop_depth): New constant.
32622         (ira_soft_conflict): New function.
32623         (spill_soft_conflicts): Likewise.
32624         (assign_hard_reg): Use them to handle the case described by
32625         the comment above ira_soft_conflict.
32626         (improve_allocation): Likewise.
32627         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
32628         to share the same register.
32630 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
32632         PR rtl-optimization/98782
32633         * ira-int.h (ira_caller_save_cost): New function.
32634         (ira_caller_save_loop_spill_p): Likewise.
32635         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
32636         cheaper to spill a call-clobbered register throughout a loop rather
32637         than spill it around each individual call.  If so, treat all
32638         call-clobbered registers as conflicts and...
32639         (propagate_allocno_info): ...do not propagate call information
32640         from the child to the parent.
32641         * ira-color.c (move_spill_restore): Update accordingly.
32642         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
32644 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
32646         PR rtl-optimization/98782
32647         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
32648         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
32649         (ira_single_region_allocno_p): New function.
32650         (ira_total_conflict_hard_regs): Likewise.
32651         * ira-build.c (ira_create_allocno): Initialize
32652         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
32653         (ira_propagate_hard_reg_costs): New function.
32654         (propagate_allocno_info): Use it.  Try to avoid propagating
32655         hard register conflicts to parent allocnos if we can handle
32656         the conflicts by spilling instead.  Limit the propagated
32657         register costs to the cost of spilling throughout the child loop.
32658         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
32659         test whether a child and parent allocno can share the same
32660         register.
32661         (move_spill_restore): Adjust for the new behavior of
32662         propagate_allocno_info.
32664 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
32666         PR rtl-optimization/98782
32667         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
32668         extracted from...
32669         * ira-color.c (color_pass): ...here.
32671 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
32673         PR rtl-optimization/98782
32674         * ira-color.c (color_pass): Add comments to describe the spill costs.
32675         (move_spill_restore): Likewise.  Fix reversed calculation.
32677 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
32679         PR rtl-optimization/98782
32680         * ira-int.h (ira_loop_border_costs): New class.
32681         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
32682         New constructor.
32683         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
32684         (color_pass): Likewise.
32685         (move_spill_restore): Likewise.
32687 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
32689         PR target/103465
32690         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
32692 2022-01-10  Richard Biener  <rguenther@suse.de>
32694         PR tree-optimization/100359
32695         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
32696         Allow non-growing peeling with !allow_peel and UL_ALL.
32698 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
32700         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
32701         special case for TImode to V1TImode moves, going via V2DImode.
32703 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
32705         PR c++/89074
32706         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
32707         simplification.
32709 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
32711         * doc/analyzer.texi
32712         (Special Functions for Debugging the Analyzer): Document
32713         __analyzer_dump_escaped.
32715 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
32717         * doc/analyzer.texi (Other Debugging Techniques): Document
32718         region::is_named_decl_p.
32720 2022-01-07  Andrew Pinski  <apinski@marvell.com>
32722         PR target/102941
32723         * config/arm/aarch-common.c (arm_md_asm_adjust):
32724         Use a temp if !REG_P.
32726 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
32728         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
32729         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
32731 2022-01-07  liuhongt  <hongtao.liu@intel.com>
32733         PR rtl-optimization/103750
32734         * fwprop.c (forward_propagate_into): Allow propagations from
32735         inner loop to outer loop.
32737 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
32739         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
32741 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
32743         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
32744         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
32745         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
32747 2022-01-07  liuhongt  <hongtao.liu@intel.com>
32749         * config/i386/sse.md
32750         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
32751         UNSPEC_PCMP_UNSIGNED.
32753 2022-01-07  liuhongt  <hongtao.liu@intel.com>
32755         PR target/103753
32756         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
32757         gen_avx2_pblendph_1 when elt == 0.
32758         * config/i386/sse.md (avx2_pblendph): Rename to ..
32759         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
32760         (*avx2_pblendw): Rename to ..
32761         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
32762         (avx2_pblendw): Rename to ..
32763         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
32764         (blendsuf): Removed.
32765         (sse4_1_pblend<blendsuf>): Renamed to ..
32766         (sse4_1_pblend<ssemodesuffix>): .. this.
32768 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
32770         PR target/103925
32771         * config/i386/i386.c (ix86_output_indirect_function_return):
32772         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
32774 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
32776         PR target/102952
32777         * config/i386/i386-opts.h (harden_sls): Replace
32778         harden_sls_indirect_branch with harden_sls_indirect_jmp.
32779         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
32780         Likewise.
32781         (ix86_output_indirect_jmp): Likewise.
32782         (ix86_output_call_insn): Likewise.
32783         * config/i386/i386.opt: Replace indirect-branch with
32784         indirect-jmp.  Replace harden_sls_indirect_branch with
32785         harden_sls_indirect_jmp.
32786         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
32787         indirect-jmp.
32789 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
32791         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
32792         Add %q modifier for operands in general registers.
32793         <MODE_SI>: Add %q modifier for operands in general registers.
32794         * config/i386/i386.md (*movhi_internal): Change type attribute of
32795         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
32796         to SImode for non-avx512fp16 targets.
32797         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
32798         * config/i386/mmx.md (*movv2qi_internal):
32799         Ditto for xmm-gpr interunit alternatives 8,9.
32801 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
32803         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
32804         vector extensions.
32805         (riscv_ext_version_table): Add version info for vector extensions.
32806         (riscv_ext_flag_table): Add option mask for vector extensions.
32807         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
32808         (MASK_VECTOR_EEW_64): New.
32809         (MASK_VECTOR_EEW_FP_32): New.
32810         (MASK_VECTOR_EEW_FP_64): New.
32811         (MASK_ZVL32B): New.
32812         (MASK_ZVL64B): New.
32813         (MASK_ZVL128B): New.
32814         (MASK_ZVL256B): New.
32815         (MASK_ZVL512B): New.
32816         (MASK_ZVL1024B): New.
32817         (MASK_ZVL2048B): New.
32818         (MASK_ZVL4096B): New.
32819         (MASK_ZVL8192B): New.
32820         (MASK_ZVL16384B): New.
32821         (MASK_ZVL32768B): New.
32822         (MASK_ZVL65536B): New.
32823         (TARGET_ZVL32B): New.
32824         (TARGET_ZVL64B): New.
32825         (TARGET_ZVL128B): New.
32826         (TARGET_ZVL256B): New.
32827         (TARGET_ZVL512B): New.
32828         (TARGET_ZVL1024B): New.
32829         (TARGET_ZVL2048B): New.
32830         (TARGET_ZVL4096B): New.
32831         (TARGET_ZVL8192B): New.
32832         (TARGET_ZVL16384B): New.
32833         (TARGET_ZVL32768B): New.
32834         (TARGET_ZVL65536B): New.
32835         * config/riscv/riscv.opt (Mask(VECTOR)): New.
32836         (riscv_vector_eew_flags): New.
32837         (riscv_zvl_flags): New.
32839 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
32841         * common/config/riscv/riscv-common.c
32842         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
32843         digit.
32845 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
32847         PR tree-optimization/103899
32848         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
32849         warning by moving context variable to the only spot where it is used
32850         and moving gcc_assert into if body.
32852 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
32854         PR rtl-optimization/103908
32855         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
32856         asm goto.
32858 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
32860         PR target/103622
32861         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
32862         Skip over instances with undefined function types.
32864 2022-01-05  Andrew Pinski  <apinski@marvell.com>
32866         PR target/103910
32867         * config/i386/i386.h (x86_mfence): Mark with GTY.
32869 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
32871         PR target/103861
32872         * config/i386/mmx.md (VI_16_32): New mode iterator.
32873         (VI1_16_32): Ditto.
32874         (mmxvecsize): Handle V2QI mode.
32875         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
32876         Use VI1_16_32 mode iterator.
32877         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
32878         Use VI1_16_32 mode iterator.
32879         (abs<mode>2): Use VI_16_32 mode iterator.
32880         (uavgv2qi3_ceil): New insn pattern.
32882 2022-01-05  Martin Sebor  <msebor@redhat.com>
32884         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
32885         %qs to avoid -Wformat-diag.
32887 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
32889         PR target/103915
32890         * config/i386/mmx.md (one_cmplv2qi2): Change
32891         alternatives 1,2 type from sselog to sselog1.
32893 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
32895         PR target/103905
32896         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
32897         narrow mode remapped elements for !one_operand_p case.
32899 2022-01-05  Richard Biener  <rguenther@suse.de>
32901         PR tree-optimization/103816
32902         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
32903         check DR_GROUP_GAP compute for overflow and representability.
32905 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
32907         PR fortran/103691
32908         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
32909         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
32910         it can do unwanted rhs folding like &a[0] into &2.0 etc.
32912 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
32914         PR ipa/102059
32915         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
32916         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
32917         (rs6000_need_ipa_fn_target_info): New function.
32918         (rs6000_update_ipa_fn_target_info): Likewise.
32919         (rs6000_can_inline_p): Adjust for ipa function summary target info.
32920         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
32921         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
32922         summary target info.
32923         (analyze_function_body): Adjust for ipa function summary target info
32924         and call hook rs6000_need_ipa_fn_target_info and
32925         rs6000_update_ipa_fn_target_info.
32926         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
32927         target info.
32928         (inline_read_section): Likewise.
32929         (ipa_fn_summary_write): Likewise.
32930         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
32931         * doc/tm.texi: Regenerate.
32932         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
32933         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
32934         * target.def (update_ipa_fn_target_info): New hook.
32935         (need_ipa_fn_target_info): Likewise.
32936         * targhooks.c (default_need_ipa_fn_target_info): New function.
32937         (default_update_ipa_fn_target_info): Likewise.
32938         * targhooks.h (default_update_ipa_fn_target_info): New declare.
32939         (default_need_ipa_fn_target_info): Likewise.
32941 2022-01-04  Martin Sebor  <msebor@redhat.com>
32943         PR middle-end/99612
32944         * builtins.c (get_memmodel): Move warning code to
32945         gimple-ssa-warn-access.cc.
32946         (expand_builtin_atomic_compare_exchange): Same.
32947         (expand_ifn_atomic_compare_exchange): Same.
32948         (expand_builtin_atomic_load): Same.
32949         (expand_builtin_atomic_store): Same.
32950         (expand_builtin_atomic_clear): Same.
32951         * doc/extend.texi (__atomic_exchange_n): Update valid memory
32952         models.
32953         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
32954         (struct memmodel_pair): New struct.
32955         (memmodel_name): New function.
32956         (pass_waccess::maybe_warn_memmodel): New function.
32957         (pass_waccess::check_atomic_memmodel): New function.
32958         (pass_waccess::check_atomic_builtin): Handle memory model.
32959         * input.c (expansion_point_location_if_in_system_header): Return
32960         original location if expansion location is in a system header.
32962 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
32964         PR target/103861
32965         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
32966         (one_cmplv2qi3 splitters): New post-reload splitters.
32967         (*andnotv2qi3): New insn pattern.
32968         (andnotv2qi3 splitters): New post-reload splitters.
32969         (<any_logic:code>v2qi3): New insn pattern.
32970         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
32972 2022-01-04  Richard Biener  <rguenther@suse.de>
32974         PR tree-optimization/103800
32975         * tree-vect-loop.c (vectorizable_phi): Remove assert and
32976         expand comment.
32978 2022-01-04  Richard Biener  <rguenther@suse.de>
32980         PR tree-optimization/103690
32981         * tree-pass.h (tail_merge_optimize): Adjust.
32982         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
32983         to re-split critical edges, move CFG cleanup ...
32984         * tree-ssa-pre.c (pass_pre::execute): ... here, before
32985         simple_dce_from_worklist and delay freeing inserted_exprs from
32986         ...
32987         (fini_pre): .. here.
32989 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
32991         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
32992         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
32993         (setcc_from_bi): Remove SImode specific pattern.
32994         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
32995         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
32996         for sign- and zero-extending BImode predicates to integers.
32997         (setcc_int<mode>): Remove previous (-1-based) instructions.
32998         (cstorebi4): Remove BImode to SImode specific expander.
32999         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
33000         (cstore<mode>4): For both integer and floating point modes.
33002 2022-01-04  Olivier Hainque  <hainque@adacore.com>
33004         * gcc.c (driver_handle_option): do_save --sysroot.
33006 2022-01-04  Richard Biener  <rguenther@suse.de>
33008         PR tree-optimization/103864
33009         PR tree-optimization/103544
33010         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
33011         reductions wrapped in conversions from SLP handling.
33012         (vect_analyze_slp): Revert PR103544 change.
33014 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
33016         PR rtl-optimization/103860
33017         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
33018         uselessly for blocks for which it has been called already.
33020 2022-01-04  Cui,Lili  <lili.cui@intel.com>
33022         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
33023         to Alderlake and Rocketlake.
33025 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
33027         PR middle-end/103643
33028         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
33029         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
33031 2022-01-04  liuhongt  <hongtao.liu@intel.com>
33033         PR target/103895
33034         * config/i386/sse.md (*bit_and_float_vector_all_ones):
33035         Force_reg operand 1 to avoid ICE.
33037 2022-01-04  Jason Merrill  <jason@redhat.com>
33039         * tree-pretty-print.c (do_niy): Add spc parameter.
33040         (NIY): Pass it.
33041         (print_call_name): Add spc local variable.
33043 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
33045         PR target/103894
33046         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
33047         (mov<V_32:mode>_internal): Ditto.
33048         (*push<V_32:mode>_rex64): Ditto.
33049         (movmisalign<V_32:mode>): Ditto.
33050         (*push<V_32:mode>_rex64 splitter): Enable for
33051         TARGET_64BIT && TARGET_SSE.
33052         (*push<V_32:mode>2): Remove insn pattern.
33054 2022-01-03  Andrew Pinski  <apinski@marvell.com>
33056         PR c/33193
33057         * doc/extend.texi: Extend the documentation about Complex
33058         types for casting and also rewrite the __real__/__imag__
33059         expression portion to use tables.
33060         Move __builtin_complex to the Complex type section.
33062 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
33064         PR target/98737
33065         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
33066         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
33067         New internal fns.
33068         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
33069         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
33070         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
33071         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
33072         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
33073         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
33074         functions.
33075         * optabs.def (atomic_add_fetch_cmp_0_optab,
33076         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
33077         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
33078         direct optabs.
33079         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
33080         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
33081         * tree-ssa-ccp.c: Include internal-fn.h.
33082         (optimize_atomic_bit_test_and): Add . before internal fn call
33083         in function comment.  Change return type from void to bool and
33084         return true only if successfully replaced.
33085         (optimize_atomic_op_fetch_cmp_0): New function.
33086         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
33087         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
33088         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
33089         for *XOR* ones only if optimize_atomic_bit_test_and failed.
33090         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
33091         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
33092         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
33093         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
33094         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
33095         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
33096         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
33097         new named patterns.
33099 2022-01-03  Richard Biener  <rguenther@suse.de>
33101         PR middle-end/103851
33102         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
33104 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
33106         PR c++/94716
33107         * symtab.c: Include fold-const.h.
33108         (symtab_node::equal_address_to): If folding_initializer is true,
33109         handle it like memory_accessed.  Simplify.
33111 2022-01-03  Martin Liska  <mliska@suse.cz>
33113         * doc/extend.texi: Use ; for function declarations.
33115 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
33117         PR c++/103600
33118         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
33119         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
33121 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
33123         * gcc.c (process_command): Update copyright notice dates.
33124         * gcov-dump.c (print_version): Ditto.
33125         * gcov.c (print_version): Ditto.
33126         * gcov-tool.c (print_version): Ditto.
33127         * gengtype.c (create_file): Ditto.
33128         * doc/cpp.texi: Bump @copying's copyright year.
33129         * doc/cppinternals.texi: Ditto.
33130         * doc/gcc.texi: Ditto.
33131         * doc/gccint.texi: Ditto.
33132         * doc/gcov.texi: Ditto.
33133         * doc/install.texi: Ditto.
33134         * doc/invoke.texi: Ditto.
33136 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
33138         PR target/103861
33139         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
33140         (VALID_INT_MODE_P): Ditto.
33141         * config/i386/i386.c (ix86_secondary_reload): Handle
33142         V2QImode reloads from SSE register to memory.
33143         (vector_mode_supported_p): Always return true for V2QImode.
33144         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
33145         (*negqi_ext<mode>_2): Ditto.
33146         * config/i386/mmx.md (movv2qi): New expander.
33147         (movmisalignv2qi): Ditto.
33148         (*movv2qi_internal): New insn pattern.
33149         (*pushv2qi2): Ditto.
33150         (negv2qi2 and splitters): Ditto.
33151         (<plusminus:insn>v2qi3 and splitters): Ditto.
33153 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
33155         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
33156         sync_lock_test_and_set libfunc. Call convert_memory_address to
33157         convert memory address to Pmode.
33158         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
33161 Copyright (C) 2022 Free Software Foundation, Inc.
33163 Copying and distribution of this file, with or without modification,
33164 are permitted in any medium without royalty provided the copyright
33165 notice and this notice are preserved.