rs6000: use li;x?oris to build constant
[official-gcc.git] / gcc / ChangeLog
blobcd9eede86fd4170b354957af2fe3dd34cbb26e94
1 2022-12-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3         * config.gcc: Determine Solaris minor version.
4         Obsolete *-*-solaris2.11.[0-3]*.
5         * doc/install.texi (Specific, *-*-solaris2*): Document it.
7 2022-12-17  Segher Boessenkool  <segher@kernel.crashing.org>
9         * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue):
10         Handle GNU Rust for the tbtab lang field.
12 2022-12-16  John David Anglin  <danglin@gcc.gnu.org>
14         * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
16 2022-12-16  Vladimir N. Makarov  <vmakarov@redhat.com>
18         Revert:
19         2022-12-15  Vladimir N. Makarov  <vmakarov@redhat.com>
21         * ira-costs.cc: Include print-rtl.h.
22         (record_reg_classes, scan_one_insn): Add code to print debug info.
23         * ira.cc (ira_init_register_move_cost): Check that at least one hard
24         reg of the mode are in the class contents to calculate the
25         register move costs.
27 2022-12-16  Qing Zhao  <qing.zhao@oracle.com>
29         * doc/invoke.texi: Document -Wstrict-flex-arrays option.
30         * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more
31         arguments.
32         (array_bounds_checker::check_array_ref): Issue warnings for
33         -Wstrict-flex-arrays.
34         * opts.cc (finish_options): Issue warning for unsupported combination
35         of -Wstrict_flex_arrays and -fstrict-flex-array.
36         * tree-vrp.cc (execute_ranger_vrp): Enable the pass when
37         warn_strict_flex_array is true.
39 2022-12-16  Palmer Dabbelt  <palmer@rivosinc.com>
41         * config/riscv/riscv.cc (riscv_option_override): Fix comment
42         wording.
44 2022-12-16  Palmer Dabbelt  <palmer@rivosinc.com>
46         * doc/extend.texi (__builtin_riscv_pause): Imply
47         Xgnuzihintpausestate.
49 2022-12-16  Richard Biener  <rguenther@suse.de>
51         PR middle-end/108086
52         * tree-inline.cc (remap_ssa_name): Do not unshare the
53         result from the decl_map.
55 2022-12-16  Richard Biener  <rguenther@suse.de>
57         PR middle-end/108086
58         * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m
59         substitution which is done in remap_gimple_op_r via
60         re-gimplifying.
62 2022-12-16  Jakub Jelinek  <jakub@redhat.com>
64         PR rtl-optimization/106751
65         * loop-invariant.cc (move_invariant_reg): If preheader bb ends
66         with a JUMP_INSN, split the preheader edge and emit invariants
67         into the new preheader basic block.
69 2022-12-16  Richard Biener  <rguenther@suse.de>
71         PR middle-end/108086
72         * tree-inline.cc (remap_gimple_stmt): Add stmts to the
73         sequence without updating them.  Simplify x == x detection.
75 2022-12-16  Haochen Jiang  <haochen.jiang@intel.com>
77         * config/i386/cmpccxaddintrin.h
78         (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32.
79         (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64.
81 2022-12-15  Vladimir N. Makarov  <vmakarov@redhat.com>
83         * ira-costs.cc: Include print-rtl.h.
84         (record_reg_classes, scan_one_insn): Add code to print debug info.
85         * ira.cc (ira_init_register_move_cost): Check that at least one hard
86         reg of the mode are in the class contents to calculate the
87         register move costs.
89 2022-12-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
91         * doc/extend.texi (__builtin_dynamic_object_size): Document
92         builtin.
93         * doc/passes.texi
94         (Optimize calls to @code{__builtin_object_size}): Also mention
95         __builtin_dynamic_object_size.
97 2022-12-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
99         PR middle-end/70090
100         * doc/invoke.texi (-fsanitize=object-size): Use
101         __builtin_dynamic_object_size instead of
102         __builtin_object_size.
104 2022-12-15  Richard Biener  <rguenther@suse.de>
106         PR middle-end/108086
107         * tree-inline.cc (copy_edges_for_bb): Walk stmts backwards for
108         splitting the block to avoid quadratic behavior with setting
109         stmts BB on multliple splits.
111 2022-12-15  Spacetown  <michael.foerderer@gmx.de>
113         PR gcov-profile/107537
114         * gcov.cc (output_branch_count): Add annotation '(fallthrough)'
115         or '(throw)' also to uncovered branches.
117 2022-12-15  Richard Biener  <rguenther@suse.de>
119         PR middle-end/108086
120         * tree-inline.cc (copy_edges_for_bb): Do not update all
121         stmts again.
123 2022-12-15  Jakub Jelinek  <jakub@redhat.com>
125         PR tree-optimization/108095
126         * tree-into-ssa.cc (maybe_register_def): Insert debug stmt
127         on all non-EH edges from asm goto if they have a single
128         predecessor rather than asserting there is at most one such edge.
129         Test whether there are no PHI nodes next to the single predecessor
130         test.
132 2022-12-14  David Faust  <david.faust@oracle.com>
134         PR target/106773
135         * btfout.cc (get_section_name): New function.
136         (btf_collect_datasec): Use it here. Process functions, marking them
137         'extern' and generating DATASEC entries for them as appropriate. Move
138         creation of BTF_KIND_FUNC records to here...
139         (btf_dtd_emit_preprocess_cb): ... from here.
141 2022-12-14  David Faust  <david.faust@oracle.com>
143         PR target/106773
144         * btfout.cc (btf_collect_datasec): Correct size of void entries.
145         (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which
146         refer to void types.
147         (btf_init_postprocess): Create 'const void' type record if needed and
148         adjust variables to refer to it as appropriate.
150 2022-12-14  David Faust  <david.faust@oracle.com>
152         PR target/106773
153         * btfout.cc (btf_collect_datasec): Mark extern variables as such.
154         (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl
155         if there is a defining decl for the same variable.
156         (btf_asm_varent): Accomodate 'extern' linkage.
158 2022-12-14  Martin Jambor  <mjambor@suse.cz>
160         * ipa-sra.cc (create_parameter_descriptors): Consider the first
161         parameter of a method safe to dereference.
163 2022-12-14  Martin Jambor  <mjambor@suse.cz>
165         * ipa-sra.cc (loaded_decls): Adjust comment.
166         (scan_expr_access): Also detect assignments of address of local
167         variables to a variable.  Bail out early on SSA_NAMEs and
168         constants as an optimization.
170 2022-12-14  Gaius Mulley  <gaiusmod2@gmail.com>
172         * configure.ac (HAVE_PYTHON): Test for Python3 added.
173         * dwarf2out.cc (gen_compile_unit_die): Check language_string
174         and language to DW_LANG_Modula2.
175         * doc/install.texi: Add m2 as a language.
176         (--disable-libgm2): Documented.  Add make check-m2 to testing selected
177         tests.
178         * doc/sourcebuild.texi (GM2): New prerequisite item.
179         (Python3 modules) New item.
180         (libgm2) Added.
181         (gcc/m2) Added.
182         * configure: Rebuilt.
183         * config.in: Rebuilt.
184         * doc/gm2.texi: New file.
186 2022-12-14  Martin Jambor  <mjambor@suse.cz>
188         * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the
189         description.
190         * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise.
192 2022-12-14  Tamar Christina  <tamar.christina@arm.com>
194         PR target/107988
195         * config/aarch64/aarch64.cc
196         (aarch64_vectorize_can_special_div_by_constant): Ensure input and output
197         RTL are registers.
199 2022-12-14  Martin Liska  <mliska@suse.cz>
201         * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor.
203 2022-12-14  Richard Biener  <rguenther@suse.de>
205         PR tree-optimization/107617
206         * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def):
207         Handle negative pd.rhs_off.
208         (vn_reference_lookup_3): Properly provide pd.rhs_off
209         for .LEN_STORE on big-endian targets.
211 2022-12-13  Martin Jambor  <mjambor@suse.cz>
213         * ipa-param-manipulation.cc
214         (ipa_param_body_adjustments::modify_expression): Bail out early if
215         there are no replacements.
216         (ipa_param_body_adjustments::modify_assignment): Likewise.
218 2022-12-13  Martin Jambor  <mjambor@suse.cz>
220         * ipa-sra.cc (isra_param_desc): New fields safe_size,
221         conditionally_dereferenceable and safe_size_set.
222         (struct gensum_param_desc): New field conditionally_dereferenceable.
223         (struct isra_param_flow): Updated comment of field unit_size.
224         (ipa_sra_function_summaries::duplicate): Copy the new fields.
225         (isra_call_summary::dump): Dump unit_size when representing safe_size.
226         (dump_gensum_param_descriptor): Dump new flag.
227         (dump_isra_param_descriptor): Dump new fields.
228         (isra_analyze_call): Fill unit_size when it represents known safe
229         size.
230         (check_gensum_access): Instead of disqualifying pointers which are not
231         always dereference, mark them as conditionally dereferencable if loads
232         are frequent enough.
233         (process_scan_results): Copy the conditionally_dereferenceable flag.
234         (isra_write_node_summary): Stream new fields, or assert they are not
235         initialized yet.
236         (isra_read_node_info): Stream new fields.
237         (update_safe_size): New function.
238         (propagate_param_hints_accross_call): Propagate safe_sizes.
239         (propagate_hints_to_all_callees): New function.
240         (adjust_parameter_descriptions): Check conditionally_dereferenceable
241         candidates, rework dumping.
242         (ipa_sra_analysis): Move most of hint propagation for one node to
243         propagate_hints_to_all_callees.  Add another loop to stabilize within
244         SCCs and another one to verify.
246 2022-12-13  Martin Jambor  <mjambor@suse.cz>
248         * ipa-sra.cc (isra_param_desc): New field not_specially_constructed.
249         (struct isra_param_flow): New field constructed_for_calls.
250         (isra_call_summary::dump): Dump the new flag.
251         (loaded_decls): New variable.
252         (dump_isra_param_descriptor): New parameter hints, dump
253         not_specially_constructed if it is true.
254         (dump_isra_param_descriptors): New parameter hints, pass it to
255         dump_isra_param_descriptor.
256         (ipa_sra_function_summaries::duplicate): Duplicate new flag.
257         (create_parameter_descriptors): Adjust comment.
258         (get_gensum_param_desc): Bail out when decl2desc is NULL.
259         (scan_expr_access): Add loaded local variables to loaded_decls.
260         (scan_function): Survive if final_bbs is NULL.
261         (isra_analyze_call): Compute constructed_for_calls flag.
262         (process_scan_results): Be optimistic about size limits.  Do not dump
263         computed param hints when dumpint IPA-SRA structures.
264         (isra_write_edge_summary): Stream constructed_for_calls.
265         (isra_read_edge_summary): Likewise.
266         (ipa_sra_dump_all_summaries): New parameter hints, pass it to
267         dump_isra_param_descriptor.
268         (flip_all_hints_pessimistic): New function.
269         (flip_all_param_hints_pessimistic): Likewise.
270         (propagate_param_hints): Likewise.
271         (disable_unavailable_parameters): Renamed to
272         adjust_parameter_descriptions.  Expand size limits for parameters
273         which are specially contstructed by all callers.  Check limits again.p
274         (ipa_sra_analysis): Pass required hints to ipa_sra_dump_all_summaries.
275         Add hint propagation.
276         (ipa_sra_summarize_function): Initialize and destory loaded_decls,
277         rearrange so that scan_function is called even when there are no
278         candidates.
279         * params.opt (ipa-sra-ptrwrap-growth-factor): New parameter.
281 2022-12-13  Martin Jambor  <mjambor@suse.cz>
283         * ipa-sra.cc (ipa_sra_analysis): Move top-down analysis before
284         bottom-up analysis.  Replace FOR_EACH_VEC_ELT with C++11 iteration.
286 2022-12-13  Martin Jambor  <mjambor@suse.cz>
288         PR ipa/103585
289         * params.opt (ipa-sra-deref-prob-threshold): New parameter.
290         * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it.
291         * ipa-sra.cc (struct gensum_param_access): New field load_count.
292         (struct gensum_param_desc): New field safe_ref, adjusted comments.
293         (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses.
294         (dump_gensum_access): Dump the new field.
295         (dump_gensum_param_descriptor): Likewise.
296         (create_parameter_descriptors): Set safe_ref field, move setting
297         by_ref forward.  Only increment unsafe_by_ref_count for unsafe
298         by_ref parameters.
299         (allocate_access): Initialize new field.
300         (mark_param_dereference): Adjust indentation.  Only add data to
301         bb_dereferences for unsafe by_ref parameters.
302         (scan_expr_access): For loads, accumulate BB counts.
303         (dereference_probable_p): New function.
304         (check_gensum_access): Fix leading comment, add parameter FUN.
305         Check cumulative counts of loads for safe by_ref accesses instead
306         of dereferences.
307         (process_scan_results): Do not propagate dereference distances for
308         safe by_ref parameters.  Pass fun to check_gensum_access.  Safe
309         by_ref params do not need the postdominance check.
311 2022-12-13  Martin Jambor  <mjambor@suse.cz>
313         * ipa-cp.cc (clone_for_param_removal_p): New function.
314         (estimate_local_effects): Call it before considering cloning
315         just to remove unused parameters.
317 2022-12-13  Martin Jambor  <mjambor@suse.cz>
319         PR ipa/103227
320         * ipa-param-manipulation.h (class ipa_param_adjustments): Removed
321         member function get_updated_index_or_split.
322         (class ipa_param_body_adjustments): New overload of
323         register_replacement, new member function append_init_stmts, new
324         member m_split_agg_csts_inits.
325         * ipa-param-manipulation.cc: Include ipa-prop.h.
326         (ipa_param_adjustments::get_updated_index_or_split): Removed.
327         (ipa_param_body_adjustments::register_replacement): New overload, use
328         it from the older one.
329         (ipa_param_body_adjustments::common_initialization): Added the
330         capability to create replacements for conflicting IPA-CP discovered
331         constants.
332         (ipa_param_body_adjustments::ipa_param_body_adjustments): Construct
333         the new member.
334         (ipa_param_body_adjustments::append_init_stmts): New function.
335         * ipa-sra.cc: Include ipa-prop.h.
336         (push_param_adjustments_for_index): Require IPA-CP transformation
337         summary as a parameter, do not create replacements which are known to
338         have constant values.
339         (process_isra_node_results): Find and pass to the above function the
340         IPA-CP transformation summary.
341         * ipa-prop.cc (adjust_agg_replacement_values): Remove the
342         functionality replacing IPA-SRA created scalar parameters with
343         constants.  Simplify, do not require parameter descriptors, do not
344         return anything.
345         (ipcp_transform_function): Simplify now that
346         adjust_agg_replacement_values does not change cfg.  Move definition
347         and initialization of descriptors lower.
348         * tree-inline.cc (tree_function_versioning): Call append_init_stmts of
349         param_body_adjs, if there are any.
351 2022-12-13  Martin Jambor  <mjambor@suse.cz>
353         * ipa-prop.cc (useful_ipcp_transformation_info_p): New function.
354         (write_ipcp_transformation_info): Added a parameter, simplified
355         given that is known not to be NULL.
356         (ipcp_write_transformation_summaries): Write out all useful
357         transformation summaries.
358         (read_ipcp_transformation_info): Simplify given that some info
359         will be read.
360         (read_replacements_section): Remove assert.
361         * lto-cgraph.cc (add_node_to): Also set encode_body for clones.
362         * lto-streamer-out.cc (lto_output): Do not output virtual clones.
364 2022-12-13  Jakub Jelinek  <jakub@redhat.com>
366         PR target/108044
367         * config/i386/i386.md (*concat<half><mode>3_5, *concat<mode><dwi>3_6,
368         *concat<mode><dwi>3_7): Split alternative with =ro output constraint
369         into =r,o,o and use Wd input constraint for the last alternative which
370         is enabled for TARGET_64BIT.  Reject ix86_endbr_immediate_operand
371         in the input constant.
373 2022-12-13  Tamar Christina  <tamar.christina@arm.com>
375         * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode.
377 2022-12-13  Jakub Jelinek  <jakub@redhat.com>
379         PR tree-optimization/108064
380         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Pass uvectype
381         as 4th argument to append_pattern_def_seq for statements with lhs
382         with utype type.
384 2022-12-13  Richard Biener  <rguenther@suse.de>
386         PR tree-optimization/105801
387         * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces
388         UNDEFINED.
389         * doc/invoke.texi (ftrivial-auto-var-init): Explicitely
390         mention we treat variables without an initializer as
391         undefined also for optimization purposes.
393 2022-12-13  Tom Tromey  <tom@tromey.com>
394             Mark Wielaard  <mark@klomp.org>
395             Marc Poulhiès  <dkm@kataplop.net>
397         * dwarf2out.cc (is_rust): New.
398         (base_type_die): Use DW_ATE_UTF for the Rust 'char' type.
399         (gen_compile_unit_die): Handle "GNU Rust".
401 2022-12-13  Richard Biener  <rguenther@suse.de>
403         PR tree-optimization/108076
404         * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
405         with non-local or forced labels that we later remove
406         labels from.
408 2022-12-13  Haochen Gui  <guihaoc@gcc.gnu.org>
410         * config/rs6000/rs6000.md (cbranchcc4): New expander.
412 2022-12-13  Haochen Gui  <guihaoc@gcc.gnu.org>
414         * optabs.cc (prepare_cmp_insn): Return a NULL rtx other than
415         assertion failure when targets don't have cbranch optab or
416         predicate check fails.
418 2022-12-12  Wilco Dijkstra  <wilco.dijkstra@arm.com>
420         * config/aarch64/aarch64.cc (aarch64_rtx_costs): Add correct costs
421         for 24-bit and 12-bit shifted immediate add/sub.
422         (TARGET_CONST_ANCHOR): Define.
423         * config/aarch64/predicates.md (aarch64_pluslong_immediate):
424         Fix range check.
426 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
428         * match.pd: Add new rule.
430 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
432         * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict
433         conversions between partial struct types properly.
435 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
437         * config/aarch64/aarch64.md (*tb<optab><mode>1): Rename to...
438         (*tb<optab><ALLI:mode><GPI:mode>1): ... this.
439         (tbranch_<code><mode>4): New.
440         * config/aarch64/iterators.md(ZEROM, zerom): New.
442 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
444         * dojump.cc (do_jump): Pass along value.
445         (do_jump_by_parts_greater_rtx): Likewise.
446         (do_jump_by_parts_zero_rtx): Likewise.
447         (do_jump_by_parts_equality_rtx): Likewise.
448         (do_compare_rtx_and_jump): Likewise.
449         (do_compare_and_jump): Likewise.
450         * dojump.h (do_compare_rtx_and_jump): New.
451         * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check.
452         (validate_test_and_branch): New.
453         (emit_cmp_and_jump_insns): Optiobally take a value, and when value is
454         supplied then check if it's suitable for tbranch.
455         * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New.
456         * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it.
457         * optabs.h (emit_cmp_and_jump_insns): New.
458         * tree.h (tree_zero_one_valued_p): New.
460 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
462         * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New.
463         (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>,
464         aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>,
465         @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>,
466         reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>,
467         aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>,
468         vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF.
469         (aarch64_simd_dupv2hf): New.
470         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode):
471         Add E_V2HFmode.
472         * config/aarch64/iterators.md (VHSDF_P): New.
473         (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL,
474         Vel, q, vp): Add V2HF.
475         * config/arm/types.md (neon_fp_reduc_add_h): New.
477 2022-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
479         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
480         __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI when appropriate.
481         * config/aarch64/aarch64.h (TARGET_BTI): Define.
483 2022-12-12  Richard Biener  <rguenther@suse.de>
485         * genmatch.cc (dt_simplify::gen): Revert last change.
486         * match.pd: Revert simplification of CONSTUCTOR leaf handling.
487         (&x cmp SSA_NAME): Handle ADDR_EXPR in SSA defs.
488         * fold-const.cc (split_address_to_core_and_offset): Handle
489         ADDR_EXPRs in SSA defs.
490         (address_compare): Likewise.
492 2022-12-12  Richard Biener  <rguenther@suse.de>
494         PR tree-optimization/89317
495         * tree-ssa-ccp.cc (ccp_fold): Handle GIMPLE_COND via
496         gimple_fold_stmt_to_constant_1.
497         * match.pd (&a != &a + c): Apply to pointer_plus with non-ADDR_EXPR
498         base as well.
500 2022-12-11  Richard Biener  <rguenther@suse.de>
502         PR tree-optimization/89317
503         * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns.
505 2022-12-11  Richard Biener  <rguenther@suse.de>
507         * genmatch.cc (dt_node::gen_kids): Handle ADDR_EXPR in both
508         the GENERIC and GIMPLE op position.
509         (dt_simplify::gen): Capture both GENERIC and GIMPLE op
510         position for ADDR_EXPR and CONSTRUCTOR.
511         * match.pd: Simplify CONSTRUCTOR leaf handling.
513 2022-12-11  Richard Biener  <rguenther@suse.de>
515         PR tree-optimization/106904
516         * tree.h (strip_zero_offset_components): Declare.
517         * tree.cc (strip_zero_offset_components): Define.
518         * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
519         Strip zero offset components before building the address.
521 2022-12-10  Jakub Jelinek  <jakub@redhat.com>
523         PR tree-optimization/107997
524         * tree-ssa-loop-ivopts.cc: Include cfganal.h.
525         (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
526         with a stmt which ends bb, instead of adding iv update after it split
527         the latch edge and insert iterator into the new latch bb.
529 2022-12-09  Jiufu Guo  <guojiufu@linux.ibm.com>
531         * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx.
532         (rs6000_emit_set_long_const): Likewise.
534 2022-12-09  Martin Liska  <mliska@suse.cz>
536         * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
537         as for PR103661.
538         * doc/extend.texi: Fix "x86-64" use.
540 2022-12-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
542         * config/rtems.h (SUBTARGET_CC1_SPEC): Rename to...
543         (OS_CC1_SPEC): ...this.
544         * gcc.cc (SUBTARGET_CC1_SPEC): Rename to...
545         (OS_CC1_SPEC): ...this.
547 2022-12-09  David Malcolm  <dmalcolm@redhat.com>
549         * Makefile.in (ANALYZER_OBJS): Update for renaming of
550         analyzer/region-model-impl-calls.cc to analyzer/kf.cc.
552 2022-12-09  liuhongt  <hongtao.liu@intel.com>
554         * doc/invoke.texi (x86 options): Document
555         -mlam={none,u48,u57}.
556         * config/i386/i386-opts.h (enum lam_type): New enum.
557         * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New.
558         (ix86_memtag_set_tag): Ditto.
559         (ix86_memtag_extract_tag): Ditto.
560         (ix86_memtag_add_tag): Ditto.
561         (ix86_memtag_tag_size): Ditto.
562         (ix86_memtag_untagged_pointer): Ditto.
563         (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New.
564         (TARGET_MEMTAG_ADD_TAG): Ditto.
565         (TARGET_MEMTAG_SET_TAG): Ditto.
566         (TARGET_MEMTAG_EXTRACT_TAG): Ditto.
567         (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto.
568         (TARGET_MEMTAG_TAG_SIZE): Ditto.
569         (IX86_HWASAN_SHIFT): Ditto.
570         (IX86_HWASAN_TAG_SIZE): Ditto.
571         * config/i386/i386-expand.cc (ix86_expand_call): Untag code
572         pointer.
573         * config/i386/i386-options.cc (ix86_option_override_internal):
574         Error when enable -mlam=[u48|u57] for 32-bit code.
575         * config/i386/i386.opt: Add -mlam=[none|u48|u57].
576         * config/i386/i386-protos.h (ix86_memtag_untagged_pointer):
577         Declare.
578         (ix86_memtag_can_tag_addresses): Ditto.
580 2022-12-08  Marek Polacek  <polacek@redhat.com>
582         * doc/invoke.texi (-fsanitize=address): Suggest options to improve
583         stack traces.
585 2022-12-08  Eugene Rozenfeld  <erozen@microsoft.com>
587         PR ipa/108000
588         * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison
590 2022-12-08  David Faust  <david.faust@oracle.com>
592         * config/bpf/bpf.md (bswap<mode>2): New define_insn.
594 2022-12-08  Sebastian Pop  <spop@amazon.com>
596         PR target/98776
597         * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
598         Declared.
599         * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
600         Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
601         (aarch64_output_patchable_area): New.
602         * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
603         (patchable_area): Define.
605 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
607         PR debug/106719
608         * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
609         debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
610         before all the DEBUG_INSNs and split after NOTEs.  If there are
611         other insns like jump table data, clear debug_insn.
613 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
615         PR target/107627
616         * config/i386/i386.md (HALF, half): New mode attributes.
617         (*concat<half><mode>3_5, *concat<mode><dwi>3_6,
618         *concat<mode><dwi>3_7): New define_insn_and_split patterns.
620 2022-12-08  Andrew MacLeod  <amacleod@redhat.com>
622         PR tree-optimization/107985
623         * gimple-range-op.cc
624         (gimple_range_op_handler::gimple_range_op_handler): Check if type
625         of the operands is supported.
626         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Do
627         not assert if here is no range-op handler.
629 2022-12-08  Jiufu Guo  <guojiufu@linux.ibm.com>
631         * config/rs6000/predicates.md: Use sext_hwi.
632         * config/rs6000/rs6000.cc (num_insns_constant_gpr): Likewise.
633         (darwin_rs6000_legitimate_lo_sum_const_p): Likewise.
634         (mem_operand_gpr): Likewise.
635         (mem_operand_ds_form): Likewise.
636         (rs6000_legitimize_address): Likewise.
637         (rs6000_emit_set_const): Likewise.
638         (rs6000_emit_set_long_const): Likewise.
639         (print_operand): Likewise.
640         (constant_generates_xxspltiw): Remove unnecessary expressions.
641         * config/rs6000/rs6000.md: Use sext_hwi.
643 2022-12-08  Richard Biener  <rguenther@suse.de>
645         PR tree-optimization/107699
646         * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New
647         pattern variant.
649 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
651         * range-op-float.cc (frange_nextafter): For MODE_COMPOSITE_P from
652         denormal or zero, use real_nextafter on DFmode with conversions
653         around it.
654         (frange_arithmetic): For mode_composite, on top of rounding in the
655         right direction accept extra 1ulp error for PLUS/MINUS_EXPR, extra
656         2ulps error for MULT_EXPR and extra 3ulps error for RDIV_EXPR.
658 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
660         PR tree-optimization/107967
661         * range-op-float.cc (frange_arithmetic): Fix a thinko - if
662         inf is negative, use nextafter if !real_less (&result, &value)
663         rather than if real_less (&result, &value).  If result is +-INF
664         while value is finite and -fno-rounding-math, don't do rounding
665         if !inexact or if result is significantly above max representable
666         value or below min representable value.
668 2022-12-07  Max Filippov  <jcmvbkbc@gmail.com>
670         * config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs.
671         * config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h.
672         (xtensa-dynconfig.o): New rule.
673         * config/xtensa/xtensa-dynconfig.c: New file.
674         * config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New
675         declaration.
676         * config/xtensa/xtensa.h (xtensa-config.h): Replace #include
677         with xtensa-dynconfig.h
678         (XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC)
679         (XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR)
680         (XCHAL_HAVE_FP_POSTINC): Drop definitions.
681         (TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32.
682         (TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop
683         through string array returned by the xtensa_get_config_strings
684         function call.
686 2022-12-07  Wilco Dijkstra  <wilco.dijkstra@arm.com>
688         PR target/108006
689         * config/aarch64/aarch64.cc (aarch64_expand_sve_const_vector):
690         Fix call to aarch64_move_imm to use SI/DI.
692 2022-12-07  Richard Biener  <rguenther@suse.de>
694         PR ipa/105676
695         * ipa-pure-const.cc (ipa_make_function_pure): Skip also
696         for functions already being const.
698 2022-12-07  Hongyu Wang  <hongyu.wang@intel.com>
700         * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
701         m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM.
703 2022-12-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
705         PR target/107920
706         * config/aarch64/aarch64-sve-builtins-base.cc: Use
707         gsi_replace_with_seq_vops to handle virtual operands, and gate
708         the transform on !flag_non_call_exceptions.
709         * gimple-fold.cc (gsi_replace_with_seq_vops): Make function non static.
710         * gimple-fold.h (gsi_replace_with_seq_vops): Declare.
712 2022-12-07  liuhongt  <hongtao.liu@intel.com>
714         PR target/107970
715         * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to
716         the condition.
718 2022-12-06  Wilco Dijkstra  <wilco.dijkstra@arm.com>
720         * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type.
721         (aarch64_is_mov_xn_imm): New function.
722         (aarch64_move_imm): Refactor, assert mode is SImode or DImode.
723         (aarch64_internal_mov_immediate): Assert mode is SImode or DImode.
724         Simplify special cases.
725         (aarch64_uimm12_shift): Simplify code.
726         (aarch64_clamp_to_uimm12_shift): Likewise.
727         (aarch64_movw_imm): Rename to aarch64_is_movz.
728         (aarch64_float_const_rtx_p): Pass either SImode or DImode to
729         aarch64_internal_mov_immediate.
730         (aarch64_rtx_costs): Likewise.
731         * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M'
732         constraints into single 'O'.
733         (mov<mode>_aarch64): Likewise.
734         * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned.
735         (aarch64_bitmask_imm): Likewise.
736         (aarch64_uimm12_shift): Likewise.
737         (aarch64_is_mov_xn_imm): New prototype.
738         * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates,
739         limit 'N' to 64-bit only moves.
741 2022-12-06  Qing Zhao  <qing.zhao@oracle.com>
743         * attribs.cc (strict_flex_array_level_of): New function.
744         * attribs.h (strict_flex_array_level_of): Prototype for new function.
745         * doc/invoke.texi: Update -Warray-bounds by specifying the impact from
746         -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its
747         impact on treating trailing arrays as flexible array members.
748         * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function.
749         (check_out_of_bounds_and_warn): New function.
750         (array_bounds_checker::check_array_ref): Update with call to the above
751         new functions.
752         * tree.cc (array_ref_flexible_size_p): Add one new argument.
753         (component_ref_sam_type): New function.
754         (component_ref_size): Control with level of strict-flex-array.
755         * tree.h (array_ref_flexible_size_p): Update prototype.
756         (enum struct special_array_member): Add two new enum values.
757         (component_ref_sam_type): New prototype.
759 2022-12-06  David Malcolm  <dmalcolm@redhat.com>
761         * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
763 2022-12-06  David Malcolm  <dmalcolm@redhat.com>
765         * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o,
766         analyzer/kf-analyzer.o, and kf-lang-cp.o.
768 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
770         * gimplify.cc (optimize_target_teams): Set initial num_teams_upper
771         to "-2" instead of "1" for non-existing num_teams clause in order to
772         disambiguate from the case of an existing num_teams clause with value 1.
774 2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
776         PR target/107987
777         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
778         @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
779         operand.
781 2022-12-06  Jakub Jelinek  <jakub@redhat.com>
783         PR target/107969
784         * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders
785         with the same condition as cbranchsf4 or cstoresf4 expanders.
787 2022-12-06  Richard Biener  <rguenther@suse.de>
789         PR tree-optimization/104475
790         * pointer-query.h (access_ref::ref_nullptr_p): New flag.
791         * pointer-query.cc (access_ref::access_ref): Initialize
792         ref_nullptr_p.
793         (compute_objsize_r): Set ref_nullptr_p if we treat it that way.
794         (access_ref::inform_access): If ref was treated as nullptr
795         based, indicate that.
797 2022-12-06  Jakub Jelinek  <jakub@redhat.com>
799         PR tree-optimization/107972
800         * range-op-float.cc (frange_drop_infs): New function.
801         (float_binary_op_range_finish): Add DIV_OP2 argument.  If DIV_OP2 is
802         false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and
803         not NAN, r must be finite too.
804         (foperator_div::op2_range): Pass true to DIV_OP2 of
805         float_binary_op_range_finish.
807 2022-12-06  Jakub Jelinek  <jakub@redhat.com>
809         PR tree-optimization/107975
810         * range-op-float.cc (foperator_mult::op1_range,
811         foperator_div::op1_range, foperator_div::op2_range): Just
812         return float_binary_op_range_finish result if lhs is known
813         NAN, or the other operand is known NAN or UNDEFINED.
815 2022-12-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
817         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup
818         and zip1 for interleaving elements in vector initializer.
820 2022-12-05  Richard Biener  <rguenther@suse.de>
822         PR middle-end/40635
823         * tree-into-ssa.cc (rewrite_update_phi_arguments): Only
824         update the argument when the reaching definition is different
825         from the current argument.  Keep an existing argument
826         location.
828 2022-12-05  Richard Biener  <rguenther@suse.de>
830         PR tree-optimization/106868
831         * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
832         Inline into single user ...
833         (pass_waccess::check_dangling_uses): ... here and adjust the
834         call and the PHI case to require that ref.aref is the address
835         of the decl.
837 2022-12-05  Jakub Jelinek  <jakub@redhat.com>
839         PR middle-end/106805
840         * match.pd (cmp @0 REAL_CST@1): Don't optimize x cmp NaN
841         or NaN cmp x to false/true for cmp >/>=/</<= if -ftrapping-math.
843 2022-12-05  Jakub Jelinek  <jakub@redhat.com>
845         PR tree-optimization/107879
846         * range-op-float.cc (foperator_mult::op1_range): If both
847         lhs and op2 ranges contain zero or both ranges contain
848         some infinity, set r range to zero_to_inf_range depending on
849         signbit_known_p.
850         (foperator_div::op2_range): Similarly for lhs and op1 ranges.
851         (foperator_div::op1_range): If lhs range contains zero and op2
852         range contains some infinity or vice versa, set r range to
853         zero_to_inf_range depending on signbit_known_p.
854         (foperator_div::rv_fold): Fix up condition for returning known NAN.
856 2022-12-05  Richard Biener  <rguenther@suse.de>
858         PR tree-optimization/107833
859         PR tree-optimization/107839
860         * cfghooks.cc: Include tree.h.
861         * tree-ssa-loop-im.cc (movement_possibility): Wrap and
862         make stmts using any ssa_name_maybe_undef_p operand
863         to preserve execution.
864         (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
865         to init maybe-undefined status.
866         * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
867         ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
868         mark_ssa_maybe_undefs): Move ...
869         * tree-ssa.cc: ... here.
870         * tree-ssa.h (ssa_name_any_use_dominates_bb_p,
871         mark_ssa_maybe_undefs): Declare.
872         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
874 2022-12-05  Andrew Pinski  <pinskia@gmail.com>
876         PR tree-optimization/107956
877         * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
878         Check for NULL LHS on masked loads.
880 2022-12-05  Kewen Lin  <linkw@linux.ibm.com>
881             Richard Sandiford   <richard.sandiford@arm.com>
883         PR tree-optimization/107412
884         * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
885         untruncated type for the length, and avoid to_constant and tree
886         arithmetic for subtraction.
888 2022-12-02  Bernhard Reutner-Fischer  <rep.dot.nop@gmail.com>
889             Jason Merrill  <jason@redhat.com>
891         * function.cc (init_function_start): Use DECL_RESULT location
892         for -Waggregate-return warning.
894 2022-12-02  Andrew MacLeod  <amacleod@redhat.com>
896         * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node.
897         (tree_invalid_nonnegative_warnv_p): Likewise.
899 2022-12-02  Jason Merrill  <jason@redhat.com>
901         * gcc.cc (validate_switches): Reset suffix/starred on loop.
903 2022-12-02  Vladimir N. Makarov  <vmakarov@redhat.com>
905         * lra-constraints.cc (curr_insn_transform): Check available hard
906         regs for pseudo and its subreg to decide what to reload.
908 2022-12-02  liuhongt  <hongtao.liu@intel.com>
910         * config/i386/i386-expand.cc
911         (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for
912         nonimmediate operand.
914 2022-12-02  Martin Liska  <mliska@suse.cz>
916         * configure: Regenerate.
918 2022-12-02  Jakub Jelinek  <jakub@redhat.com>
920         PR target/106577
921         * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore
922         recog_data around recog_memoized calls.
924 2022-12-02  Michael Collison  <collison@rivosinc.com>
926         * match.pd ((x & 0x1) == 0) ? y : z <op> y
927         -> (-(typeof(y))(x & 0x1) & z) <op> y.
929 2022-12-02  Richard Biener  <rguenther@suse.de>
931         PR tree-optimization/107946
932         * params.opt (-param=max-unswitch-depth=): New.
933         * doc/invoke.texi (--param=max-unswitch-depth): Document.
934         * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor
935         --param=max-unswitch-depth
937 2022-12-02  Eric Gallager  <egallager@gcc.gnu.org>
939         PR bootstrap/59447
940         * configure: Regenerate.
941         * configure.ac: Document --with-dwarf2 flag as also
942         applying to later DWARF standards.
943         * doc/install.texi: Likewise.
945 2022-12-02  liuhongt  <hongtao.liu@intel.com>
947         PR target/107934
948         * config/i386/i386.md (extendbfsf2_1): Change type from
949         sseishft to sseishft1.
951 2022-12-01  Alex Coplan  <alex.coplan@arm.com>
953         * varasm.cc (assemble_variable): Fix type confusion bug when
954         checking for ".vtable_map_vars" section.
956 2022-12-01  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
958         * config/riscv/riscv-v.cc (emit_pred_op): Adapt for mask mode.
959         * config/riscv/vector.md: Remove Tail && make policy operand for mask mode mov.
961 2022-12-01  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
963         * config/riscv/riscv-protos.h (enum vlmul_type): New enum.
964         (get_vlmul): New function.
965         (get_ratio): Ditto.
966         * config/riscv/riscv-v.cc (struct mode_vtype_group): New struct.
967         (ENTRY): Adapt for attributes.
968         (enum vlmul_type): New enum.
969         (get_vlmul): New function.
970         (get_ratio): New function.
971         * config/riscv/riscv-vector-switch.def (ENTRY): Adapt for attributes.
972         * config/riscv/riscv.cc (ENTRY): Ditto.
973         * config/riscv/vector.md (false,true): Add attributes.
975 2022-12-01  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
977         * config/riscv/constraints.md (Wdm): New constraint.
978         * config/riscv/predicates.md (direct_broadcast_operand): New predicate.
979         * config/riscv/riscv-protos.h (RVV_VLMAX): New macro.
980         (emit_pred_op): Refine function.
981         * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function.
982         (run_broadcast_selftests): Ditto.
983         (BROADCAST_TEST): New tests.
984         (riscv_run_selftests): More tests.
985         * config/riscv/riscv-v.cc (emit_pred_move): Refine function.
986         (emit_vlmax_vsetvl): Ditto.
987         (emit_pred_op): Ditto.
988         (expand_const_vector): New function.
989         (legitimize_move): Add constant vector support.
990         * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector.
991         * config/riscv/riscv.h (X0_REGNUM): New macro.
992         * config/riscv/vector-iterators.md: New attribute.
993         * config/riscv/vector.md (vec_duplicate<mode>): New pattern.
994         (@pred_broadcast<mode>): New pattern.
996 2022-12-01  Paul-Antoine Arras  <pa@codesourcery.com>
998         * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji.
999         (TARGET_VEGA10): -march=gfx900.
1000         (TARGET_VEGA20): -march=gfx906.
1001         (TARGET_GFX908): -march=gfx908.
1002         (TARGET_GFX90a): -march=gfx90a.
1003         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that
1004         uniquely maps to '-march'.
1006 2022-12-01  Richard Biener  <rguenther@suse.de>
1008         PR tree-optimization/107937
1009         * gimple-predicate-analysis.h (predicate::is_true): New.
1010         (predicate::is_false): Likewise.
1011         (predicate::empty_val): Likewise.
1012         (uninit_analysis::uninit_analysis): Properly initialize
1013         def_preds.
1014         * gimple-predicate-analysis.cc (simplify_1b): Indicate
1015         whether the chain became empty.
1016         (predicate::simplify): Release emptied chain before removing it.
1017         (predicate::normalize): Replace temporary object with assertion.
1018         (uninit_analysis::is_use_guarded): Deal with predicates
1019         that simplify to true/false.
1021 2022-12-01  Richard Biener  <rguenther@suse.de>
1023         PR tree-optimization/107935
1024         * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on
1025         backedges.
1027 2022-12-01  Jakub Jelinek  <jakub@redhat.com>
1029         PR target/107627
1030         * config/i386/i386.md (*concat<mode><dwi>3_1, *concat<mode><dwi>3_2):
1031         For operands which are zero_extend arguments allow memory if
1032         output operand is a register.
1033         (*concat<mode><dwi>3_3, *concat<mode><dwi>3_4): Likewise.  If
1034         both input operands are memory, use early clobber on output operand.
1035         * config/i386/i386-expand.cc (split_double_concat): Deal with corner
1036         cases where one input is memory and the other is not and the address
1037         of the memory input uses a register we'd overwrite before loading
1038         the memory into a register.
1040 2022-12-01  Haochen Gui  <guihaoc@gcc.gnu.org>
1042         * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1043         Corrects comments of this function and make them clear.
1045 2022-12-01  liuhongt  <hongtao.liu@intel.com>
1047         PR target/107863
1048         * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1049         Convert op1 to target mode whenever mode mismatch.
1051 2022-12-01  David Malcolm  <dmalcolm@redhat.com>
1053         PR analyzer/106626
1054         * diagnostic-path.h
1055         (diagnostic_path::get_first_event_in_a_function): New decl.
1056         * diagnostic.cc (diagnostic_path::get_first_event_in_a_function):
1057         New.
1058         (diagnostic_path::interprocedural_p): Ignore leading events that
1059         are outside of any function.
1061 2022-12-01  David Malcolm  <dmalcolm@redhat.com>
1063         * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o.
1065 2022-12-01  Haochen Gui  <guihaoc@gcc.gnu.org>
1067         PR target/100866
1068         * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1069         Generate permute index directly for little endian targets.
1070         * config/rs6000/vsx.md (revb_<mode>): Call vprem directly with
1071         corresponding permute indexes.
1073 2022-11-30  John David Anglin  <danglin@gcc.gnu.org>
1075         * config/pa/pa.md (addvdi3): Force operand 2 to a register.
1076         Remove "addi,tsv,*" instruction from unamed pattern.
1077         (subvdi3): Force operand 1 to a register.
1078         Remove "subi,tsv" instruction from from unamed pattern.
1080 2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1082         * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
1083         (*aarch64_cpymemdi): Likewise.
1084         (aarch64_movmemdi): Likewise.
1085         (aarch64_setmemdi): Likewise.
1086         (*aarch64_setmemdi): Likewise.
1088 2022-11-30  Martin Liska  <mliska@suse.cz>
1090         * tree-switch-conversion.cc (bit_test_cluster::emit): Remove
1091         dead variable bt_range.
1093 2022-11-30  Iskander Shakirzyanov  <iskander@ispras.ru>
1094             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1096         PR driver/107787
1097         * common.opt (Warray-bounds): Turn into alias of
1098         -Warray-bounds=1.
1099         * builtins.cc (c_strlen): Use OPT_Warray_bounds_
1100         instead of OPT_Warray_bounds.
1101         * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Ditto.
1102         * gimple-array-bounds.cc (array_bounds_checker::check_array_ref,
1103         array_bounds_checker::check_mem_ref,
1104         array_bounds_checker::check_addr_expr,
1105         array_bounds_checker::check_array_bounds): Ditto.
1106         * gimple-ssa-warn-restrict.cc (maybe_diag_access_bounds): Ditto.
1108 2022-11-30  Martin Liska  <mliska@suse.cz>
1110         PR tree-optimization/101301
1111         PR tree-optimization/103680
1112         * tree-switch-conversion.cc (bit_test_cluster::emit):
1113         Handle correctly remaining probability.
1114         (switch_decision_tree::try_switch_expansion): Fix BB's count
1115         where a cluster expansion happens.
1116         (switch_decision_tree::emit_cmp_and_jump_insns): Fill up also
1117         BB count.
1118         (switch_decision_tree::do_jump_if_equal): Likewise.
1119         (switch_decision_tree::emit_case_nodes): Handle special case
1120         for BT expansion which can also fallback to a default BB.
1121         * tree-switch-conversion.h (cluster::cluster): Add
1122         m_default_prob probability.
1124 2022-11-30  Richard Biener  <rguenther@suse.de>
1126         PR tree-optimization/107919
1127         * gimple-predicate-analysis.cc (simplify_1): Rename to ...
1128         (simplify_1a): .. this.
1129         (simplify_1b): New.
1130         (predicate::simplify): Call both simplify_1a and simplify_1b.
1132 2022-11-30  Richard Biener  <rguenther@suse.de>
1134         * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a
1135         PHI node.
1137 2022-11-30  Richard Biener  <rguenther@suse.de>
1139         PR tree-optimization/107919
1140         * gimple-predicate-analysis.cc (predicate::simplify_2):
1141         Handle predicates of arbitrary length.
1143 2022-11-30  Jakub Jelinek  <jakub@redhat.com>
1145         PR tree-optimization/107835
1146         * tree-chrec.cc (chrec_apply): Don't handle "{a, +, a} (x-1)"
1147         as "a*x" if type is a pointer type.
1149 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
1151         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803.
1152         * config/gcn/t-omp-device: Add gfx803.
1154 2022-11-30  Lulu Cheng  <chenglulu@loongson.cn>
1156         * config/loongarch/linux.h (STACK_CHECK_MOVING_SP):
1157         Define this macro to 1.
1158         * config/loongarch/loongarch.cc (STACK_CLASH_PROTECTION_GUARD_SIZE):
1159         Size of guard page.
1160         (loongarch_first_stack_step): Return the size of the first drop stack
1161         according to whether stack checking is performed.
1162         (loongarch_emit_probe_stack_range): Adjust the method of stack checking in prologue.
1163         (loongarch_output_probe_stack_range): Delete useless code.
1164         (loongarch_expand_prologue): Adjust the method of stack checking in prologue.
1165         (loongarch_option_override_internal): Enforce that interval is the same
1166         size as size so the mid-end does the right thing.
1167         * config/loongarch/loongarch.h (STACK_CLASH_MAX_UNROLL_PAGES):
1168         New macro decide whether to loop stack detection.
1170 2022-11-30  David Malcolm  <dmalcolm@redhat.com>
1172         PR analyzer/103546
1173         * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror,
1174         fileno, and getc to the list of functions known to the analyzer.
1176 2022-11-29  Richard Biener  <rguenther@suse.de>
1178         PR tree-optimization/107852
1179         * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded
1180         as predicated values to elide more redundant PHIs.
1182 2022-11-29  Richard Biener  <rguenther@suse.de>
1184         PR tree-optimization/106995
1185         * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the
1186         versioning condition to the original loop if this very loop
1187         vanished during CFG cleanup.
1189 2022-11-29  Richard Biener  <rguenther@suse.de>
1191         PR tree-optimization/107898
1192         * gimple-ssa-warn-alloca.cc (alloca_call_type): Check
1193         the type of the alloca argument is compatible with size_t
1194         before querying ranges.
1196 2022-11-29  Richard Biener  <rguenther@suse.de>
1198         PR ipa/107897
1199         * multiple_target.cc (pass_target_clone::gate): Disable
1200         after errors.
1202 2022-11-29  Martin Liska  <mliska@suse.cz>
1204         * configure: Regenerate.
1206 2022-11-29  YunQiang Su  <yunqiang.su@cipunited.com>
1208         * configure.ac: add description for
1209         AC_DEFINE(ENABLE_MULTIARCH, 1)
1211 2022-11-28  Andrew Pinski  <apinski@marvell.com>
1213         * match.pd ((A / (1 << B)) -> (A >> B).):
1214         Fix comment.
1216 2022-11-28  Sinan  <sinan.lin@linux.alibaba.com>
1218         * config/riscv/riscv.cc (riscv_build_integer): Improve some cases
1219         of loading 64bit constants for rv32.
1221 2022-11-28  Maciej W. Rozycki  <macro@embecosm.com>
1223         * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0
1224         rather that XOR 1 for LE and LEU operations.
1226 2022-11-28  Richard Biener  <rguenther@suse.de>
1228         PR tree-optimization/107896
1229         * tree-vect-stmts.cc (supportable_widening_operation):
1230         Handle non-vector mode intermediate mode.
1232 2022-11-28  Frolov Daniil  <frolov.da@phystech.edu>
1234         * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle
1235         base == 2.
1236         (tree_digits): Likewise.
1237         (format_integer): Likewise.
1238         (parse_directive): Add cases for %b and %B directives.
1240 2022-11-28  Fei Gao  <gaofei@eswincomputing.com>
1242         * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation
1243         of MIN_FIRST_STEP to cover FP save area too.
1245 2022-11-28  Richard Biener  <rguenther@suse.de>
1247         PR tree-optimization/107493
1248         * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):
1249         Only handle no-op and sign-changing conversions.
1251 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
1253         * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead
1254         of s[0:1] and use USE to prevent removal of setting that register.
1255         * config/gcn/gcn.md (prologue_use_di): Remove.
1257 2022-11-28  Yuri Gribov  <y.gribov@samsung.com>
1259         PR sanitizer/106558
1260         * sanopt.cc: Do not optimize out checks for non-SSA addresses.
1262 2022-11-28  Jakub Jelinek  <jakub@redhat.com>
1264         PR target/106875
1265         * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
1266         (ix86_abi): Replace it with TargetVariable.
1267         * config/i386/i386-options.cc (ix86_function_specific_save,
1268         ix86_function_specific_restore): Don't save and restore x_ix86_abi.
1270 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1272         * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
1273         mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
1275 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1277         * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
1278         (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
1279         spacing vs tabs.
1281 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1283         * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
1285 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1287         * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
1288         (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
1289         (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
1290         (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
1291         Fix spacing.
1293 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1295         * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
1296         (__arm_vsubq_x Integer): New.
1298 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1300         PR target/107515
1301         * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
1303 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1305         PR target/96795
1306         * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
1307         (__arm_vmulq): Likewise.
1308         (__arm_vcmpeqq): Likewise.
1309         (__arm_vcmpneq): Likewise.
1310         (__arm_vmaxnmavq): Likewise.
1311         (__arm_vmaxnmvq): Likewise.
1312         (__arm_vminnmavq): Likewise.
1313         (__arm_vsubq): Likewise.
1314         (__arm_vminnmvq): Likewise.
1315         (__arm_vrshlq): Likewise.
1316         (__arm_vqsubq): Likewise.
1317         (__arm_vqdmulltq): Likewise.
1318         (__arm_vqdmullbq): Likewise.
1319         (__arm_vqdmulhq): Likewise.
1320         (__arm_vqaddq): Likewise.
1321         (__arm_vhaddq): Likewise.
1322         (__arm_vhsubq): Likewise.
1323         (__arm_vqdmlashq): Likewise.
1324         (__arm_vqrdmlahq): Likewise.
1325         (__arm_vmlasq): Likewise.
1326         (__arm_vqdmlahq): Likewise.
1327         (__arm_vmaxnmavq_p): Likewise.
1328         (__arm_vmaxnmvq_p): Likewise.
1329         (__arm_vminnmavq_p): Likewise.
1330         (__arm_vminnmvq_p): Likewise.
1331         (__arm_vfmasq_m): Likewise.
1332         (__arm_vsetq_lane): Likewise.
1333         (__arm_vcmpneq_m): Likewise.
1334         (__arm_vhaddq_x): Likewise.
1335         (__arm_vhsubq_x): Likewise.
1336         (__arm_vqrdmlashq_m): Likewise.
1337         (__arm_vqdmlashq_m): Likewise.
1338         (__arm_vmlaldavaxq_p): Likewise.
1339         (__arm_vmlasq_m): Likewise.
1340         (__arm_vqdmulhq_m): Likewise.
1341         (__arm_vqdmulltq_m): Likewise.
1342         (__arm_viwdupq_m): Likewise.
1343         (__arm_viwdupq_u16): Likewise.
1344         (__arm_viwdupq_u32): Likewise.
1345         (__arm_viwdupq_u8): Likewise.
1346         (__arm_vdwdupq_m): Likewise.
1347         (__arm_vdwdupq_u16): Likewise.
1348         (__arm_vdwdupq_u32): Likewise.
1349         (__arm_vdwdupq_u8): Likewise.
1350         (__arm_vaddlvaq): Likewise.
1351         (__arm_vaddlvaq_p): Likewise.
1352         (__arm_vaddvaq): Likewise.
1353         (__arm_vaddvaq_p): Likewise.
1354         (__arm_vcmphiq_m): Likewise.
1355         (__arm_vmladavaq_p): Likewise.
1356         (__arm_vmladavaxq): Likewise.
1357         (__arm_vmlaldavaxq): Likewise.
1358         (__arm_vrmlaldavhaq_p): Likewise.
1360 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1362         PR target/96795
1363         * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
1364         (__arm_vaddq_m_n_s32): Likewise.
1365         (__arm_vaddq_m_n_s16): Likewise.
1366         (__arm_vaddq_m_n_u8): Likewise.
1367         (__arm_vaddq_m_n_u32): Likewise.
1368         (__arm_vaddq_m_n_u16): Likewise.
1369         (__arm_vaddq_m): Fix Overloading.
1370         (__ARM_mve_coerce3): New.
1372 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1374         * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
1376 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1378         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
1379         spacing.
1380         * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
1381         (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.
1383 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1385         * config/arm/mve.md (mve_vdupq_n_f<mode>)
1386         (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
1387         (mve_vdupq_m_n_f<mode>): Fix spacing.
1389 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1391         * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
1393 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1395         * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
1396         spacing.
1397         (mve_vddupq_m_wb_u<mode>_insn): Likewise.
1399 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1401         * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
1402         'vmsr' spacing and reg capitalization.
1404 2022-11-28  Richard Biener  <rguenther@suse.de>
1406         PR tree-optimization/107876
1407         * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe
1408         dominator info if we removed an edge.
1410 2022-11-28  Richard Biener  <rguenther@suse.de>
1412         PR tree-optimization/107867
1413         * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle
1414         abnormal cleanup after substitution.
1416 2022-11-28  Lulu Cheng  <chenglulu@loongson.cn>
1418         * config/loongarch/loongarch.cc (enum loongarch_load_imm_method):
1419         Remove the member METHOD_INSV that is not currently used.
1420         (struct loongarch_integer_op): Define a new member curr_value,
1421         that records the value of the number stored in the destination
1422         register immediately after the current instruction has run.
1423         (loongarch_build_integer): Assign a value to the curr_value member variable.
1424         (loongarch_move_integer): Adds information for the immediate load instruction.
1425         * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split.
1426         (*movdi_64bit): Likewise.
1427         (*movsi_internal): Likewise.
1428         (*movhi_internal): Likewise.
1429         * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure
1430         that the immediate number is not optimized by decomposition during expand
1431         optimization loop.
1433 2022-11-28  liuhongt  <hongtao.liu@intel.com>
1435         PR target/107748
1436         * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined.
1437         * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16):
1438         New function type.
1439         * config/i386/i386-builtin.def (BDESC): New builtin.
1440         * config/i386/i386-expand.cc (ix86_expand_args_builtin):
1441         Handle the builtin.
1442         * config/i386/i386.md (extendbfsf2): New expander.
1443         (extendbfsf2_1): New define_insn.
1444         (truncsfbf2): Ditto.
1446 2022-11-26  Andrew Pinski  <apinski@marvell.com>
1448         PR tree-optimization/103356
1449         * match.pd: ((~a) == b -> a ^ b): New pattern.
1451 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
1453         * common.opt (fopenmp-target-simd-clone): New option.
1454         (target_simd_clone_device): New enum to go with it.
1455         * doc/invoke.texi (-fopenmp-target-simd-clone): Document.
1456         * flag-types.h (enum omp_target_simd_clone_device_kind): New.
1457         * omp-simd-clone.cc (auto_simd_fail): New function.
1458         (auto_simd_check_stmt): New function.
1459         (plausible_type_for_simd_clone): New function.
1460         (ok_for_auto_simd_clone): New function.
1461         (simd_clone_create): Add force_local argument, make the symbol
1462         have internal linkage if it is true.
1463         (expand_simd_clones): Also check for cloneable functions with
1464         "omp declare target".  Pass explicit_p argument to
1465         simd_clone.compute_vecsize_and_simdlen target hook.
1466         * opts.cc (default_options_table): Add -fopenmp-target-simd-clone.
1467         * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN):
1468         Add bool explicit_p argument.
1469         * doc/tm.texi: Regenerated.
1470         * config/aarch64/aarch64.cc
1471         (aarch64_simd_clone_compute_vecsize_and_simdlen): Update.
1472         * config/gcn/gcn.cc
1473         (gcn_simd_clone_compute_vecsize_and_simdlen): Update.
1474         * config/i386/i386.cc
1475         (ix86_simd_clone_compute_vecsize_and_simdlen): Update.
1477 2022-11-25  Tamar Christina  <tamar.christina@arm.com>
1479         PR target/107830
1480         * config/aarch64/aarch64.cc
1481         (aarch64_vectorize_can_special_div_by_constant): Check validity during
1482         codegen phase as well.
1484 2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1486         * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
1488 2022-11-25  Richard Biener  <rguenther@suse.de>
1490         PR tree-optimization/107865
1491         * tree-cfg.cc (move_sese_region_to_fn): Free the number of
1492         iterations of moved loops.
1494 2022-11-25  Kewen.Lin  <linkw@gcc.gnu.org>
1496         PR target/99889
1497         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry):
1498         Adjust to call function default_print_patchable_function_entry.
1499         * targhooks.cc (default_print_patchable_function_entry_1): Remove and
1500         move the flags preparation ...
1501         (default_print_patchable_function_entry): ... here, adjust to use
1502         current_function_funcdef_no for label no.
1503         * targhooks.h (default_print_patchable_function_entry_1): Remove.
1504         * varasm.cc (default_elf_asm_named_section): Adjust code for
1505         __patchable_function_entries section support with LPFE label.
1507 2022-11-24  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1509         PR tree-optimization/107413
1510         * config/aarch64/aarch64.cc (struct tune_params): Add
1511         fma_reassoc_width to all CPU tuning structures.
1512         (aarch64_reassociation_width): Use fma_reassoc_width.
1513         * config/aarch64/aarch64-protos.h (struct tune_params): Add
1514         fma_reassoc_width.
1516 2022-11-24  Jakub Jelinek  <jakub@redhat.com>
1518         PR middle-end/107317
1519         * asan.cc: Include diagnostic-core.h.
1520         (asan_emit_stack_protection): Return NULL early if seen_error ().
1522 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
1524         * vr-values.cc (simplify_using_ranges::compare_names): Remove.
1525         (vrp_evaluate_conditional_warnv_with_ops): Remove call to
1526         compare_names.
1527         (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p
1528         argument to vrp_evaluate_conditional_warnv_with_ops.
1529         * vr-values.h (class simplify_using_ranges): Remove
1530         compare_names.
1531         Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops.
1533 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
1535         * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs.
1536         (overflow_comparison_p): Remove use_equiv_p.
1537         * tree-vrp.h (overflow_comparison_p): Same.
1538         * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove
1539         use_equiv_p argument to overflow_comparison_p.
1541 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
1543         * doc/gimple.texi: Remove ASSERT_EXPR references.
1544         * fold-const.cc (tree_expr_nonzero_warnv_p): Same.
1545         (fold_binary_loc): Same.
1546         (tree_expr_nonnegative_warnv_p): Same.
1547         * gimple-array-bounds.cc (get_base_decl): Same.
1548         * gimple-pretty-print.cc (dump_unary_rhs): Same.
1549         * gimple.cc (get_gimple_rhs_num_ops): Same.
1550         * pointer-query.cc (handle_ssa_name): Same.
1551         * tree-cfg.cc (verify_gimple_assign_single): Same.
1552         * tree-pretty-print.cc (dump_generic_node): Same.
1553         * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same.
1554         (interpret_rhs_expr): Same.
1555         * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same.
1556         * tree-ssa-propagate.cc
1557         (substitute_and_fold_dom_walker::before_dom_children): Same.
1558         * tree-ssa-threadedge.cc: Same.
1559         * tree-vrp.cc (overflow_comparison_p): Same.
1560         * tree.def (ASSERT_EXPR): Add note.
1561         * tree.h (ASSERT_EXPR_VAR): Remove.
1562         (ASSERT_EXPR_COND): Remove.
1563         * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt):
1564         Remove comment.
1566 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
1568         * Makefile.in: Remove value-range-equiv.o
1569         * gimple-array-bounds.cc
1570         (array_bounds_checker::array_bounds_checker): Remove comment.
1571         * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv.
1572         * value-query.cc (class equiv_allocator): Same.
1573         (range_query::allocate_value_range_equiv): Remove.
1574         (range_query::free_value_range_equiv): Remove.
1575         (range_query::get_value_range): Remove.
1576         * value-query.h (class range_query): Remove get_value_range.
1577         Remove allocate_value_range_equiv.
1578         Remove free_value_range_equiv.
1579         * vr-values.cc (compare_ranges): Replace value_range_equiv with
1580         value_range.
1581         (simplify_using_ranges::get_vr_for_comparison): Same.
1582         (simplify_using_ranges::compare_names): Same.
1583         * vr-values.h: Remove value_range_equiv references.
1584         * value-range-equiv.cc: Removed.
1585         * value-range-equiv.h: Removed.
1587 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
1589         * doc/invoke.texi: Remove docs for max-vrp-switch-assertions,
1590         vrp1-mode, and vrp2-mode.
1591         * params.opt: Same.
1592         * range-op.cc (masked_increment): Move from tree-vrp.cc.
1593         * tree-vrp.cc (class live_names): Remove.
1594         (live_names::init_bitmap_if_needed): Remove.
1595         (live_names::block_has_live_names_p): Remove.
1596         (live_names::clear_block): Remove.
1597         (live_names::merge): Remove.
1598         (live_names::set): Remove.
1599         (live_names::clear): Remove.
1600         (live_names::live_names): Remove.
1601         (live_names::~live_names): Remove.
1602         (live_names::live_on_block_p): Remove.
1603         (live_names::live_on_edge_p): Remove.
1604         (get_single_symbol): Make static.
1605         (build_symbolic_expr): Remove.
1606         (adjust_symbolic_bound): Remove.
1607         (combine_bound): Remove.
1608         (set_value_range_with_overflow): Remove.
1609         (extract_range_from_pointer_plus_expr): Remove.
1610         (extract_range_from_plus_minus_expr): Remove.
1611         (drop_undefines_to_varying): Remove.
1612         (range_fold_binary_symbolics_p): Remove.
1613         (range_fold_unary_symbolics_p): Remove.
1614         (range_fold_binary_expr): Remove.
1615         (infer_value_range): Remove.
1616         (dump_assert_info): Remove.
1617         (dump_asserts_info): Remove.
1618         (add_assert_info): Remove.
1619         (extract_code_and_val_from_cond_with_ops): Remove.
1620         (masked_increment): Move to range-op.cc.
1621         (register_edge_assert_for_2): Remove.
1622         (find_case_label_index): Remove.
1623         (find_case_label_range): Remove.
1624         (register_edge_assert_for_1): Remove.
1625         (is_masked_range_test): Remove.
1626         (register_edge_assert_for): Remove.
1627         (stmt_interesting_for_vrp): Remove.
1628         (struct case_info): Remove.
1629         (struct assert_locus): Remove.
1630         (class vrp_asserts): Remove.
1631         (vrp_asserts::build_assert_expr_for): Remove.
1632         (vrp_asserts::dump): Remove.
1633         (vrp_asserts::register_new_assert_for): Remove.
1634         (vrp_asserts::finish_register_edge_assert_for): Remove.
1635         (vrp_asserts::find_conditional_asserts): Remove.
1636         (vrp_asserts::compare_case_labels): Remove.
1637         (vrp_asserts::find_switch_asserts): Remove.
1638         (vrp_asserts::find_assert_locations_in_bb): Remove.
1639         (vrp_asserts::find_assert_locations): Remove.
1640         (vrp_asserts::process_assert_insertions_for): Remove.
1641         (vrp_asserts::compare_assert_loc): Remove.
1642         (vrp_asserts::process_assert_insertions): Remove.
1643         (vrp_asserts::insert_range_assertions): Remove.
1644         (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove.
1645         (vrp_asserts::remove_range_assertions): Remove.
1646         (class vrp_prop): Remove.
1647         (vrp_prop::initialize): Remove.
1648         (enum ssa_prop_result): Remove.
1649         (vrp_prop::visit_stmt): Remove.
1650         (vrp_prop::visit_phi): Remove.
1651         (vrp_prop::finalize): Remove.
1652         (class vrp_folder): Remove.
1653         (vrp_folder::fold_predicate_in): Remove.
1654         (vrp_folder::fold_stmt): Remove.
1655         (vrp_folder::simplify_casted_conds): Remove.
1656         (execute_vrp): Remove.
1657         * tree-vrp.h (struct assert_info): Remove.
1658         (register_edge_assert_for): Remove.
1659         (stmt_interesting_for_vrp): Remove.
1660         (infer_value_range): Remove.
1661         (get_single_symbol): Remove.
1662         (masked_increment): Remove.
1663         (execute_ranger_vrp): Remove.
1664         * vr-values.cc (set_value_range_to_nonnegative): Remove.
1665         (set_value_range_to_truthvalue): Remove.
1666         (vr_values::get_lattice_entry): Remove.
1667         (vr_values::get_value_range): Remove.
1668         (vr_values::range_of_expr): Remove.
1669         (vr_values::value_of_expr): Remove.
1670         (vr_values::value_on_edge): Remove.
1671         (vr_values::value_of_stmt): Remove.
1672         (vr_values::set_def_to_varying): Remove.
1673         (vr_values::set_defs_to_varying): Remove.
1674         (vr_values::update_value_range): Remove.
1675         (symbolic_range_based_on_p): Remove.
1676         (gimple_assign_nonzero_p): Remove.
1677         (gimple_stmt_nonzero_p): Remove.
1678         (vr_values::vrp_stmt_computes_nonzero): Remove.
1679         (vr_values::op_with_constant_singleton_value_range): Remove.
1680         (vr_values::extract_range_for_var_from_comparison_expr): Remove.
1681         (vr_values::extract_range_from_assert): Remove.
1682         (vr_values::extract_range_from_ssa_name): Remove.
1683         (vr_values::extract_range_from_binary_expr): Remove.
1684         (vr_values::extract_range_from_unary_expr): Remove.
1685         (vr_values::extract_range_from_cond_expr): Remove.
1686         (vr_values::extract_range_from_comparison): Remove.
1687         (vr_values::extract_range_from_ubsan_builtin): Remove.
1688         (vr_values::extract_range_basic): Remove.
1689         (vr_values::extract_range_from_assignment): Remove.
1690         (vr_values::adjust_range_with_scev): Remove.
1691         (vr_values::dump): Remove.
1692         (vr_values::vr_values): Remove.
1693         (vr_values::~vr_values): Remove.
1694         (vrp_valueize): Remove.
1695         (vrp_valueize_1): Remove.
1696         (get_output_for_vrp): Remove.
1697         (vr_values::vrp_visit_assignment_or_call): Remove.
1698         (simplify_using_ranges::vrp_evaluate_conditional): Remove.
1699         (vr_values::vrp_visit_switch_stmt): Remove.
1700         (vr_values::extract_range_from_stmt): Remove.
1701         (vr_values::extract_range_from_phi_node): Remove.
1702         (simplify_using_ranges::fold_cond): Add FIXME note.
1703         (vr_values::set_vr_value): Remove.
1704         (vr_values::swap_vr_value): Remove.
1705         * vr-values.h (class vr_values): Remove.
1706         (get_output_for_vrp): Remove.
1708 2022-11-24  Hongyu Wang  <hongyu.wang@intel.com>
1710         PR target/107692
1711         * common/config/i386/i386-common.cc (ix86_optimization_table):
1712         Enable loop unroll O2, disable -fweb and -frename-registers
1713         by default.
1714         * config/i386/i386-options.cc
1715         (ix86_override_options_after_change):
1716         Disable small loop unroll when funroll-loops enabled, reset
1717         cunroll_grow_size when it is not explicitly enabled.
1718         (ix86_option_override_internal): Call
1719         ix86_override_options_after_change instead of calling
1720         ix86_recompute_optlev_based_flags and ix86_default_align
1721         separately.
1722         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
1723         factor if -munroll-only-small-loops enabled.
1724         * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable
1725         loop unrolling for -O2-speed.
1726         (pass_rtl_unroll_loops::execute): Rmove
1727         targetm.loop_unroll_adjust check.
1729 2022-11-23  Ramana Radhakrishnan  <ramana.gcc@gmail.com>
1731         * config/arm/types.md: Update comment.
1732         (is_neon_type): Add neon_fcmla, neon_fcadd.
1734 2022-11-23  Jonathan Wakely  <jwakely@redhat.com>
1736         * doc/invoke.texi (C++ Dialect Options): Recommend using
1737         -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor.
1739 2022-11-23  Jakub Jelinek  <jakub@redhat.com>
1741         PR bootstrap/107722
1742         * diagnostic.cc (test_diagnostic_get_location_text): Test
1743         special_fname_builtin () rather than "<built-in>" and expect
1744         special_fname_builtin () concatenated with ":" for it.
1746 2022-11-23  Martin Liska  <mliska@suse.cz>
1748         * Makefile.in: Set DO_LINK_MUTEX.
1750 2022-11-23  Lulu Cheng  <chenglulu@loongson.cn>
1751             xujiahao  <xujiahao@loongson.cn>
1753         * config/loongarch/constraints.md (ZD): New constraint.
1754         * config/loongarch/loongarch-def.c: Initial number of parallel prefetch.
1755         * config/loongarch/loongarch-tune.h (struct loongarch_cache):
1756         Define number of parallel prefetch.
1757         * config/loongarch/loongarch.cc (loongarch_option_override_internal):
1758         Set up parameters to be used in prefetching algorithm.
1759         * config/loongarch/loongarch.md (prefetch): New template.
1761 2022-11-23  Marek Polacek  <polacek@redhat.com>
1763         Revert:
1764         2022-11-23  Marek Polacek  <polacek@redhat.com>
1766         * Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
1767         Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
1768         ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
1769         * configure.ac (--enable-host-shared): Don't set PICFLAG here.
1770         (--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
1771         check.
1772         * configure: Regenerate.
1773         * doc/install.texi: Document --enable-host-pie.
1775 2022-11-23  Marek Polacek  <polacek@redhat.com>
1777         Revert:
1778         2022-11-23  Marek Polacek  <polacek@redhat.com>
1780         * configure.ac (--enable-host-bind-now): New check.  Add
1781         -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
1782         * configure: Regenerate.
1783         * doc/install.texi: Document --enable-host-bind-now.
1785 2022-11-23  Marek Polacek  <polacek@redhat.com>
1787         * configure.ac (--enable-host-bind-now): New check.  Add
1788         -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
1789         * configure: Regenerate.
1790         * doc/install.texi: Document --enable-host-bind-now.
1792 2022-11-23  Marek Polacek  <polacek@redhat.com>
1794         * Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
1795         Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
1796         ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
1797         * configure.ac (--enable-host-shared): Don't set PICFLAG here.
1798         (--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
1799         check.
1800         * configure: Regenerate.
1801         * doc/install.texi: Document --enable-host-pie.
1803 2022-11-22  Jeff Law  <jlaw@ventanamicro.com>
1805         * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit.
1807 2022-11-22  Jeff Law  <jlaw@ventanamicro.com>
1809         * tree-ssa-dom.cc (record_edge_info): Fix comment typos.
1811 2022-11-22  Jeff Law  <jeffreyalaw@gmail.com>
1813         * config/riscv/riscv.cc (riscv_get_separate_components): Do not
1814         do shrink-wrapping for a frame with a variable size.
1816 2022-11-22  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1818         * tree-object-size.cc (todo): New variable.
1819         (object_sizes_execute): Use it.
1820         (strdup_object_size): New function.
1821         (call_object_size): Use it.
1823 2022-11-22  Eric Botcazou  <ebotcazou@adacore.com>
1825         * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
1826         Bail out if source and destination do not have the same storage order.
1828 2022-11-22  Martin Jambor  <mjambor@suse.cz>
1830         * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even
1831         for non-candidates.
1833 2022-11-22  Martin Jambor  <mjambor@suse.cz>
1835         * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants
1836         in unused aggregate parameters.
1838 2022-11-22  Martin Jambor  <mjambor@suse.cz>
1840         * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed
1841         member m_split_modifications_p.
1842         * ipa-param-manipulation.cc
1843         (ipa_param_body_adjustments::common_initialization): Do not set
1844         m_split_modifications_p.
1845         (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove
1846         initializations of m_split_modifications_p.
1847         (ipa_param_body_adjustments::modify_call_stmt): Check that
1848         m_replacements is empty instead of m_split_modifications_p.
1850 2022-11-22  Martin Jambor  <mjambor@suse.cz>
1852         PR ipa/107661
1853         * ipa-cp.cc (push_agg_values_from_edge): New parameter
1854         optimize_self_recursion, use it to decide whether to pass interim to
1855         the helper function.
1856         (find_aggregate_values_for_callers_subset): Pass true in the new
1857         parameter of push_agg_values_from_edge.
1858         (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new
1859         parameter of push_agg_values_from_edge.
1861 2022-11-22  Tobias Burnus  <tobias@codesourcery.com>
1862             Andrew Stubbs  <ams@codesourcery.com>
1864         * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P,
1865         GET_STACK_LIMIT): Add new builtins.
1866         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them.
1867         * config/gcn/gcn.md (prologue_use): Add "register_operand" as
1868         arg to match_operand.
1869         (prologue_use_di): New; DI insn_and_split variant of the former.
1871 2022-11-22  Richard Biener  <rguenther@suse.de>
1873         PR tree-optimization/107803
1874         * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add
1875         need_ab_cleanup member.
1876         (substitute_and_fold_dom_walker::before_dom_children): When
1877         a stmt can no longer transfer control flow abnormally set
1878         need_ab_cleanup.
1879         (substitute_and_fold_engine::substitute_and_fold): Cleanup
1880         abnormal control flow.
1882 2022-11-22  Richard Biener  <rguenther@suse.de>
1884         PR tree-optimization/107672
1885         * tree-vect-stmts.cc (supportable_widening_operation): Avoid
1886         type_for_mode on vector modes.
1888 2022-11-22  Richard Biener  <rguenther@suse.de>
1890         PR tree-optimization/107766
1891         * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
1892         Use *node to check for FP vector types.
1894 2022-11-22  liuhongt  <hongtao.liu@intel.com>
1896         * config/i386/mmx.md (*mov<mode>_internal): Add
1897         ix86_hard_reg_move_ok to condition.
1899 2022-11-22  liuhongt  <hongtao.liu@intel.com>
1901         * config/i386/i386.cc (ix86_can_change_mode_class): Also guard
1902         size of TO.
1903         (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE
1904         * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to
1905         ..
1906         (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode.
1907         (VALID_SSE_REG_MODE): Add DI/HImode.
1909 2022-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1911         * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define.
1913 2022-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1915         * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined.
1916         (cc1_spec): Append SUBTARGET_CC1_SPEC.
1918 2022-11-21  Dimitar Dimitrov  <dimitar@dinux.eu>
1920         * doc/sourcebuild.texi (sockets): Document new check.
1922 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
1924         * tree-ssa-loop.h (tree_niter_desc): Update comment.
1926 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
1928         * tree-ssa-loop-niter.cc
1929         (number_of_iterations_exit_assumptions): Modify to call...
1930         (number_of_iterations_bitcount): ...this new function.
1931         (number_of_iterations_popcount): Now called by the above.
1932         Refactor, and extract popcount expression builder to...
1933         (build_popcount_expr): this new function.
1935 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
1937         * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move
1938         (number_of_iterations_popcount): Move, and remove separate prototype.
1940 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
1942         * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions):
1943         Move at_stmt assignment.
1945 2022-11-21  Christophe Lyon  <christophe.lyon@arm.com>
1947         * genmultilib: Fix options and dirnames/osdirnames sanity check.
1949 2022-11-21  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1951         PR target/107786
1952         * config/riscv/riscv.md
1953         (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI
1954         in a subreg, as our branch instructions only supports X.
1956 2022-11-21  Jakub Jelinek  <jakub@redhat.com>
1958         PR target/107748
1959         * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
1960         _mm512_castph512_ph256, _mm512_castph128_ph512,
1961         _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
1962         variables and union members.
1963         * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
1964         _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
1965         * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
1967 2022-11-21  Christophe Lyon  <christophe.lyon@arm.com>
1969         * genmultilib: Add sanity check.
1971 2022-11-21  Eric Botcazou  <ebotcazou@adacore.com>
1973         * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>:
1974         Change decl_required field to false.
1975         (arm_handle_cmse_nonsecure_call): Deal with a TYPE node.
1977 2022-11-21  Andrew Pinski  <apinski@marvell.com>
1979         * gimplify.cc (gimplify_modify_expr): If
1980         either *from_p or *to_p were error_operand
1981         return early.
1983 2022-11-21  liuhongt  <hongtao.liu@intel.com>
1985         * config/i386/i386-builtins.cc (def_builtin): Handle "shared"
1986         avx512bf16vl-avxneconvert builtins.
1988 2022-11-20  Jakub Jelinek  <jakub@redhat.com>
1990         PR target/107183
1991         * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
1992         If >= 0 and a DEBUG_INSN would be otherwise returned, set
1993         DEBUG_SEEN to 1 and ignore it.
1994         (swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
1995         mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
1996         were seen and revert all changes on success in that case.
1997         Don't try to recog_memoized DEBUG_INSNs.
1998         (compare_for_stack_reg): Adjust swap_rtx_condition caller.
1999         If it returns true and debug_seen is 1, call swap_rtx_condition
2000         again with debug_seen -1.
2002 2022-11-20  Jeff Law  <jlaw@ventanamicro.com>
2004         PR other/104044
2005         * config/mn10300/mn10300.cc (mn10300_print_operand): Remove
2006         extraneous semicolon.
2007         * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise.
2009 2022-11-19  Andrew Pinski  <apinski@marvell.com>
2011         PR middle-end/14840
2012         * tree-core.h (tree_code_type): Constexprify
2013         by including all-tree.def.
2014         (tree_code_length): Likewise.
2015         * tree.cc (tree_code_type): Remove.
2016         (tree_code_length): Remove.
2018 2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
2020         * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
2021         '-mmainkernel'.
2023 2022-11-19  Jonathan Wakely  <jwakely@redhat.com>
2024             LIU Hao  <lh_mouse@126.com>
2026         * system.h [INCLUDE_MUTEX]: Include header for std::mutex.
2028 2022-11-19  Jakub Jelinek  <jakub@redhat.com>
2030         PR target/107628
2031         * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf):
2032         Declare.
2033         * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New
2034         function.
2035         * config/i386/i386.md (cbranchbf4, cstorebf4): Use it.
2037 2022-11-19  Jeff Chapman II  <jchapman@lock3software.com>
2038             Andrew Sutton   <asutton@lock3software.com>
2039             Andrew Marmaduke  <amarmaduke@lock3software.com>
2040             Michael Lopez  <mlopez@lock3software.com>
2041             Jason Merrill   <jason@redhat.com>
2043         * doc/invoke.texi: Document contracts flags.
2045 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2047         * config/riscv/bitmanip.md (*minmax): Additional pattern for
2048         min/max against constants that are extension-invariant.
2049         * config/riscv/iterators.md (minmax_optab): Add an iterator
2050         that has only min and max rtl.
2052 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2054         * config/riscv/bitmanip.md
2055         (*branch<X:mode>_mask_twobits_equals_singlebit):
2056         Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C
2057         has one of these tow bits set.
2058         * config/riscv/predicates.md (const_twobits_not_arith_operand):
2059         New predicate.
2061 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2063         * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit):
2064         New pattern for binvi+binvi/xori and bseti+bseti/ori
2065         (*andi<mode>_extrabit): New pattern for bclri+bclri/andi
2066         * config/riscv/iterators.md (any_or): Match or and ior
2067         * config/riscv/predicates.md (const_twobits_operand):
2068         New predicate.
2069         (uimm_extra_bit_operand): New predicate.
2070         (uimm_extra_bit_or_twobits): New predicate.
2071         (not_uimm_extra_bit_operand): New predicate.
2072         (not_uimm_extra_bit_or_nottwobits): New predicate.
2073         * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND):
2074         Helper for the uimm_extra_bit_operand and
2075         not_uimm_extra_bit_operand predicates.
2077 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2079         * config/riscv/bitmanip.md: Handle corner-cases for combine
2080         when chaining slli(.uw)? + addw
2081         * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p):
2082         Define prototype.
2083         * config/riscv/riscv.cc (riscv_shamt_matches_mask_p):
2084         Helper for evaluating the relationship between two operands.
2086 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2088         * config/riscv/bitmanip.md: Add a define_split to optimize
2089         slliw + addiw + divw into sh[123]add + divw.
2091 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2093         * config/riscv/predicates.md (shifted_const_arith_operand): New predicate.
2094         (uimm_extra_bit_operand): New predicate.
2095         * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero):
2096         New pattern.
2097         (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern.
2099 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2101         * config/riscv/bitmanip.md (*bsetidisi): New pattern.
2103 2022-11-18  Richard Purdie  <richard.purdie@linuxfoundation.org>
2105         * doc/invoke.texi: Document prefix-maps don't affect directives.
2107 2022-11-18  Andrew Pinski  <apinski@marvell.com>
2109         PR middle-end/107705
2110         * function.cc (aggregate_value_p): Return 0 if
2111         the function type was an error operand.
2113 2022-11-18  Andrew Pinski  <apinski@marvell.com>
2115         PR c/106764
2116         PR c/106765
2117         PR c/107307
2118         * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
2119         if gimplify_expr had return GS_ERROR.
2120         (gimplify_call_expr): Likewise.
2122 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2124         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
2125         Use <GPI:w>  for destination format.
2126         * config/aarch64/iterators.md (w_sz): Delete.
2128 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2130         * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
2131         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
2132         Adjust output template.
2133         (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
2134         Adjust output template.
2135         * config/aarch64/iterators.md (w_sz): New mode attr.
2137 2022-11-18  Richard Biener  <rguenther@suse.de>
2139         PR tree-optimization/107647
2140         * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
2141         allow FMA generation with -ffp-contract=fast for FP types.
2142         (complex_mul_pattern::matches): Likewise.
2144 2022-11-18  Jinyang He  <hejinyang@loongson.cn>
2146         PR target/107713
2147         * config/loongarch/sync.md
2148         (atomic_cas_value_exchange_7_<mode>): New define_insn.
2149         (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
2150         atomic_cas_value_cmp_and_7_si.
2152 2022-11-17  Andrew Pinski  <apinski@marvell.com>
2154         PR middle-end/107734
2155         * match.pd (perm + vector op pattern): Clear the sbitmap before
2156         use.
2158 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
2160         PR tree-optimization/107732
2161         * range-op-float.cc (foperator_abs::op1_range): Early exit when
2162         result is undefined.
2164 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2166         * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
2167         (*bclridisi_nottwobits): New pattern, handling the sign-bit.
2168         * config/riscv/predicates.md (const_nottwobits_operand):
2169         New predicate.
2171 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2173         * config/riscv/bitmanip.md: Add a splitter to generate
2174         polarity-reversed masks from a set bit using bexti + addi.
2176 2022-11-17  mtsamis  <manolis.tsamis@vrull.eu>
2178         * config/riscv/riscv.cc (struct machine_function): Add array to store
2179         register wrapping information.
2180         (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
2181         (riscv_get_separate_components): New function.
2182         (riscv_components_for_bb): Likewise.
2183         (riscv_disqualify_components): Likewise.
2184         (riscv_process_components): Likewise.
2185         (riscv_emit_prologue_components): Likewise.
2186         (riscv_emit_epilogue_components): Likewise.
2187         (riscv_set_handled_components): Likewise.
2188         (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
2189         (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
2190         (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
2191         (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
2192         (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
2193         (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
2195 2022-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2197         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
2198         Add mode size check to condition.
2199         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
2201 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
2203         PR tree-optimization/68097
2204         * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
2205         range_of_stmt for floats.
2207 2022-11-17  Lili Cui  <lili.cui@intel.com>
2209         * config/i386/x86-tune.def
2210         (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
2211         (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
2213 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
2215         PR tree-optimization/107717
2216         * match.pd: Ensure same SSA_NAME.
2218 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
2220         * match.pd: Replace GET_MODE_WIDER_MODE with
2221         custom code.
2223 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
2225         * range-op-float.cc (range_operator_float::fold_range): Make check
2226         for maybe_isnan more readable.
2228 2022-11-17  Kewen Lin  <linkw@linux.ibm.com>
2230         * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
2231         tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
2233 2022-11-17  Jia-Wei Chen  <jiawei@iscas.ac.cn>
2235         * config/riscv/riscv.cc (riscv_expand_epilogue):
2236         Do not emit useless add sp, sp, 0 instrutions.
2238 2022-11-17  Jeff Law  <jlaw@ventanamicro.com>
2240         * config/sh/sh_treg_combine.cc: Include tm-preds.h.
2241         (t_reg_operand): Remove bogus prototype.
2242         (negt_reg_operand): Likewise.
2244 2022-11-16  Marek Polacek  <polacek@redhat.com>
2246         PR c++/106649
2247         * doc/invoke.texi: Document -Winvalid-constexpr.
2249 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2251         * config/riscv/bitmanip.md: Add split covering
2252         "(a & (1 << BIT_NO)) ? 0 : 1".
2254 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2256         * config/riscv/bitmanip.md (*bext<mode>): Add an additional
2257         pattern that allows the 3rd argument to zero_extract to be
2258         an Xmode register operand.
2260 2022-11-16  Richard Biener  <rguenther@suse.de>
2262         PR tree-optimization/107686
2263         * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
2264         VEC_UNPACK support to integral typed bitfield refs.
2266 2022-11-16  Richard Biener  <rguenther@suse.de>
2268         PR middle-end/107679
2269         * tree-into-ssa.cc (maybe_register_def): Use new temporary if
2270         we require an uninitialized value for a parameter decl.
2272 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
2274         PR target/107676
2275         * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
2277 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
2279         PR target/87832
2280         * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
2281         the reservation.
2282         (znver1_fp_op_mul_load): Ditto.
2283         (znver1_mmx_mul): Ditto.
2284         (znver1_mmx_load): Ditto.
2285         (znver1_ssemul_ss_ps): Ditto.
2286         (znver1_ssemul_ss_ps_load): Ditto.
2287         (znver1_ssemul_avx256_ps): Ditto.
2288         (znver1_ssemul_avx256_ps_load): Ditto.
2289         (znver1_ssemul_sd_pd): Ditto.
2290         (znver1_ssemul_sd_pd_load): Ditto.
2291         (znver2_ssemul_sd_pd): Ditto.
2292         (znver2_ssemul_sd_pd_load): Ditto.
2293         (znver1_ssemul_avx256_pd): Ditto.
2294         (znver1_ssemul_avx256_pd_load): Ditto.
2295         (znver1_sseimul): Ditto.
2296         (znver1_sseimul_avx256): Ditto.
2297         (znver1_sseimul_load): Ditto.
2298         (znver1_sseimul_avx256_load): Ditto.
2299         (znver1_sseimul_di): Ditto.
2300         (znver1_sseimul_load_di): Ditto.
2302 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
2304         PR target/87832
2305         * config/i386/znver.md (znver1_fdiv): New automaton.
2306         (znver1-fdiv): New unit.
2307         (znver1_fp_op_div): Correct unit and cycles in the reservation.
2308         (znver1_fp_op_div_load): Ditto.
2309         (znver1_fp_op_idiv_load): Ditto.
2310         (znver2_fp_op_idiv_load): Ditto.
2311         (znver1_ssediv_ss_ps): Ditto.
2312         (znver1_ssediv_ss_ps_load): Ditto.
2313         (znver1_ssediv_sd_pd): Ditto.
2314         (znver1_ssediv_sd_pd_load): Ditto.
2315         (znver1_ssediv_avx256_ps): Ditto.
2316         (znver1_ssediv_avx256_ps_load): Ditto.
2317         (znver1_ssediv_avx256_pd): Ditto.
2318         (znver1_ssediv_avx256_pd_load): Ditto.
2320 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
2321             Andrew Stubbs  <ams@codesourcery.com>
2323         * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
2324         * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
2325         sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
2326         (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
2327         (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
2329 2022-11-16  David Malcolm  <dmalcolm@redhat.com>
2331         * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
2333 2022-11-16  Max Filippov  <jcmvbkbc@gmail.com>
2335         PR target/107645
2336         * config/m68k/predicates.md (symbolic_operand): Return false
2337         when UNSPEC is under the CONST node.
2339 2022-11-16  Christoph Müllner  <christoph.muellner@vrull.eu>
2341         * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
2343 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
2345         * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
2346         besides tailing '$nohost' as being for reverse offload.
2348 2022-11-16  Jakub Jelinek  <jakub@redhat.com>
2350         PR tree-optimization/107668
2351         * range-op-float.cc (float_binary_op_range_finish): Set VARYING
2352         also when r is UNDEFINED.
2354 2022-11-16  Kewen Lin  <linkw@linux.ibm.com>
2356         PR rtl-optimization/90259
2357         * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
2358         parameter fun, and call function purge_all_dead_edges.
2359         (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
2360         as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
2362 2022-11-15  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2364         * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
2365         add the pause machine-dependent builtin with no result and no
2366         arguments; mark it as always present (pause is a true hint
2367         that encodes into a fence-insn, if not supported with the new
2368         pause semantics).
2369         * config/riscv/riscv-ftypes.def: Add type for void -> void.
2370         * config/riscv/riscv.md (riscv_pause): Add risc_pause and
2371         UNSPECV_PAUSE
2372         * doc/extend.texi: Document __builtin_riscv_pause.
2373         * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
2375 2022-11-15  David Faust  <david.faust@oracle.com>
2377         * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
2378         variable in error case.
2380 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
2382         PR analyzer/106140
2383         * doc/invoke.texi (Static Analyzer Options): Add
2384         -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch.  Add
2385         "socket", "bind", "listen", "accept", and "connect" to the list of
2386         functions known to the analyzer.
2388 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
2390         PR analyzer/106302
2391         * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
2392         (GTFILES): Add analyzer/analyzer-language.cc.
2393         * doc/analyzer.texi: Document __analyzer_dump_named_constant.
2395 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
2397         * json.h (class string): Add M_LEN member to store the length of
2398         the data.  Add constructor taking an explicit length.
2399         * json.cc (string::string):  Implement the new constructor.
2400         (string::print): Support printing strings that are not
2401         null-terminated.  Escape embdedded null bytes on output.
2402         (test_writing_strings): Test the new null-byte-related features of
2403         json::string.
2405 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
2407         * diagnostic.cc (diagnostic_get_location_text): Use
2408         special_fname_builtin () rather than a hardcoded string (which was
2409         also incorrectly left untranslated previously.)
2410         * input.cc (special_fname_builtin): New function.
2411         (expand_location_1): Use special_fname_builtin () rather than a
2412         hard-coded string.
2413         (test_builtins): Likewise.
2414         * input.h (special_fname_builtin): Declare.
2416 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
2418         * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
2419         location in return value of linemap_resolve_location().
2421 2022-11-15  Jonathan Wakely  <jwakely@redhat.com>
2423         * doc/cpp.texi (Pragmas): Use @item and @itemx for region
2424         pragmas.
2426 2022-11-15  Maciej W. Rozycki  <macro@embecosm.com>
2428         * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
2429         `full_costs'.
2431 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2433         * config/aarch64/atomics.md
2434         (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
2435         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
2437 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2438             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2440         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
2441         (TARGET_RCPC): New Macro.
2442         * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
2443         (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
2444         (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
2445         * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
2446         * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
2447         on code generation.
2449 2022-11-15  Hongyu Wang  <hongyu.wang@intel.com>
2451         PR target/98167
2452         * match.pd: New perm + vector op patterns for int and fp vector.
2454 2022-11-15  Andrew Pinski  <apinski@marvell.com>
2456         * doc/invoke.texi: Remove Score option section.
2458 2022-11-15  Andrew Pinski  <apinski@marvell.com>
2460         * doc/extend.texi: Remove picoChip builtin section.
2461         * doc/invoke.texi: Remove picoChip option section.
2463 2022-11-15  Andrew Pinski  <apinski@marvell.com>
2465         * doc/extend.texi: Remove MeP documentation.
2466         * doc/invoke.texi: Remove MeP Options documentation.
2468 2022-11-15  Andrew Pinski  <apinski@marvell.com>
2470         * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
2472 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2474         Revert:
2475         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2477         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
2478         (RISCV_CORE): Ditto.
2479         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
2480         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
2481         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
2483 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2485         Revert:
2486         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2488         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
2489         constants to identify supported fusion patterns.
2490         (struct riscv_tune_param): Add fusible_op field.
2491         (riscv_macro_fusion_p): Implement.
2492         (riscv_fusion_enabled_p): Implement.
2493         (riscv_macro_fusion_pair_p): Implement and recognize fusible
2494         idioms for Ventana VT1.
2495         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
2496         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
2497         riscv_macro_fusion_pair_p.
2499 2022-11-14  Maciej W. Rozycki  <macro@embecosm.com>
2501         * ira-build.cc (create_insn_allocnos): Fix documentation.
2503 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
2505         * match.pd: Remove returns.
2507 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2509         * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
2510         unspec.
2511         * config/riscv/riscv.md: Add UNSPEC_ORC_B.
2513 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
2515         * target.def: Fix typo.
2517 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2519         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
2520         constants to identify supported fusion patterns.
2521         (struct riscv_tune_param): Add fusible_op field.
2522         (riscv_macro_fusion_p): Implement.
2523         (riscv_fusion_enabled_p): Implement.
2524         (riscv_macro_fusion_pair_p): Implement and recognize fusible
2525         idioms for Ventana VT1.
2526         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
2527         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
2528         riscv_macro_fusion_pair_p.
2530 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2532         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
2533         (RISCV_CORE): Ditto.
2534         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
2535         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
2536         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
2538 2022-11-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2540         * config/aarch64/aarch64-option-extensions.def (cssc): Define.
2541         * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
2542         (TARGET_CSSC): Likewise.
2543         * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
2544         (abs<mode>2): Adjust for the above.
2545         (aarch64_umax<mode>3_insn): New define_insn.
2546         (umax<mode>3): Adjust for the above.
2547         (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
2548         (popcount<mode>2): Adjust for the above.
2549         (<optab><mode>3): New define_insn.
2550         * config/aarch64/constraints.md (Usm): Define.
2551         (Uum): Likewise.
2552         * doc/invoke.texi (AArch64 options): Document +cssc.
2553         * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
2554         * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
2555         (aarch64_sminmax_operand): Likewise.
2556         (aarch64_uminmax_immediate): Likewise.
2557         (aarch64_uminmax_operand): Likewise.
2559 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
2561         * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
2563 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
2565         * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
2566         * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
2568 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
2570         * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
2571         * expmed.cc (expand_divmod): Likewise.
2572         * explow.cc (round_push, align_dynamic_address): Likewise.
2573         * expr.cc (force_operand, expand_expr_divmod): Likewise.
2574         * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
2575         Likewise.
2576         * target.h: Include tree-core.
2577         * target.def (can_special_div_by_const): New.
2578         * targhooks.cc (default_can_special_div_by_const): New.
2579         * targhooks.h (default_can_special_div_by_const): New.
2580         * tree-vect-generic.cc (expand_vector_operation): Use it.
2581         * doc/tm.texi.in: Document it.
2582         * doc/tm.texi: Regenerate.
2583         * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
2584         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
2586 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
2588         * generic-match-head.cc: Include langooks.
2589         * gimple-match-head.cc: Likewise.
2590         * match.pd: Add fneg/fadd rule.
2592 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
2594         * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
2595         * config/arm/arm-tables.opt: Regenerate.
2596         * config/arm/arm-tune.md: Likewise.
2597         * doc/invoke.texi: Document Cortex-X1C CPU.
2599 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
2601         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
2602         CPU.
2603         * config/aarch64/aarch64-tune.md: Regenerate.
2604         * doc/invoke.texi: Document Cortex-X3 CPU.
2606 2022-11-14  Andrew Pinski  <apinski@marvell.com>
2608         * doc/invoke.texi: Fix @opindex
2609         for m80387 option.
2611 2022-11-14  Andrew Pinski  <apinski@marvell.com>
2613         * doc/invoke.texi: Remove the front - from
2614         some @opindex.
2616 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2618         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
2619         * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
2620         * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
2621         Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
2622         registers and then +1/-1).
2623         * config/aarch64/aarch64-tune.md: Regenerate.
2624         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
2625         idiom-matcher for the new fusion pair.
2626         * doc/invoke.texi: Add ampere1a.
2628 2022-11-14  Richard Biener  <rguenther@suse.de>
2630         * match.pd: Remove duplicates.
2632 2022-11-14  Martin Liska  <mliska@suse.cz>
2634         * doc/contrib.texi: Port from Sphinx.
2635         * doc/cpp.texi: Likewise.
2636         * doc/install.texi: Likewise.
2637         * doc/invoke.texi: Likewise.
2639 2022-11-14  Martin Liska  <mliska@suse.cz>
2641         Revert:
2642         2022-11-14  Martin Liska  <mliska@suse.cz>
2644         * doc/cpp/character-sets.rst: New file.
2645         * doc/cpp/conditional-syntax.rst: New file.
2646         * doc/cpp/conditional-uses.rst: New file.
2647         * doc/cpp/conditionals.rst: New file.
2648         * doc/cpp/conf.py: New file.
2649         * doc/cpp/copyright.rst: New file.
2650         * doc/cpp/deleted-code.rst: New file.
2651         * doc/cpp/diagnostics.rst: New file.
2652         * doc/cpp/environment-variables.rst: New file.
2653         * doc/cpp/gnu-free-documentation-license.rst: New file.
2654         * doc/cpp/header-files.rst: New file.
2655         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
2656         * doc/cpp/header-files/computed-includes.rst: New file.
2657         * doc/cpp/header-files/include-operation.rst: New file.
2658         * doc/cpp/header-files/include-syntax.rst: New file.
2659         * doc/cpp/header-files/once-only-headers.rst: New file.
2660         * doc/cpp/header-files/search-path.rst: New file.
2661         * doc/cpp/header-files/system-headers.rst: New file.
2662         * doc/cpp/header-files/wrapper-headers.rst: New file.
2663         * doc/cpp/implementation-defined-behavior.rst: New file.
2664         * doc/cpp/implementation-details.rst: New file.
2665         * doc/cpp/implementation-limits.rst: New file.
2666         * doc/cpp/index.rst: New file.
2667         * doc/cpp/indices-and-tables.rst: New file.
2668         * doc/cpp/initial-processing.rst: New file.
2669         * doc/cpp/invocation.rst: New file.
2670         * doc/cpp/line-control.rst: New file.
2671         * doc/cpp/macros.rst: New file.
2672         * doc/cpp/macros/concatenation.rst: New file.
2673         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
2674         * doc/cpp/macros/function-like-macros.rst: New file.
2675         * doc/cpp/macros/macro-arguments.rst: New file.
2676         * doc/cpp/macros/macro-pitfalls.rst: New file.
2677         * doc/cpp/macros/object-like-macros.rst: New file.
2678         * doc/cpp/macros/predefined-macros.rst: New file.
2679         * doc/cpp/macros/stringizing.rst: New file.
2680         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
2681         * doc/cpp/macros/variadic-macros.rst: New file.
2682         * doc/cpp/obsolete-features.rst: New file.
2683         * doc/cpp/other-directives.rst: New file.
2684         * doc/cpp/overview.rst: New file.
2685         * doc/cpp/pragmas.rst: New file.
2686         * doc/cpp/preprocessor-output.rst: New file.
2687         * doc/cpp/the-preprocessing-language.rst: New file.
2688         * doc/cpp/tokenization.rst: New file.
2689         * doc/cpp/traditional-lexical-analysis.rst: New file.
2690         * doc/cpp/traditional-macros.rst: New file.
2691         * doc/cpp/traditional-miscellany.rst: New file.
2692         * doc/cpp/traditional-mode.rst: New file.
2693         * doc/cpp/traditional-warnings.rst: New file.
2694         * doc/cppinternals/conf.py: New file.
2695         * doc/cppinternals/copyright.rst: New file.
2696         * doc/cppinternals/cppinternals.rst: New file.
2697         * doc/cppinternals/cpplib.rst: New file.
2698         * doc/cppinternals/files.rst: New file.
2699         * doc/cppinternals/index.rst: New file.
2700         * doc/cppinternals/indices-and-tables.rst: New file.
2701         * doc/cppinternals/internal-representation-of-macros.rst: New file.
2702         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
2703         * doc/cppinternals/lexing-a-line.rst: New file.
2704         * doc/cppinternals/lexing-a-token.rst: New file.
2705         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
2706         * doc/cppinternals/macro-expansion-overview.rst: New file.
2707         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
2708         * doc/cppinternals/multiple-include-optimization.rst: New file.
2709         * doc/cppinternals/overview.rst: New file.
2710         * doc/cppinternals/representation-of-line-numbers.rst: New file.
2711         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
2712         * doc/gcc/binary-compatibility.rst: New file.
2713         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
2714         * doc/gcc/c-implementation-defined-behavior.rst: New file.
2715         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
2716         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
2717         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
2718         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
2719         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
2720         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
2721         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
2722         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
2723         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
2724         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
2725         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
2726         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
2727         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
2728         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
2729         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
2730         New file.
2731         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
2732         * doc/gcc/conditionally-supported-behavior.rst: New file.
2733         * doc/gcc/conf.py: New file.
2734         * doc/gcc/contributing-to-gcc-development.rst: New file.
2735         * doc/gcc/contributors-to-gcc.rst: New file.
2736         * doc/gcc/copyright.rst: New file.
2737         * doc/gcc/exception-handling.rst: New file.
2738         * doc/gcc/extensions-to-the-c++-language.rst: New file.
2739         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
2740         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
2741         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
2742         New file.
2743         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
2744         New file.
2745         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
2746         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
2747         New file.
2748         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
2749         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
2750         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
2751         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
2752         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
2753         New file.
2754         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
2755         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
2756         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
2757         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
2758         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
2759         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
2760         New file.
2761         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
2762         New file.
2763         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
2764         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
2765         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
2766         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
2767         New file.
2768         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
2769         New file.
2770         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
2771         New file.
2772         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
2773         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
2774         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
2775         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
2776         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
2777         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
2778         New file.
2779         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
2780         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
2781         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
2782         New file.
2783         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
2784         New file.
2785         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
2786         New file.
2787         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
2788         New file.
2789         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
2790         New file.
2791         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
2792         New file.
2793         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
2794         New file.
2795         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
2796         New file.
2797         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
2798         New file.
2799         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
2800         New file.
2801         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
2802         New file.
2803         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
2804         New file.
2805         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
2806         New file.
2807         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
2808         New file.
2809         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
2810         New file.
2811         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
2812         New file.
2813         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
2814         New file.
2815         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
2816         New file.
2817         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
2818         New file.
2819         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
2820         New file.
2821         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
2822         New file.
2823         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
2824         New file.
2825         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
2826         New file.
2827         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
2828         New file.
2829         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
2830         New file.
2831         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
2832         New file.
2833         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
2834         New file.
2835         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
2836         New file.
2837         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
2838         New file.
2839         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
2840         New file.
2841         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
2842         New file.
2843         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
2844         New file.
2845         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
2846         New file.
2847         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
2848         New file.
2849         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
2850         New file.
2851         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
2852         New file.
2853         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
2854         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
2855         New file.
2856         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
2857         New file.
2858         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
2859         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
2860         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
2861         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
2862         New file.
2863         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
2864         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
2865         New file.
2866         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
2867         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
2868         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
2869         New file.
2870         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
2871         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
2872         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
2873         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
2874         New file.
2875         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
2876         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
2877         New file.
2878         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
2879         New file.
2880         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
2881         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
2882         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
2883         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
2884         New file.
2885         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
2886         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
2887         New file.
2888         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
2889         New file.
2890         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
2891         New file.
2892         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
2893         New file.
2894         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
2895         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
2896         New file.
2897         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
2898         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
2899         New file.
2900         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
2901         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
2902         New file.
2903         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
2904         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
2905         New file.
2906         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
2907         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
2908         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
2909         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
2910         New file.
2911         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
2912         New file.
2913         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
2914         New file.
2915         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
2916         New file.
2917         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
2918         New file.
2919         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
2920         New file.
2921         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
2922         New file.
2923         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
2924         New file.
2925         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
2926         New file.
2927         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
2928         New file.
2929         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
2930         New file.
2931         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
2932         New file.
2933         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
2934         New file.
2935         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
2936         New file.
2937         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
2938         New file.
2939         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
2940         New file.
2941         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
2942         New file.
2943         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
2944         New file.
2945         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
2946         New file.
2947         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
2948         New file.
2949         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
2950         New file.
2951         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
2952         New file.
2953         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
2954         New file.
2955         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
2956         New file.
2957         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
2958         New file.
2959         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
2960         New file.
2961         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
2962         New file.
2963         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
2964         New file.
2965         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
2966         New file.
2967         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
2968         New file.
2969         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
2970         New file.
2971         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
2972         New file.
2973         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
2974         New file.
2975         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
2976         New file.
2977         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
2978         New file.
2979         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
2980         New file.
2981         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
2982         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
2983         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
2984         New file.
2985         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
2986         New file.
2987         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
2988         New file.
2989         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
2990         New file.
2991         * doc/gcc/funding.rst: New file.
2992         * doc/gcc/gcc-command-options.rst: New file.
2993         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
2994         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
2995         * doc/gcc/gcc-command-options/description.rst: New file.
2996         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
2997         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
2998         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
2999         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
3000         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
3001         New file.
3002         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
3003         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
3004         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
3005         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
3006         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
3007         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
3008         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
3009         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
3010         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
3011         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
3012         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
3013         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
3014         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
3015         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
3016         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
3017         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
3018         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
3019         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
3020         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
3021         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
3022         New file.
3023         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
3024         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
3025         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
3026         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
3027         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
3028         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
3029         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
3030         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
3031         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
3032         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
3033         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
3034         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
3035         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
3036         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
3037         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
3038         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
3039         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
3040         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
3041         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
3042         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
3043         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
3044         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
3045         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
3046         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
3047         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
3048         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
3049         New file.
3050         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
3051         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
3052         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
3053         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
3054         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
3055         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
3056         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
3057         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
3058         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
3059         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
3060         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
3061         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
3062         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
3063         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
3064         * doc/gcc/gcc-command-options/option-summary.rst: New file.
3065         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
3066         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
3067         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
3068         New file.
3069         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
3070         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
3071         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
3072         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
3073         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
3074         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
3075         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
3076         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
3077         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3078         New file.
3079         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
3080         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
3081         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
3082         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
3083         New file.
3084         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
3085         * doc/gcc/gcc.rst: New file.
3086         * doc/gcc/gcov-dump.rst: New file.
3087         * doc/gcc/gcov-tool.rst: New file.
3088         * doc/gcc/gcov.rst: New file.
3089         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
3090         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
3091         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
3092         * doc/gcc/gcov/invoking-gcov.rst: New file.
3093         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
3094         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
3095         * doc/gcc/general-public-license-3.rst: New file.
3096         * doc/gcc/gnu-free-documentation-license.rst: New file.
3097         * doc/gcc/gnu-objective-c-features.rst: New file.
3098         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
3099         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
3100         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
3101         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
3102         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
3103         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
3104         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
3105         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
3106         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
3107         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
3108         * doc/gcc/gnu.rst: New file.
3109         * doc/gcc/have-you-found-a-bug.rst: New file.
3110         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
3111         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
3112         * doc/gcc/index.rst: New file.
3113         * doc/gcc/indices-and-tables.rst: New file.
3114         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
3115         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
3116         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
3117         New file.
3118         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
3119         New file.
3120         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
3121         New file.
3122         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
3123         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
3124         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
3125         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
3126         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
3127         New file.
3128         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
3129         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
3130         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
3131         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
3132         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
3133         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
3134         New file.
3135         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
3136         * doc/gcc/lto-dump.rst: New file.
3137         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
3138         * doc/gcc/reporting-bugs.rst: New file.
3139         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
3140         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
3141         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
3142         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
3143         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
3144         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
3145         New file.
3146         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
3147         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
3148         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
3149         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
3150         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
3151         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
3152         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
3153         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
3154         New file.
3155         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
3156         * doc/gccint/analyzer-internals.rst: New file.
3157         * doc/gccint/collect2.rst: New file.
3158         * doc/gccint/conf.py: New file.
3159         * doc/gccint/contributing-to-gcc-development.rst: New file.
3160         * doc/gccint/contributors-to-gcc.rst: New file.
3161         * doc/gccint/control-flow-graph.rst: New file.
3162         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
3163         * doc/gccint/control-flow-graph/edges.rst: New file.
3164         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
3165         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
3166         * doc/gccint/control-flow-graph/profile-information.rst: New file.
3167         * doc/gccint/copyright.rst: New file.
3168         * doc/gccint/debugging-the-analyzer.rst: New file.
3169         * doc/gccint/funding.rst: New file.
3170         * doc/gccint/gcc-and-portability.rst: New file.
3171         * doc/gccint/general-public-license-3.rst: New file.
3172         * doc/gccint/generic.rst: New file.
3173         * doc/gccint/generic/attributes-in-trees.rst: New file.
3174         * doc/gccint/generic/c-and-c++-trees.rst: New file.
3175         * doc/gccint/generic/declarations.rst: New file.
3176         * doc/gccint/generic/deficiencies.rst: New file.
3177         * doc/gccint/generic/expressions.rst: New file.
3178         * doc/gccint/generic/functions.rst: New file.
3179         * doc/gccint/generic/language-dependent-trees.rst: New file.
3180         * doc/gccint/generic/overview.rst: New file.
3181         * doc/gccint/generic/statements.rst: New file.
3182         * doc/gccint/generic/types.rst: New file.
3183         * doc/gccint/gimple-api.rst: New file.
3184         * doc/gccint/gimple.rst: New file.
3185         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
3186         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
3187         * doc/gccint/gimple/exception-handling.rst: New file.
3188         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
3189         * doc/gccint/gimple/gimple-sequences.rst: New file.
3190         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
3191         * doc/gccint/gimple/operands.rst: New file.
3192         * doc/gccint/gimple/sequence-iterators.rst: New file.
3193         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
3194         * doc/gccint/gimple/temporaries.rst: New file.
3195         * doc/gccint/gimple/tuple-representation.rst: New file.
3196         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
3197         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
3198         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
3199         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
3200         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
3201         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
3202         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
3203         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
3204         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
3205         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
3206         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
3207         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
3208         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
3209         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
3210         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
3211         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
3212         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
3213         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
3214         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
3215         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
3216         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
3217         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
3218         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
3219         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
3220         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
3221         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
3222         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
3223         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
3224         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
3225         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
3226         * doc/gccint/gnu-free-documentation-license.rst: New file.
3227         * doc/gccint/guidelines-for-diagnostics.rst: New file.
3228         * doc/gccint/guidelines-for-options.rst: New file.
3229         * doc/gccint/host-common.rst: New file.
3230         * doc/gccint/host-configuration.rst: New file.
3231         * doc/gccint/host-filesystem.rst: New file.
3232         * doc/gccint/host-makefile-fragments.rst: New file.
3233         * doc/gccint/host-misc.rst: New file.
3234         * doc/gccint/index.rst: New file.
3235         * doc/gccint/indices-and-tables.rst: New file.
3236         * doc/gccint/interfacing-to-gcc-output.rst: New file.
3237         * doc/gccint/introduction.rst: New file.
3238         * doc/gccint/language-front-ends-in-gcc.rst: New file.
3239         * doc/gccint/link-time-optimization.rst: New file.
3240         * doc/gccint/link-time-optimization/design-overview.rst: New file.
3241         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
3242         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
3243         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
3244         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
3245         New file.
3246         * doc/gccint/machine-descriptions.rst: New file.
3247         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
3248         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
3249         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
3250         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
3251         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
3252         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
3253         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
3254         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
3255         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
3256         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
3257         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
3258         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
3259         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
3260         * doc/gccint/machine-descriptions/iterators.rst: New file.
3261         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
3262         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
3263         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
3264         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
3265         New file.
3266         * doc/gccint/machine-descriptions/predicates.rst: New file.
3267         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
3268         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
3269         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
3270         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
3271         * doc/gccint/makefile-fragments.rst: New file.
3272         * doc/gccint/match-and-simplify.rst: New file.
3273         * doc/gccint/memory-management-and-type-information.rst: New file.
3274         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
3275         New file.
3276         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
3277         New file.
3278         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
3279         New file.
3280         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
3281         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
3282         New file.
3283         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
3284         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
3285         New file.
3286         * doc/gccint/option-file-format.rst: New file.
3287         * doc/gccint/option-properties.rst: New file.
3288         * doc/gccint/option-specification-files.rst: New file.
3289         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
3290         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
3291         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
3292         New file.
3293         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
3294         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
3295         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
3296         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
3297         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
3298         * doc/gccint/plugins.rst: New file.
3299         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
3300         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
3301         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
3302         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
3303         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
3304         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
3305         * doc/gccint/plugins/loading-plugins.rst: New file.
3306         * doc/gccint/plugins/plugin-api.rst: New file.
3307         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
3308         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
3309         * doc/gccint/rtl-representation.rst: New file.
3310         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
3311         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
3312         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
3313         * doc/gccint/rtl-representation/bit-fields.rst: New file.
3314         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
3315         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
3316         * doc/gccint/rtl-representation/conversions.rst: New file.
3317         * doc/gccint/rtl-representation/declarations.rst: New file.
3318         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
3319         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
3320         * doc/gccint/rtl-representation/insns.rst: New file.
3321         * doc/gccint/rtl-representation/machine-modes.rst: New file.
3322         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
3323         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
3324         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
3325         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
3326         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
3327         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
3328         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
3329         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
3330         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
3331         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
3332         * doc/gccint/rtl-representation/vector-operations.rst: New file.
3333         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
3334         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
3335         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
3336         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
3337         New file.
3338         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
3339         New file.
3340         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
3341         New file.
3342         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
3343         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
3344         New file.
3345         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
3346         New file.
3347         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
3348         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
3349         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
3350         New file.
3351         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
3352         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
3353         New file.
3354         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
3355         New file.
3356         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
3357         New file.
3358         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
3359         New file.
3360         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
3361         New file.
3362         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
3363         New file.
3364         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
3365         New file.
3366         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
3367         New file.
3368         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
3369         New file.
3370         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
3371         New file.
3372         * doc/gccint/standard-header-file-directories.rst: New file.
3373         * doc/gccint/static-analyzer.rst: New file.
3374         * doc/gccint/target-macros.rst: New file.
3375         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
3376         * doc/gccint/target-macros/addressing-modes.rst: New file.
3377         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
3378         * doc/gccint/target-macros/anchored-addresses.rst: New file.
3379         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
3380         * doc/gccint/target-macros/condition-code-status.rst: New file.
3381         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
3382         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
3383         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
3384         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
3385         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
3386         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
3387         New file.
3388         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
3389         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
3390         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
3391         New file.
3392         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
3393         New file.
3394         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
3395         New file.
3396         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
3397         New file.
3398         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
3399         New file.
3400         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
3401         New file.
3402         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
3403         New file.
3404         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
3405         New file.
3406         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
3407         New file.
3408         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
3409         New file.
3410         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
3411         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
3412         * doc/gccint/target-macros/emulating-tls.rst: New file.
3413         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
3414         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
3415         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
3416         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
3417         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
3418         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
3419         New file.
3420         * doc/gccint/target-macros/position-independent-code.rst: New file.
3421         * doc/gccint/target-macros/register-classes.rst: New file.
3422         * doc/gccint/target-macros/register-usage.rst: New file.
3423         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
3424         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
3425         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
3426         New file.
3427         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
3428         New file.
3429         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
3430         New file.
3431         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
3432         New file.
3433         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
3434         New file.
3435         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
3436         New file.
3437         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
3438         New file.
3439         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
3440         New file.
3441         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
3442         New file.
3443         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
3444         New file.
3445         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
3446         New file.
3447         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
3448         New file.
3449         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
3450         New file.
3451         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
3452         New file.
3453         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
3454         New file.
3455         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
3456         New file.
3457         * doc/gccint/target-macros/storage-layout.rst: New file.
3458         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
3459         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
3460         * doc/gccint/target-makefile-fragments.rst: New file.
3461         * doc/gccint/testsuites.rst: New test.
3462         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
3463         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
3464         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
3465         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
3466         New test.
3467         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
3468         New test.
3469         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
3470         New test.
3471         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
3472         New test.
3473         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
3474         New test.
3475         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
3476         New test.
3477         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
3478         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
3479         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
3480         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
3481         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
3482         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
3483         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
3484         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
3485         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
3486         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
3487         New file.
3488         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
3489         New file.
3490         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
3491         New file.
3492         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
3493         New file.
3494         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
3495         New file.
3496         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
3497         New file.
3498         * doc/gccint/the-language.rst: New file.
3499         * doc/gccint/user-experience-guidelines.rst: New file.
3500         * doc/install/binaries.rst: New file.
3501         * doc/install/building.rst: New file.
3502         * doc/install/building/building-a-cross-compiler.rst: New file.
3503         * doc/install/building/building-a-native-compiler.rst: New file.
3504         * doc/install/building/building-in-parallel.rst: New file.
3505         * doc/install/building/building-the-ada-compiler.rst: New file.
3506         * doc/install/building/building-the-d-compiler.rst: New file.
3507         * doc/install/building/building-with-profile-feedback.rst: New file.
3508         * doc/install/conf.py: New file.
3509         * doc/install/configuration.rst: New file.
3510         * doc/install/copyright.rst: New file.
3511         * doc/install/downloading-gcc.rst: New file.
3512         * doc/install/final-installation.rst: New file.
3513         * doc/install/gnu-free-documentation-license.rst: New file.
3514         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
3515         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
3516         * doc/install/how-to-interpret-test-results.rst: New file.
3517         * doc/install/index.rst: New file.
3518         * doc/install/indices-and-tables.rst: New file.
3519         * doc/install/installing-gcc.rst: New file.
3520         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
3521         * doc/install/prerequisites.rst: New file.
3522         * doc/install/submitting-test-results.rst: New file.
3523         * doc/install/testing.rst: New file.
3525 2022-11-14  Martin Liska  <mliska@suse.cz>
3527         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
3529 2022-11-14  Martin Liska  <mliska@suse.cz>
3531         Revert:
3532         2022-11-14  Martin Liska  <mliska@suse.cz>
3534         * common/common-target.def: Port to RST.
3535         * target.def: Port to RST.
3537 2022-11-14  Martin Liska  <mliska@suse.cz>
3539         Revert:
3540         2022-11-09  Martin Liska  <mliska@suse.cz>
3542         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
3543         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
3544         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
3545         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
3546         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
3547         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
3548         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
3549         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
3550         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
3551         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
3552         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
3553         Likewise.
3554         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
3555         Likewise.
3556         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
3557         Likewise.
3558         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
3559         Likewise.
3560         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
3561         Likewise.
3562         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
3563         Likewise.
3564         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
3565         Likewise.
3566         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
3567         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
3568         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
3569         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
3570         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
3571         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
3572         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
3573         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
3574         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
3575         Likewise.
3576         * doc/gccint/target-macros/register-classes.rst: Likewise.
3577         * doc/gccint/target-macros/register-usage.rst: Likewise.
3578         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
3579         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
3580         Likewise.
3581         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
3582         Likewise.
3583         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
3584         Likewise.
3585         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
3586         Likewise.
3587         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
3588         Likewise.
3589         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
3590         Likewise.
3591         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
3592         Likewise.
3593         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
3594         Likewise.
3595         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
3596         Likewise.
3597         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
3598         Likewise.
3599         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
3600         Likewise.
3601         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
3602         Likewise.
3603         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
3604         Likewise.
3605         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
3606         Likewise.
3607         * doc/gccint/target-macros/storage-layout.rst: Likewise.
3608         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
3610 2022-11-14  Martin Liska  <mliska@suse.cz>
3612         Revert:
3613         2022-11-14  Martin Liska  <mliska@suse.cz>
3615         * Makefile.in: Support Sphinx based documentation.
3616         * configure: Regenerate.
3617         * configure.ac: Support Sphinx based documentation.
3618         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
3620 2022-11-14  Martin Liska  <mliska@suse.cz>
3622         Revert:
3623         2022-11-09  Martin Liska  <mliska@suse.cz>
3625         * doc/gccint/target-macros/tm.rst.in: New file.
3627 2022-11-14  Martin Liska  <mliska@suse.cz>
3629         Revert:
3630         2022-11-14  Martin Liska  <mliska@suse.cz>
3632         * doc/analyzer.texi: Removed.
3633         * doc/avr-mmcu.texi: Removed.
3634         * doc/bugreport.texi: Removed.
3635         * doc/cfg.texi: Removed.
3636         * doc/collect2.texi: Removed.
3637         * doc/compat.texi: Removed.
3638         * doc/configfiles.texi: Removed.
3639         * doc/configterms.texi: Removed.
3640         * doc/contrib.texi: Removed.
3641         * doc/contribute.texi: Removed.
3642         * doc/cpp.texi: Removed.
3643         * doc/cppdiropts.texi: Removed.
3644         * doc/cppenv.texi: Removed.
3645         * doc/cppinternals.texi: Removed.
3646         * doc/cppopts.texi: Removed.
3647         * doc/cppwarnopts.texi: Removed.
3648         * doc/extend.texi: Removed.
3649         * doc/fragments.texi: Removed.
3650         * doc/frontends.texi: Removed.
3651         * doc/gcc.texi: Removed.
3652         * doc/gccint.texi: Removed.
3653         * doc/gcov-dump.texi: Removed.
3654         * doc/gcov-tool.texi: Removed.
3655         * doc/gcov.texi: Removed.
3656         * doc/generic.texi: Removed.
3657         * doc/gimple.texi: Removed.
3658         * doc/gnu.texi: Removed.
3659         * doc/gty.texi: Removed.
3660         * doc/headerdirs.texi: Removed.
3661         * doc/hostconfig.texi: Removed.
3662         * doc/implement-c.texi: Removed.
3663         * doc/implement-cxx.texi: Removed.
3664         * doc/include/fdl.texi: Removed.
3665         * doc/include/funding.texi: Removed.
3666         * doc/include/gcc-common.texi: Removed.
3667         * doc/include/gpl_v3.texi: Removed.
3668         * doc/install.texi: Removed.
3669         * doc/interface.texi: Removed.
3670         * doc/invoke.texi: Removed.
3671         * doc/languages.texi: Removed.
3672         * doc/libgcc.texi: Removed.
3673         * doc/loop.texi: Removed.
3674         * doc/lto-dump.texi: Removed.
3675         * doc/lto.texi: Removed.
3676         * doc/makefile.texi: Removed.
3677         * doc/match-and-simplify.texi: Removed.
3678         * doc/md.texi: Removed.
3679         * doc/objc.texi: Removed.
3680         * doc/optinfo.texi: Removed.
3681         * doc/options.texi: Removed.
3682         * doc/passes.texi: Removed.
3683         * doc/plugins.texi: Removed.
3684         * doc/poly-int.texi: Removed.
3685         * doc/portability.texi: Removed.
3686         * doc/rtl.texi: Removed.
3687         * doc/service.texi: Removed.
3688         * doc/sourcebuild.texi: Removed.
3689         * doc/standards.texi: Removed.
3690         * doc/tm.texi: Removed.
3691         * doc/tree-ssa.texi: Removed.
3692         * doc/trouble.texi: Removed.
3693         * doc/ux.texi: Removed.
3694         * doc/tm.texi.in: Removed.
3696 2022-11-14  Martin Liska  <mliska@suse.cz>
3698         Revert:
3699         2022-11-09  Martin Liska  <mliska@suse.cz>
3701         * target.def: Use proper lexers for target macros.
3702         * doc/gccint/target-macros/tm.rst.in: Re-generate.
3704 2022-11-14  Martin Liska  <mliska@suse.cz>
3706         Revert:
3707         2022-11-09  Martin Liska  <mliska@suse.cz>
3709         * Makefile.in: Support --with-sphinx-build.
3710         * configure.ac:
3711         * configure: Regenerate.
3713 2022-11-14  Martin Liska  <mliska@suse.cz>
3715         Revert:
3716         2022-11-14  Martin Liska  <mliska@suse.cz>
3718         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
3719         Fix cross manual refs.
3720         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
3721         Likewise.
3723 2022-11-14  Martin Liska  <mliska@suse.cz>
3725         Revert:
3726         2022-11-09  Martin Liska  <mliska@suse.cz>
3728         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
3729         Do not include tm.rst.in.
3730         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
3731         Likewise.
3732         * doc/gccint/target-macros/run-time-target-specification.rst:
3733         Likewise.
3735 2022-11-14  Martin Liska  <mliska@suse.cz>
3737         Revert:
3738         2022-11-09  Martin Liska  <mliska@suse.cz>
3740         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
3741         Port to RST.
3742         * doc/gccint/target-macros/storage-layout.rst: Likewise.
3743         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
3744         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
3746 2022-11-14  Martin Liska  <mliska@suse.cz>
3748         Revert:
3749         2022-11-09  Martin Liska  <mliska@suse.cz>
3751         * Makefile.in: Support installation if sphinx-build is missing.
3753 2022-11-14  Martin Liska  <mliska@suse.cz>
3755         Revert:
3756         2022-11-09  Martin Liska  <mliska@suse.cz>
3758         * Makefile.in: Add vpath default for .rst files.
3759         * config/avr/avr-devices.cc: For port RST.
3760         * config/avr/avr-mcus.def: Update path.
3761         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
3762         * config/avr/gen-avr-mmcu-rst.cc: ...here.
3763         * config/avr/t-avr: Update to rst.
3764         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
3766 2022-11-14  Martin Liska  <mliska@suse.cz>
3768         Revert:
3769         2022-11-09  Martin Liska  <mliska@suse.cz>
3771         * opts.cc (get_option_html_page): Port to sphinx URLs.
3772         (get_option_url): Likewise.
3773         (test_get_option_html_page): Likewise.
3775 2022-11-14  Martin Liska  <mliska@suse.cz>
3777         Revert:
3778         2022-11-14  Martin Liska  <mliska@suse.cz>
3780         * doc/cpp/character-sets.rst:
3781         Add trailing newline.
3782         * doc/cpp/conditional-syntax.rst:
3783         Add trailing newline.
3784         * doc/cpp/conditional-uses.rst:
3785         Add trailing newline.
3786         * doc/cpp/conditionals.rst:
3787         Add trailing newline.
3788         * doc/cpp/copyright.rst:
3789         Add trailing newline.
3790         * doc/cpp/deleted-code.rst:
3791         Add trailing newline.
3792         * doc/cpp/diagnostics.rst:
3793         Add trailing newline.
3794         * doc/cpp/environment-variables.rst:
3795         Add trailing newline.
3796         * doc/cpp/gnu-free-documentation-license.rst:
3797         Add trailing newline.
3798         * doc/cpp/header-files.rst:
3799         Add trailing newline.
3800         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
3801         Add trailing newline.
3802         * doc/cpp/header-files/computed-includes.rst:
3803         Add trailing newline.
3804         * doc/cpp/header-files/include-operation.rst:
3805         Add trailing newline.
3806         * doc/cpp/header-files/include-syntax.rst:
3807         Add trailing newline.
3808         * doc/cpp/header-files/once-only-headers.rst:
3809         Add trailing newline.
3810         * doc/cpp/header-files/search-path.rst:
3811         Add trailing newline.
3812         * doc/cpp/header-files/system-headers.rst:
3813         Add trailing newline.
3814         * doc/cpp/header-files/wrapper-headers.rst:
3815         Add trailing newline.
3816         * doc/cpp/implementation-defined-behavior.rst:
3817         Add trailing newline.
3818         * doc/cpp/implementation-details.rst:
3819         Add trailing newline.
3820         * doc/cpp/implementation-limits.rst:
3821         Add trailing newline.
3822         * doc/cpp/index.rst:
3823         Add trailing newline.
3824         * doc/cpp/indices-and-tables.rst:
3825         Add trailing newline.
3826         * doc/cpp/initial-processing.rst:
3827         Add trailing newline.
3828         * doc/cpp/invocation.rst:
3829         Add trailing newline.
3830         * doc/cpp/line-control.rst:
3831         Add trailing newline.
3832         * doc/cpp/macros.rst:
3833         Add trailing newline.
3834         * doc/cpp/macros/concatenation.rst:
3835         Add trailing newline.
3836         * doc/cpp/macros/directives-within-macro-arguments.rst:
3837         Add trailing newline.
3838         * doc/cpp/macros/function-like-macros.rst:
3839         Add trailing newline.
3840         * doc/cpp/macros/macro-arguments.rst:
3841         Add trailing newline.
3842         * doc/cpp/macros/macro-pitfalls.rst:
3843         Add trailing newline.
3844         * doc/cpp/macros/object-like-macros.rst:
3845         Add trailing newline.
3846         * doc/cpp/macros/predefined-macros.rst:
3847         Add trailing newline.
3848         * doc/cpp/macros/stringizing.rst:
3849         Add trailing newline.
3850         * doc/cpp/macros/undefining-and-redefining-macros.rst:
3851         Add trailing newline.
3852         * doc/cpp/macros/variadic-macros.rst:
3853         Add trailing newline.
3854         * doc/cpp/obsolete-features.rst:
3855         Add trailing newline.
3856         * doc/cpp/other-directives.rst:
3857         Add trailing newline.
3858         * doc/cpp/overview.rst:
3859         Add trailing newline.
3860         * doc/cpp/pragmas.rst:
3861         Add trailing newline.
3862         * doc/cpp/preprocessor-output.rst:
3863         Add trailing newline.
3864         * doc/cpp/the-preprocessing-language.rst:
3865         Add trailing newline.
3866         * doc/cpp/tokenization.rst:
3867         Add trailing newline.
3868         * doc/cpp/traditional-lexical-analysis.rst:
3869         Add trailing newline.
3870         * doc/cpp/traditional-macros.rst:
3871         Add trailing newline.
3872         * doc/cpp/traditional-miscellany.rst:
3873         Add trailing newline.
3874         * doc/cpp/traditional-mode.rst:
3875         Add trailing newline.
3876         * doc/cpp/traditional-warnings.rst:
3877         Add trailing newline.
3878         * doc/cppinternals/copyright.rst:
3879         Add trailing newline.
3880         * doc/cppinternals/cppinternals.rst:
3881         Add trailing newline.
3882         * doc/cppinternals/cpplib.rst:
3883         Add trailing newline.
3884         * doc/cppinternals/files.rst:
3885         Add trailing newline.
3886         * doc/cppinternals/index.rst:
3887         Add trailing newline.
3888         * doc/cppinternals/indices-and-tables.rst:
3889         Add trailing newline.
3890         * doc/cppinternals/internal-representation-of-macros.rst:
3891         Add trailing newline.
3892         * doc/cppinternals/just-which-line-number-anyway.rst:
3893         Add trailing newline.
3894         * doc/cppinternals/lexing-a-line.rst:
3895         Add trailing newline.
3896         * doc/cppinternals/lexing-a-token.rst:
3897         Add trailing newline.
3898         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
3899         Add trailing newline.
3900         * doc/cppinternals/macro-expansion-overview.rst:
3901         Add trailing newline.
3902         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
3903         Add trailing newline.
3904         * doc/cppinternals/multiple-include-optimization.rst:
3905         Add trailing newline.
3906         * doc/cppinternals/overview.rst:
3907         Add trailing newline.
3908         * doc/cppinternals/representation-of-line-numbers.rst:
3909         Add trailing newline.
3910         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
3911         Add trailing newline.
3912         * doc/gcc/binary-compatibility.rst:
3913         Add trailing newline.
3914         * doc/gcc/c++-implementation-defined-behavior.rst:
3915         Add trailing newline.
3916         * doc/gcc/c-implementation-defined-behavior.rst:
3917         Add trailing newline.
3918         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
3919         Add trailing newline.
3920         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
3921         Add trailing newline.
3922         * doc/gcc/c-implementation-defined-behavior/characters.rst:
3923         Add trailing newline.
3924         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
3925         Add trailing newline.
3926         * doc/gcc/c-implementation-defined-behavior/environment.rst:
3927         Add trailing newline.
3928         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
3929         Add trailing newline.
3930         * doc/gcc/c-implementation-defined-behavior/hints.rst:
3931         Add trailing newline.
3932         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
3933         Add trailing newline.
3934         * doc/gcc/c-implementation-defined-behavior/integers.rst:
3935         Add trailing newline.
3936         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
3937         Add trailing newline.
3938         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
3939         Add trailing newline.
3940         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
3941         Add trailing newline.
3942         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
3943         Add trailing newline.
3944         * doc/gcc/c-implementation-defined-behavior/statements.rst:
3945         Add trailing newline.
3946         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
3947         Add trailing newline.
3948         * doc/gcc/c-implementation-defined-behavior/translation.rst:
3949         Add trailing newline.
3950         * doc/gcc/conditionally-supported-behavior.rst:
3951         Add trailing newline.
3952         * doc/gcc/contributing-to-gcc-development.rst:
3953         Add trailing newline.
3954         * doc/gcc/contributors-to-gcc.rst:
3955         Add trailing newline.
3956         * doc/gcc/copyright.rst:
3957         Add trailing newline.
3958         * doc/gcc/exception-handling.rst:
3959         Add trailing newline.
3960         * doc/gcc/extensions-to-the-c++-language.rst:
3961         Add trailing newline.
3962         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
3963         Add trailing newline.
3964         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
3965         Add trailing newline.
3966         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
3967         Add trailing newline.
3968         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
3969         Add trailing newline.
3970         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
3971         Add trailing newline.
3972         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
3973         Add trailing newline.
3974         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
3975         Add trailing newline.
3976         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
3977         Add trailing newline.
3978         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
3979         Add trailing newline.
3980         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
3981         Add trailing newline.
3982         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
3983         Add trailing newline.
3984         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
3985         Add trailing newline.
3986         * doc/gcc/extensions-to-the-c-language-family.rst:
3987         Add trailing newline.
3988         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
3989         Add trailing newline.
3990         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
3991         Add trailing newline.
3992         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
3993         Add trailing newline.
3994         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
3995         Add trailing newline.
3996         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
3997         Add trailing newline.
3998         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
3999         Add trailing newline.
4000         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
4001         Add trailing newline.
4002         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
4003         Add trailing newline.
4004         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
4005         Add trailing newline.
4006         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
4007         Add trailing newline.
4008         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
4009         Add trailing newline.
4010         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
4011         Add trailing newline.
4012         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
4013         Add trailing newline.
4014         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
4015         Add trailing newline.
4016         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
4017         Add trailing newline.
4018         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
4019         Add trailing newline.
4020         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
4021         Add trailing newline.
4022         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
4023         Add trailing newline.
4024         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
4025         Add trailing newline.
4026         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
4027         Add trailing newline.
4028         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
4029         Add trailing newline.
4030         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
4031         Add trailing newline.
4032         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
4033         Add trailing newline.
4034         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
4035         Add trailing newline.
4036         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
4037         Add trailing newline.
4038         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
4039         Add trailing newline.
4040         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
4041         Add trailing newline.
4042         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
4043         Add trailing newline.
4044         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
4045         Add trailing newline.
4046         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
4047         Add trailing newline.
4048         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
4049         Add trailing newline.
4050         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
4051         Add trailing newline.
4052         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
4053         Add trailing newline.
4054         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
4055         Add trailing newline.
4056         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
4057         Add trailing newline.
4058         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
4059         Add trailing newline.
4060         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
4061         Add trailing newline.
4062         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
4063         Add trailing newline.
4064         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
4065         Add trailing newline.
4066         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
4067         Add trailing newline.
4068         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
4069         Add trailing newline.
4070         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
4071         Add trailing newline.
4072         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
4073         Add trailing newline.
4074         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
4075         Add trailing newline.
4076         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
4077         Add trailing newline.
4078         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
4079         Add trailing newline.
4080         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
4081         Add trailing newline.
4082         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
4083         Add trailing newline.
4084         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
4085         Add trailing newline.
4086         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
4087         Add trailing newline.
4088         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
4089         Add trailing newline.
4090         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
4091         Add trailing newline.
4092         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
4093         Add trailing newline.
4094         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
4095         Add trailing newline.
4096         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
4097         Add trailing newline.
4098         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
4099         Add trailing newline.
4100         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
4101         Add trailing newline.
4102         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
4103         Add trailing newline.
4104         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
4105         Add trailing newline.
4106         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
4107         Add trailing newline.
4108         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
4109         Add trailing newline.
4110         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
4111         Add trailing newline.
4112         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
4113         Add trailing newline.
4114         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
4115         Add trailing newline.
4116         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
4117         Add trailing newline.
4118         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
4119         Add trailing newline.
4120         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
4121         Add trailing newline.
4122         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
4123         Add trailing newline.
4124         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
4125         Add trailing newline.
4126         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
4127         Add trailing newline.
4128         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
4129         Add trailing newline.
4130         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
4131         Add trailing newline.
4132         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
4133         Add trailing newline.
4134         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
4135         Add trailing newline.
4136         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
4137         Add trailing newline.
4138         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
4139         Add trailing newline.
4140         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
4141         Add trailing newline.
4142         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
4143         Add trailing newline.
4144         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
4145         Add trailing newline.
4146         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
4147         Add trailing newline.
4148         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
4149         Add trailing newline.
4150         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
4151         Add trailing newline.
4152         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
4153         Add trailing newline.
4154         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
4155         Add trailing newline.
4156         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
4157         Add trailing newline.
4158         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
4159         Add trailing newline.
4160         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
4161         Add trailing newline.
4162         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
4163         Add trailing newline.
4164         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
4165         Add trailing newline.
4166         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
4167         Add trailing newline.
4168         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
4169         Add trailing newline.
4170         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
4171         Add trailing newline.
4172         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
4173         Add trailing newline.
4174         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
4175         Add trailing newline.
4176         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
4177         Add trailing newline.
4178         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
4179         Add trailing newline.
4180         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
4181         Add trailing newline.
4182         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
4183         Add trailing newline.
4184         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
4185         Add trailing newline.
4186         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
4187         Add trailing newline.
4188         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
4189         Add trailing newline.
4190         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
4191         Add trailing newline.
4192         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
4193         Add trailing newline.
4194         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
4195         Add trailing newline.
4196         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
4197         Add trailing newline.
4198         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
4199         Add trailing newline.
4200         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
4201         Add trailing newline.
4202         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
4203         Add trailing newline.
4204         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
4205         Add trailing newline.
4206         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
4207         Add trailing newline.
4208         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
4209         Add trailing newline.
4210         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
4211         Add trailing newline.
4212         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
4213         Add trailing newline.
4214         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
4215         Add trailing newline.
4216         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
4217         Add trailing newline.
4218         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
4219         Add trailing newline.
4220         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
4221         Add trailing newline.
4222         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
4223         Add trailing newline.
4224         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
4225         Add trailing newline.
4226         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
4227         Add trailing newline.
4228         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
4229         Add trailing newline.
4230         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
4231         Add trailing newline.
4232         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
4233         Add trailing newline.
4234         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
4235         Add trailing newline.
4236         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
4237         Add trailing newline.
4238         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
4239         Add trailing newline.
4240         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
4241         Add trailing newline.
4242         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
4243         Add trailing newline.
4244         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
4245         Add trailing newline.
4246         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
4247         Add trailing newline.
4248         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
4249         Add trailing newline.
4250         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
4251         Add trailing newline.
4252         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
4253         Add trailing newline.
4254         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
4255         Add trailing newline.
4256         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
4257         Add trailing newline.
4258         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
4259         Add trailing newline.
4260         * doc/gcc/funding.rst:
4261         Add trailing newline.
4262         * doc/gcc/gcc-command-options.rst:
4263         Add trailing newline.
4264         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
4265         Add trailing newline.
4266         * doc/gcc/gcc-command-options/description.rst:
4267         Add trailing newline.
4268         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4269         Add trailing newline.
4270         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4271         Add trailing newline.
4272         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4273         Add trailing newline.
4274         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4275         Add trailing newline.
4276         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4277         Add trailing newline.
4278         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4279         Add trailing newline.
4280         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4281         Add trailing newline.
4282         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4283         Add trailing newline.
4284         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4285         Add trailing newline.
4286         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4287         Add trailing newline.
4288         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
4289         Add trailing newline.
4290         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
4291         Add trailing newline.
4292         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
4293         Add trailing newline.
4294         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
4295         Add trailing newline.
4296         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
4297         Add trailing newline.
4298         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
4299         Add trailing newline.
4300         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
4301         Add trailing newline.
4302         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
4303         Add trailing newline.
4304         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
4305         Add trailing newline.
4306         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
4307         Add trailing newline.
4308         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
4309         Add trailing newline.
4310         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
4311         Add trailing newline.
4312         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
4313         Add trailing newline.
4314         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
4315         Add trailing newline.
4316         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
4317         Add trailing newline.
4318         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
4319         Add trailing newline.
4320         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
4321         Add trailing newline.
4322         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
4323         Add trailing newline.
4324         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
4325         Add trailing newline.
4326         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
4327         Add trailing newline.
4328         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
4329         Add trailing newline.
4330         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
4331         Add trailing newline.
4332         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
4333         Add trailing newline.
4334         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
4335         Add trailing newline.
4336         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
4337         Add trailing newline.
4338         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
4339         Add trailing newline.
4340         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
4341         Add trailing newline.
4342         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
4343         Add trailing newline.
4344         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
4345         Add trailing newline.
4346         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
4347         Add trailing newline.
4348         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
4349         Add trailing newline.
4350         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
4351         Add trailing newline.
4352         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
4353         Add trailing newline.
4354         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
4355         Add trailing newline.
4356         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
4357         Add trailing newline.
4358         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
4359         Add trailing newline.
4360         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
4361         Add trailing newline.
4362         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
4363         Add trailing newline.
4364         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
4365         Add trailing newline.
4366         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
4367         Add trailing newline.
4368         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
4369         Add trailing newline.
4370         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
4371         Add trailing newline.
4372         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
4373         Add trailing newline.
4374         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
4375         Add trailing newline.
4376         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
4377         Add trailing newline.
4378         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
4379         Add trailing newline.
4380         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
4381         Add trailing newline.
4382         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
4383         Add trailing newline.
4384         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
4385         Add trailing newline.
4386         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
4387         Add trailing newline.
4388         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
4389         Add trailing newline.
4390         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
4391         Add trailing newline.
4392         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
4393         Add trailing newline.
4394         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
4395         Add trailing newline.
4396         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
4397         Add trailing newline.
4398         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
4399         Add trailing newline.
4400         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4401         Add trailing newline.
4402         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
4403         Add trailing newline.
4404         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
4405         Add trailing newline.
4406         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
4407         Add trailing newline.
4408         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
4409         Add trailing newline.
4410         * doc/gcc/gcc-command-options/options-for-linking.rst:
4411         Add trailing newline.
4412         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
4413         Add trailing newline.
4414         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4415         Add trailing newline.
4416         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
4417         Add trailing newline.
4418         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
4419         Add trailing newline.
4420         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
4421         Add trailing newline.
4422         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
4423         Add trailing newline.
4424         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
4425         Add trailing newline.
4426         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
4427         Add trailing newline.
4428         * doc/gcc/gcc.rst:
4429         Add trailing newline.
4430         * doc/gcc/gcov-dump.rst:
4431         Add trailing newline.
4432         * doc/gcc/gcov-tool.rst:
4433         Add trailing newline.
4434         * doc/gcc/gcov.rst:
4435         Add trailing newline.
4436         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
4437         Add trailing newline.
4438         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
4439         Add trailing newline.
4440         * doc/gcc/gcov/introduction-to-gcov.rst:
4441         Add trailing newline.
4442         * doc/gcc/gcov/invoking-gcov.rst:
4443         Add trailing newline.
4444         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
4445         Add trailing newline.
4446         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
4447         Add trailing newline.
4448         * doc/gcc/general-public-license-3.rst:
4449         Add trailing newline.
4450         * doc/gcc/gnu-free-documentation-license.rst:
4451         Add trailing newline.
4452         * doc/gcc/gnu-objective-c-features.rst:
4453         Add trailing newline.
4454         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
4455         Add trailing newline.
4456         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
4457         Add trailing newline.
4458         * doc/gcc/gnu-objective-c-features/exceptions.rst:
4459         Add trailing newline.
4460         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
4461         Add trailing newline.
4462         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
4463         Add trailing newline.
4464         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
4465         Add trailing newline.
4466         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
4467         Add trailing newline.
4468         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
4469         Add trailing newline.
4470         * doc/gcc/gnu-objective-c-features/synchronization.rst:
4471         Add trailing newline.
4472         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
4473         Add trailing newline.
4474         * doc/gcc/gnu.rst:
4475         Add trailing newline.
4476         * doc/gcc/have-you-found-a-bug.rst:
4477         Add trailing newline.
4478         * doc/gcc/how-and-where-to-report-bugs.rst:
4479         Add trailing newline.
4480         * doc/gcc/how-to-get-help-with-gcc.rst:
4481         Add trailing newline.
4482         * doc/gcc/index.rst:
4483         Add trailing newline.
4484         * doc/gcc/indices-and-tables.rst:
4485         Add trailing newline.
4486         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
4487         Add trailing newline.
4488         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
4489         Add trailing newline.
4490         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
4491         Add trailing newline.
4492         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
4493         Add trailing newline.
4494         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
4495         Add trailing newline.
4496         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
4497         Add trailing newline.
4498         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
4499         Add trailing newline.
4500         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
4501         Add trailing newline.
4502         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
4503         Add trailing newline.
4504         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
4505         Add trailing newline.
4506         * doc/gcc/language-standards-supported-by-gcc.rst:
4507         Add trailing newline.
4508         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
4509         Add trailing newline.
4510         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
4511         Add trailing newline.
4512         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
4513         Add trailing newline.
4514         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
4515         Add trailing newline.
4516         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
4517         Add trailing newline.
4518         * doc/gcc/lto-dump.rst:
4519         Add trailing newline.
4520         * doc/gcc/programming-languages-supported-by-gcc.rst:
4521         Add trailing newline.
4522         * doc/gcc/reporting-bugs.rst:
4523         Add trailing newline.
4524         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
4525         Add trailing newline.
4526         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
4527         Add trailing newline.
4528         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
4529         Add trailing newline.
4530         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
4531         Add trailing newline.
4532         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
4533         Add trailing newline.
4534         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
4535         Add trailing newline.
4536         * doc/gccint/analysis-and-representation-of-loops.rst:
4537         Add trailing newline.
4538         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
4539         Add trailing newline.
4540         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
4541         Add trailing newline.
4542         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
4543         Add trailing newline.
4544         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
4545         Add trailing newline.
4546         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
4547         Add trailing newline.
4548         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
4549         Add trailing newline.
4550         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
4551         Add trailing newline.
4552         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
4553         Add trailing newline.
4554         * doc/gccint/analyzer-internals.rst:
4555         Add trailing newline.
4556         * doc/gccint/collect2.rst:
4557         Add trailing newline.
4558         * doc/gccint/contributing-to-gcc-development.rst:
4559         Add trailing newline.
4560         * doc/gccint/contributors-to-gcc.rst:
4561         Add trailing newline.
4562         * doc/gccint/control-flow-graph.rst:
4563         Add trailing newline.
4564         * doc/gccint/control-flow-graph/basic-blocks.rst:
4565         Add trailing newline.
4566         * doc/gccint/control-flow-graph/edges.rst:
4567         Add trailing newline.
4568         * doc/gccint/control-flow-graph/liveness-information.rst:
4569         Add trailing newline.
4570         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
4571         Add trailing newline.
4572         * doc/gccint/control-flow-graph/profile-information.rst:
4573         Add trailing newline.
4574         * doc/gccint/copyright.rst:
4575         Add trailing newline.
4576         * doc/gccint/debugging-the-analyzer.rst:
4577         Add trailing newline.
4578         * doc/gccint/funding.rst:
4579         Add trailing newline.
4580         * doc/gccint/gcc-and-portability.rst:
4581         Add trailing newline.
4582         * doc/gccint/general-public-license-3.rst:
4583         Add trailing newline.
4584         * doc/gccint/generic.rst:
4585         Add trailing newline.
4586         * doc/gccint/generic/attributes-in-trees.rst:
4587         Add trailing newline.
4588         * doc/gccint/generic/c-and-c++-trees.rst:
4589         Add trailing newline.
4590         * doc/gccint/generic/declarations.rst:
4591         Add trailing newline.
4592         * doc/gccint/generic/deficiencies.rst:
4593         Add trailing newline.
4594         * doc/gccint/generic/expressions.rst:
4595         Add trailing newline.
4596         * doc/gccint/generic/functions.rst:
4597         Add trailing newline.
4598         * doc/gccint/generic/language-dependent-trees.rst:
4599         Add trailing newline.
4600         * doc/gccint/generic/overview.rst:
4601         Add trailing newline.
4602         * doc/gccint/generic/statements.rst:
4603         Add trailing newline.
4604         * doc/gccint/generic/types.rst:
4605         Add trailing newline.
4606         * doc/gccint/gimple-api.rst:
4607         Add trailing newline.
4608         * doc/gccint/gimple.rst:
4609         Add trailing newline.
4610         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
4611         Add trailing newline.
4612         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
4613         Add trailing newline.
4614         * doc/gccint/gimple/exception-handling.rst:
4615         Add trailing newline.
4616         * doc/gccint/gimple/gimple-instruction-set.rst:
4617         Add trailing newline.
4618         * doc/gccint/gimple/gimple-sequences.rst:
4619         Add trailing newline.
4620         * doc/gccint/gimple/manipulating-gimple-statements.rst:
4621         Add trailing newline.
4622         * doc/gccint/gimple/operands.rst:
4623         Add trailing newline.
4624         * doc/gccint/gimple/sequence-iterators.rst:
4625         Add trailing newline.
4626         * doc/gccint/gimple/statement-and-operand-traversals.rst:
4627         Add trailing newline.
4628         * doc/gccint/gimple/temporaries.rst:
4629         Add trailing newline.
4630         * doc/gccint/gimple/tuple-representation.rst:
4631         Add trailing newline.
4632         * doc/gccint/gimple/tuple-specific-accessors.rst:
4633         Add trailing newline.
4634         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
4635         Add trailing newline.
4636         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
4637         Add trailing newline.
4638         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
4639         Add trailing newline.
4640         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
4641         Add trailing newline.
4642         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
4643         Add trailing newline.
4644         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
4645         Add trailing newline.
4646         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
4647         Add trailing newline.
4648         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
4649         Add trailing newline.
4650         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
4651         Add trailing newline.
4652         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
4653         Add trailing newline.
4654         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
4655         Add trailing newline.
4656         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
4657         Add trailing newline.
4658         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
4659         Add trailing newline.
4660         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
4661         Add trailing newline.
4662         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
4663         Add trailing newline.
4664         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
4665         Add trailing newline.
4666         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
4667         Add trailing newline.
4668         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
4669         Add trailing newline.
4670         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
4671         Add trailing newline.
4672         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
4673         Add trailing newline.
4674         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
4675         Add trailing newline.
4676         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
4677         Add trailing newline.
4678         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
4679         Add trailing newline.
4680         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
4681         Add trailing newline.
4682         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
4683         Add trailing newline.
4684         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
4685         Add trailing newline.
4686         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
4687         Add trailing newline.
4688         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
4689         Add trailing newline.
4690         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
4691         Add trailing newline.
4692         * doc/gccint/gnu-free-documentation-license.rst:
4693         Add trailing newline.
4694         * doc/gccint/guidelines-for-diagnostics.rst:
4695         Add trailing newline.
4696         * doc/gccint/guidelines-for-options.rst:
4697         Add trailing newline.
4698         * doc/gccint/host-common.rst:
4699         Add trailing newline.
4700         * doc/gccint/host-configuration.rst:
4701         Add trailing newline.
4702         * doc/gccint/host-filesystem.rst:
4703         Add trailing newline.
4704         * doc/gccint/host-makefile-fragments.rst:
4705         Add trailing newline.
4706         * doc/gccint/host-misc.rst:
4707         Add trailing newline.
4708         * doc/gccint/index.rst:
4709         Add trailing newline.
4710         * doc/gccint/indices-and-tables.rst:
4711         Add trailing newline.
4712         * doc/gccint/interfacing-to-gcc-output.rst:
4713         Add trailing newline.
4714         * doc/gccint/introduction.rst:
4715         Add trailing newline.
4716         * doc/gccint/language-front-ends-in-gcc.rst:
4717         Add trailing newline.
4718         * doc/gccint/link-time-optimization.rst:
4719         Add trailing newline.
4720         * doc/gccint/link-time-optimization/design-overview.rst:
4721         Add trailing newline.
4722         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
4723         Add trailing newline.
4724         * doc/gccint/link-time-optimization/lto-file-sections.rst:
4725         Add trailing newline.
4726         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
4727         Add trailing newline.
4728         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
4729         Add trailing newline.
4730         * doc/gccint/machine-descriptions.rst:
4731         Add trailing newline.
4732         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
4733         Add trailing newline.
4734         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
4735         Add trailing newline.
4736         * doc/gccint/machine-descriptions/conditional-execution.rst:
4737         Add trailing newline.
4738         * doc/gccint/machine-descriptions/constant-definitions.rst:
4739         Add trailing newline.
4740         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
4741         Add trailing newline.
4742         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
4743         Add trailing newline.
4744         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
4745         Add trailing newline.
4746         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
4747         Add trailing newline.
4748         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
4749         Add trailing newline.
4750         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
4751         Add trailing newline.
4752         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
4753         Add trailing newline.
4754         * doc/gccint/machine-descriptions/instruction-attributes.rst:
4755         Add trailing newline.
4756         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
4757         Add trailing newline.
4758         * doc/gccint/machine-descriptions/iterators.rst:
4759         Add trailing newline.
4760         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
4761         Add trailing newline.
4762         * doc/gccint/machine-descriptions/operand-constraints.rst:
4763         Add trailing newline.
4764         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
4765         Add trailing newline.
4766         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
4767         Add trailing newline.
4768         * doc/gccint/machine-descriptions/predicates.rst:
4769         Add trailing newline.
4770         * doc/gccint/machine-descriptions/rtl-template.rst:
4771         Add trailing newline.
4772         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
4773         Add trailing newline.
4774         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
4775         Add trailing newline.
4776         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
4777         Add trailing newline.
4778         * doc/gccint/makefile-fragments.rst:
4779         Add trailing newline.
4780         * doc/gccint/match-and-simplify.rst:
4781         Add trailing newline.
4782         * doc/gccint/memory-management-and-type-information.rst:
4783         Add trailing newline.
4784         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
4785         Add trailing newline.
4786         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
4787         Add trailing newline.
4788         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
4789         Add trailing newline.
4790         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
4791         Add trailing newline.
4792         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
4793         Add trailing newline.
4794         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
4795         Add trailing newline.
4796         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
4797         Add trailing newline.
4798         * doc/gccint/option-file-format.rst:
4799         Add trailing newline.
4800         * doc/gccint/option-properties.rst:
4801         Add trailing newline.
4802         * doc/gccint/option-specification-files.rst:
4803         Add trailing newline.
4804         * doc/gccint/passes-and-files-of-the-compiler.rst:
4805         Add trailing newline.
4806         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
4807         Add trailing newline.
4808         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
4809         Add trailing newline.
4810         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
4811         Add trailing newline.
4812         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
4813         Add trailing newline.
4814         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
4815         Add trailing newline.
4816         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
4817         Add trailing newline.
4818         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
4819         Add trailing newline.
4820         * doc/gccint/plugins.rst:
4821         Add trailing newline.
4822         * doc/gccint/plugins/building-gcc-plugins.rst:
4823         Add trailing newline.
4824         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
4825         Add trailing newline.
4826         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
4827         Add trailing newline.
4828         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
4829         Add trailing newline.
4830         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
4831         Add trailing newline.
4832         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
4833         Add trailing newline.
4834         * doc/gccint/plugins/loading-plugins.rst:
4835         Add trailing newline.
4836         * doc/gccint/plugins/plugin-api.rst:
4837         Add trailing newline.
4838         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
4839         Add trailing newline.
4840         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
4841         Add trailing newline.
4842         * doc/gccint/rtl-representation.rst:
4843         Add trailing newline.
4844         * doc/gccint/rtl-representation/access-to-operands.rst:
4845         Add trailing newline.
4846         * doc/gccint/rtl-representation/access-to-special-operands.rst:
4847         Add trailing newline.
4848         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
4849         Add trailing newline.
4850         * doc/gccint/rtl-representation/bit-fields.rst:
4851         Add trailing newline.
4852         * doc/gccint/rtl-representation/comparison-operations.rst:
4853         Add trailing newline.
4854         * doc/gccint/rtl-representation/constant-expression-types.rst:
4855         Add trailing newline.
4856         * doc/gccint/rtl-representation/conversions.rst:
4857         Add trailing newline.
4858         * doc/gccint/rtl-representation/declarations.rst:
4859         Add trailing newline.
4860         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
4861         Add trailing newline.
4862         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
4863         Add trailing newline.
4864         * doc/gccint/rtl-representation/insns.rst:
4865         Add trailing newline.
4866         * doc/gccint/rtl-representation/machine-modes.rst:
4867         Add trailing newline.
4868         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
4869         Add trailing newline.
4870         * doc/gccint/rtl-representation/reading-rtl.rst:
4871         Add trailing newline.
4872         * doc/gccint/rtl-representation/registers-and-memory.rst:
4873         Add trailing newline.
4874         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
4875         Add trailing newline.
4876         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
4877         Add trailing newline.
4878         * doc/gccint/rtl-representation/rtl-object-types.rst:
4879         Add trailing newline.
4880         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
4881         Add trailing newline.
4882         * doc/gccint/rtl-representation/side-effect-expressions.rst:
4883         Add trailing newline.
4884         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
4885         Add trailing newline.
4886         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
4887         Add trailing newline.
4888         * doc/gccint/rtl-representation/vector-operations.rst:
4889         Add trailing newline.
4890         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
4891         Add trailing newline.
4892         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
4893         Add trailing newline.
4894         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
4895         Add trailing newline.
4896         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
4897         Add trailing newline.
4898         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
4899         Add trailing newline.
4900         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
4901         Add trailing newline.
4902         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
4903         Add trailing newline.
4904         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
4905         Add trailing newline.
4906         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
4907         Add trailing newline.
4908         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
4909         Add trailing newline.
4910         * doc/gccint/source-tree-structure-and-build-system.rst:
4911         Add trailing newline.
4912         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
4913         Add trailing newline.
4914         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
4915         Add trailing newline.
4916         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
4917         Add trailing newline.
4918         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
4919         Add trailing newline.
4920         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
4921         Add trailing newline.
4922         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
4923         Add trailing newline.
4924         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
4925         Add trailing newline.
4926         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
4927         Add trailing newline.
4928         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
4929         Add trailing newline.
4930         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
4931         Add trailing newline.
4932         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
4933         Add trailing newline.
4934         * doc/gccint/standard-header-file-directories.rst:
4935         Add trailing newline.
4936         * doc/gccint/static-analyzer.rst:
4937         Add trailing newline.
4938         * doc/gccint/target-macros.rst:
4939         Add trailing newline.
4940         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
4941         Add trailing newline.
4942         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
4943         Add trailing newline.
4944         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
4945         Add trailing newline.
4946         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
4947         Add trailing newline.
4948         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
4949         Add trailing newline.
4950         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
4951         Add trailing newline.
4952         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
4953         Add trailing newline.
4954         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
4955         Add trailing newline.
4956         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4957         Add trailing newline.
4958         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4959         Add trailing newline.
4960         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4961         Add trailing newline.
4962         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4963         Add trailing newline.
4964         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
4965         Add trailing newline.
4966         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
4967         Add trailing newline.
4968         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
4969         Add trailing newline.
4970         * doc/gccint/target-macros/position-independent-code.rst:
4971         Add trailing newline.
4972         * doc/gccint/target-macros/register-usage.rst:
4973         Add trailing newline.
4974         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
4975         Add trailing newline.
4976         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4977         Add trailing newline.
4978         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
4979         Add trailing newline.
4980         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
4981         Add trailing newline.
4982         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4983         Add trailing newline.
4984         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4985         Add trailing newline.
4986         * doc/gccint/target-macros/support-for-nested-functions.rst:
4987         Add trailing newline.
4988         * doc/gccint/target-macros/the-global-targetm-variable.rst:
4989         Add trailing newline.
4990         * doc/gccint/target-makefile-fragments.rst:
4991         Add trailing newline.
4992         * doc/gccint/testsuites.rst:
4993         Add trailing newline.
4994         * doc/gccint/testsuites/ada-language-testsuites.rst:
4995         Add trailing newline.
4996         * doc/gccint/testsuites/c-language-testsuites.rst:
4997         Add trailing newline.
4998         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
4999         Add trailing newline.
5000         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
5001         Add trailing newline.
5002         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
5003         Add trailing newline.
5004         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
5005         Add trailing newline.
5006         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
5007         Add trailing newline.
5008         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
5009         Add trailing newline.
5010         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
5011         Add trailing newline.
5012         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
5013         Add trailing newline.
5014         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
5015         Add trailing newline.
5016         * doc/gccint/testsuites/support-for-testing-gcov.rst:
5017         Add trailing newline.
5018         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
5019         Add trailing newline.
5020         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
5021         Add trailing newline.
5022         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
5023         Add trailing newline.
5024         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
5025         Add trailing newline.
5026         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
5027         Add trailing newline.
5028         * doc/gccint/the-gcc-low-level-runtime-library.rst:
5029         Add trailing newline.
5030         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
5031         Add trailing newline.
5032         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
5033         Add trailing newline.
5034         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
5035         Add trailing newline.
5036         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
5037         Add trailing newline.
5038         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
5039         Add trailing newline.
5040         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
5041         Add trailing newline.
5042         * doc/gccint/the-language.rst:
5043         Add trailing newline.
5044         * doc/gccint/user-experience-guidelines.rst:
5045         Add trailing newline.
5046         * doc/install/binaries.rst:
5047         Add trailing newline.
5048         * doc/install/building.rst:
5049         Add trailing newline.
5050         * doc/install/building/building-a-cross-compiler.rst:
5051         Add trailing newline.
5052         * doc/install/building/building-a-native-compiler.rst:
5053         Add trailing newline.
5054         * doc/install/building/building-in-parallel.rst:
5055         Add trailing newline.
5056         * doc/install/building/building-the-ada-compiler.rst:
5057         Add trailing newline.
5058         * doc/install/building/building-the-d-compiler.rst:
5059         Add trailing newline.
5060         * doc/install/building/building-with-profile-feedback.rst:
5061         Add trailing newline.
5062         * doc/install/configuration.rst:
5063         Add trailing newline.
5064         * doc/install/copyright.rst:
5065         Add trailing newline.
5066         * doc/install/downloading-gcc.rst:
5067         Add trailing newline.
5068         * doc/install/final-installation.rst:
5069         Add trailing newline.
5070         * doc/install/gnu-free-documentation-license.rst:
5071         Add trailing newline.
5072         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
5073         Add trailing newline.
5074         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
5075         Add trailing newline.
5076         * doc/install/how-to-interpret-test-results.rst:
5077         Add trailing newline.
5078         * doc/install/index.rst:
5079         Add trailing newline.
5080         * doc/install/indices-and-tables.rst:
5081         Add trailing newline.
5082         * doc/install/installing-gcc.rst:
5083         Add trailing newline.
5084         * doc/install/passing-options-and-running-multiple-testsuites.rst:
5085         Add trailing newline.
5086         * doc/install/prerequisites.rst:
5087         Add trailing newline.
5088         * doc/install/submitting-test-results.rst:
5089         Add trailing newline.
5090         * doc/install/testing.rst:
5091         Add trailing newline.
5093 2022-11-14  Martin Liska  <mliska@suse.cz>
5095         Revert:
5096         2022-11-14  Martin Liska  <mliska@suse.cz>
5098         * Makefile.in: Use new install URL.
5099         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
5100         Use intersphinx link.
5101         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5102         Use new URL.
5103         * doc/gccint/source-tree-structure-and-build-system.rst: Use
5104         intersphinx link.
5105         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
5106         * doc/install/installing-gcc.rst: Likewise.
5108 2022-11-14  Martin Liska  <mliska@suse.cz>
5110         Revert:
5111         2022-11-09  Martin Liska  <mliska@suse.cz>
5112                     Sinan  <sinan.lin@linux.alibaba.com>
5114         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5115         Add missing variable name.
5117 2022-11-14  Martin Liska  <mliska@suse.cz>
5119         Revert:
5120         2022-11-14  Martin Liska  <mliska@suse.cz>
5122         * doc/cpp/conf.py: Add newline at last line.
5123         * doc/cppinternals/conf.py: Add newline at last line.
5124         * doc/gcc/conf.py: Add newline at last line.
5125         * doc/gccint/conf.py: Add newline at last line.
5126         * doc/install/conf.py: Add newline at last line.
5128 2022-11-14  Martin Liska  <mliska@suse.cz>
5130         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5131         Revert.
5133 2022-11-14  Martin Liska  <mliska@suse.cz>
5135         * doc/cpp/pragmas.rst: Revert.
5137 2022-11-14  Martin Liska  <mliska@suse.cz>
5139         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5141 2022-11-14  Martin Liska  <mliska@suse.cz>
5143         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5145 2022-11-14  Martin Liska  <mliska@suse.cz>
5147         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5148         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
5150 2022-11-14  Martin Liska  <mliska@suse.cz>
5152         Revert:
5153         2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
5155         * doc/install/testing.rst: Remove anachronism about separate
5156         source tarballs.
5158 2022-11-14  Martin Liska  <mliska@suse.cz>
5160         Revert:
5161         2022-11-13  Martin Liska  <mliska@suse.cz>
5163         PR other/107620
5164         * configure: Regenerate.
5165         * configure.ac: Always set sphinx-build.
5167 2022-11-14  Martin Liska  <mliska@suse.cz>
5169         * doc/gcc/gcc-command-options/option-summary.rst: Revert.
5170         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5172 2022-11-14  Haochen Jiang  <haochen.jiang@intel.com>
5174         * common/config/i386/i386-common.cc
5175         (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
5176         (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
5177         (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
5178         (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
5179         BF16, FP16} when disable AMX_TILE.
5181 2022-11-14  Martin Liska  <mliska@suse.cz>
5183         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
5184         Revert.
5185         * doc/gcc/gcc-command-options/option-summary.rst:
5186         Revert.
5188 2022-11-14  Hongyu Wang  <hongyu.wang@intel.com>
5190         * common/config/i386/i386-common.cc (ix86_optimization_table):
5191         Enable small loop unroll at O2 by default.
5192         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
5193         factor if -munroll-only-small-loops enabled and -funroll-loops/
5194         -funroll-all-loops are disabled.
5195         * config/i386/i386.h (struct processor_costs): Add 2 field
5196         small_unroll_ninsns and small_unroll_factor.
5197         * config/i386/i386.opt: Add -munroll-only-small-loops.
5198         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
5199         Document -munroll-only-small-loops.
5200         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
5201         * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
5202         loop unrolling for -O2-speed and above if target hook
5203         loop_unroll_adjust exists.
5204         (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
5205         when target hook loop_unroll_adjust exists.
5206         * config/i386/x86-tune-costs.h: Update all processor costs
5207         with small_unroll_ninsns = 4 and small_unroll_factor = 2.
5209 2022-11-13  David Malcolm  <dmalcolm@redhat.com>
5211         PR analyzer/106235
5212         * doc/gcc/gcc-command-options/option-summary.rst: Add
5213         -Wno-analyzer-tainted-assertion.
5214         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5215         Add -Wno-analyzer-tainted-assertion.
5217 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5219         * config/riscv/bitmanip.md: New define_split.
5221 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5223         * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
5224         if expressed as a plus and multiplication with a power-of-2.
5225         Split costing for MINUS from PLUS.
5227 2022-11-13  Martin Liska  <mliska@suse.cz>
5229         PR other/107620
5230         * configure: Regenerate.
5231         * configure.ac: Always set sphinx-build.
5233 2022-11-13  Joseph Myers  <joseph@codesourcery.com>
5235         * ginclude/float.h [__STDC_VERSION__ > 201710L]
5236         (__STDC_VERSION_FLOAT_H__): New macro.
5237         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
5238         (__STDC_VERSION_STDARG_H__): New macro.
5239         * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
5240         (__STDC_VERSION_STDATOMIC_H__): New macro.
5241         * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
5242         (__STDC_VERSION_STDDEF_H__): New macro.
5243         * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
5244         (__STDC_VERSION_STDINT_H__): New macro.
5245         * glimits.h [__STDC_VERSION__ > 201710L]
5246         (__STDC_VERSION_LIMITS_H__): New macro.
5248 2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
5250         * doc/install/testing.rst: Remove anachronism about separate
5251         source tarballs.
5253 2022-11-12  Joseph Myers  <joseph@codesourcery.com>
5255         * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
5256         canonical NaN.
5258 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
5260         * value-range.cc (range_tests_signbit): Move to set from here...
5261         (range_tests_signed_zeros): ...to here.
5263 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
5265         * range-op-float.cc (build_lt): Adjust with frange_nextafter
5266         instead of default to a closed range.
5267         (build_gt): Same.
5269 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
5270             Jakub Jelinek  <jakub@redhat.com>
5272         * range-op-float.cc (float_binary_op_range_finish): New function.
5273         (foperator_plus::op1_range): New.
5274         (foperator_plus::op2_range): New.
5275         (foperator_minus::op1_range): New.
5276         (foperator_minus::op2_range): New.
5277         (foperator_mult::op1_range): New.
5278         (foperator_mult::op2_range): New.
5279         (foperator_div::op1_range): New.
5280         (foperator_div::op2_range): New.
5282 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
5284         PR tree-optimization/107569
5285         * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
5286         signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
5287         functions.
5288         (foperator_mult_div_base): New class.
5289         (foperator_mult, foperator_div): Derive from that and use
5290         protected static method from it as well as above new functions
5291         to simplify the code.
5293 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
5295         PR tree-optimization/107569
5296         * range-op-float.cc (foperator_div): New class.
5297         (floating_op_table::floating_op_table): Use foperator_div
5298         for RDIV_EXPR.
5300 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
5302         PR tree-optimization/107569
5303         PR tree-optimization/107591
5304         * range-op.h (range_operator_float::rv_fold): Add relation_kind
5305         argument.
5306         * range-op-float.cc (range_operator_float::fold_range): Name
5307         last argument trio and pass trio.op1_op2 () as last argument to
5308         rv_fold.
5309         (range_operator_float::rv_fold): Add relation_kind argument.
5310         (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
5311         (foperator_mult): New class.
5312         (floating_op_table::floating_op_table): Use foperator_mult for
5313         MULT_EXPR.
5315 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
5317         * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
5318         (type): Add flogb.
5319         (logb_non_negative<mode>2): New instruction template.
5320         (logb<mode>2): New define_expand.
5322 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
5324         * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
5325         (type): Add fscaleb.
5326         (IMODE): New mode attr.
5327         (ldexp<mode>3): New instruction template.
5329 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
5331         * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
5332         (UNSPEC_FTINTRM): Likewise.
5333         (UNSPEC_FTINTRP): Likewise.
5334         (LRINT): New define_int_iterator.
5335         (lrint_pattern): New define_int_attr.
5336         (lrint_submenmonic): Likewise.
5337         (lrint_allow_inexact): Likewise.
5338         (ANYFI): New define_mode_iterator.
5339         (lrint<ANYF><ANYFI>): New instruction template.
5341 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
5343         * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
5344         (rint<mode>2): .. this.
5346 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
5348         PR analyzer/106147
5349         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5350         Add -Wanalyzer-infinite-recursion.
5351         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
5352         (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
5354 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
5356         PR analyzer/106147
5357         * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
5359 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
5361         PR tree-optimization/107523
5362         * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
5363         rather than fur_depend.
5365 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
5367         * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
5368         (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
5369         (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
5370         (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
5372 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
5374         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
5375         CPU.
5376         * config/aarch64/aarch64-tune.md: Regenerate.
5377         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
5378         Document Cortex-X1C CPU.
5380 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
5382         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
5383         CPU.
5384         * config/aarch64/aarch64-tune.md: Regenerate.
5385         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
5386         Document Cortex-A715 CPU.
5388 2022-11-11  Richard Biener  <rguenther@suse.de>
5389             Nikita Voronov  <nik_1357@mail.ru>
5391         PR tree-optimization/107554
5392         * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
5393         Use unsigned HOST_WIDE_INT type for the strlen.
5395 2022-11-11  Richard Biener  <rguenther@suse.de>
5397         PR tree-optimization/105142
5398         * gimple-fold.cc (fosa_unwind): New global.
5399         (follow_outer_ssa_edges): When the SSA definition to follow
5400         is does not dominate fosa_bb, temporarily clear flow-sensitive
5401         info.  Make sure to not expand stmts with not defined overflow.
5402         (maybe_fold_comparisons_from_match_pd): Set up unwind stack
5403         for follow_outer_ssa_edges and unwind flow-sensitive info
5404         clearing after matching.
5406 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
5408         * range-op.cc (operator_mult::fold_range): Remove.
5409         (operator_div::fold_range): Remove.
5410         (operator_bitwise_and): Remove.
5412 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
5414         * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
5416 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
5418         * range-op.cc (range_operator::fold_range): Call
5419         update_known_bitmask.
5420         (operator_bitwise_and::fold_range): Avoid setting nonzero bits
5421         when range is undefined.
5423 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
5425         * range-op.cc (class operator_div): Remove tree code.
5426         (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
5427         TRUNC_DIV_EXPR.
5429 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
5431         * range-op.cc: (range_op_table::set): Set m_code.
5432         (integral_table::integral_table): Handle shared entries.
5433         (pointer_table::pointer_table): Same.
5434         * range-op.h (class range_operator): Add m_code.
5436 2022-11-11  Richard Biener  <rguenther@suse.de>
5438         PR tree-optimization/107618
5439         * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
5440         assignments with a single SSA use.
5441         (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
5442         to perform simple constant folding.
5443         (copy_prop::visit_stmt): Visit all assignments.
5445 2022-11-11  Richard Biener  <rguenther@suse.de>
5447         PR tree-optimization/84646
5448         * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
5449         wheter to run update-address-taken.
5450         (pass_dce::execute): Honor it.
5451         * passes.def: Exchange last DCE and CD-DCE invocations.
5452         Swap pass_tail_calls and the last DCE.
5454 2022-11-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
5455             Monk Chiang  <monk.chiang@sifive.com>
5457         * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
5458         (legitimize_move): Ditto.
5459         * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
5460         (riscv_first_stack_step): Adjust for scalable register spilling.
5461         (riscv_expand_prologue): Ditto.
5462         (riscv_expand_epilogue): Ditto.
5463         (riscv_dwarf_poly_indeterminate_value): New function.
5464         (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
5465         * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
5466         (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
5467         (RISCV_PROLOGUE_TEMP2): Ditto.
5468         * config/riscv/vector-iterators.md: New iterators.
5469         * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
5470         (*mov<mode>_whole): New pattern.
5471         (*mov<mode>_fract): New pattern.
5472         (@pred_mov<mode>): Fix it for register spilling.
5474 2022-11-11  Jonathan Wakely  <jwakely@redhat.com>
5476         PR c/85487
5477         * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
5479 2022-11-11  Haochen Jiang  <haochen.jiang@intel.com>
5481         * config/i386/i386-builtin.def (BDESC): Add
5482         OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
5483         * config/i386/i386-expand.cc (ix86_expand_builtin):
5484         Add ISA check before emit_insn.
5485         * config/i386/prfchiintrin.h: Add target for intrin.
5487 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
5489         PR analyzer/99671
5490         * tristate.h (tristate::is_unknown): New.
5492 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
5494         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5495         Add -Wanalyzer-deref-before-check.
5497 2022-11-10  Marek Polacek  <polacek@redhat.com>
5499         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
5500         Extend the description of -Wdangling-reference.
5502 2022-11-10  Andrew Pinski  <apinski@marvell.com>
5504         * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
5505         * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
5506         * system.h: Poison SLOW_SHORT_ACCESS
5508 2022-11-10  Aldy Hernandez  <aldyh@redhat.com>
5510         * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
5511         (range_tests_signed_zeros): Adjust test.
5513 2022-11-10  Richard Biener  <rguenther@suse.de>
5515         PR tree-optimization/84646
5516         * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
5517         copy propagation across PHIs.
5519 2022-11-10  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5521         * config/riscv/riscv-cores.def (RISCV_TUNE): Update
5522         sifive-7-series to point to the sifive_7 pipeline description.
5524 2022-11-10  Richard Biener  <rguenther@suse.de>
5526         PR tree-optimization/84646
5527         * tree-ssa-ccp.cc (set_lattice_value): Make sure we
5528         allow a const -> copy transition and avoid using meet
5529         in that case.
5531 2022-11-10  Martin Liska  <mliska@suse.cz>
5533         * doc/cpp/conf.py: Add newline at last line.
5534         * doc/cppinternals/conf.py: Add newline at last line.
5535         * doc/gcc/conf.py: Add newline at last line.
5536         * doc/gccint/conf.py: Add newline at last line.
5537         * doc/install/conf.py: Add newline at last line.
5539 2022-11-10  Richard Biener  <rguenther@suse.de>
5541         * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
5542         candidates and determine the outermost loop to unswitch.
5543         (tree_ssa_unswitch_loops): First perform all guard hoisting,
5544         then perform unswitching on innermost loop predicates.
5545         (find_unswitching_predicates_for_bb): Keep track of the
5546         outermost loop to unswitch.
5547         (evaluate_bbs): Adjust exit test.
5548         (tree_unswitch_single_loop): Dump whether we unswitched an outer
5549         loop.
5550         (tree_unswitch_loop): Remove assert we unswitch only innermost
5551         loops.
5553 2022-11-10  Jakub Jelinek  <jakub@redhat.com>
5555         PR target/107585
5556         PR target/107546
5557         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
5558         gen_int_mode rather than GEN_INT.
5560 2022-11-09  Martin Liska  <mliska@suse.cz>
5561             Sinan  <sinan.lin@linux.alibaba.com>
5563         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5564         Add missing variable name.
5566 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
5568         * value-range-storage.cc (frange_storage_slot::get_frange): Clear
5569         NAN if appropriate.
5570         * value-range.cc (range_tests_floats): New test.
5572 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
5574         * range-op-float.cc (class foperator_plus): Remove op[12]_range.
5575         (class foperator_minus): Same.
5577 2022-11-09  Qing Zhao  <qing.zhao@oracle.com>
5579         * gimple-array-bounds.cc (trailing_array): Replace
5580         array_at_struct_end_p with new name and update comments.
5581         * gimple-fold.cc (get_range_strlen_tree): Likewise.
5582         * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
5583         Likewise.
5584         * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
5585         * tree-if-conv.cc (idx_within_array_bound): Likewise.
5586         * tree-object-size.cc (addr_object_size): Likewise.
5587         * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
5588         Likewise.
5589         (stmt_kills_ref_p): Likewise.
5590         * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
5591         * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
5592         * tree.cc (array_at_struct_end_p): Rename to ...
5593         (array_ref_flexible_size_p): ... this.
5594         (component_ref_size): Replace array_at_struct_end_p with new name.
5595         * tree.h (array_at_struct_end_p): Rename to ...
5596         (array_ref_flexible_size_p): ... this.
5598 2022-11-09  Martin Liska  <mliska@suse.cz>
5600         * Makefile.in: Use new install URL.
5601         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
5602         Use intersphinx link.
5603         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5604         Use new URL.
5605         * doc/gccint/source-tree-structure-and-build-system.rst: Use
5606         intersphinx link.
5607         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
5608         * doc/install/installing-gcc.rst: Likewise.
5610 2022-11-09  Richard Biener  <rguenther@suse.de>
5612         PR tree-optimization/84646
5613         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
5614         Remove premature cycle rejection.
5616 2022-11-09  Martin Liska  <mliska@suse.cz>
5618         * doc/cpp/character-sets.rst:
5619         Add trailing newline.
5620         * doc/cpp/conditional-syntax.rst:
5621         Add trailing newline.
5622         * doc/cpp/conditional-uses.rst:
5623         Add trailing newline.
5624         * doc/cpp/conditionals.rst:
5625         Add trailing newline.
5626         * doc/cpp/copyright.rst:
5627         Add trailing newline.
5628         * doc/cpp/deleted-code.rst:
5629         Add trailing newline.
5630         * doc/cpp/diagnostics.rst:
5631         Add trailing newline.
5632         * doc/cpp/environment-variables.rst:
5633         Add trailing newline.
5634         * doc/cpp/gnu-free-documentation-license.rst:
5635         Add trailing newline.
5636         * doc/cpp/header-files.rst:
5637         Add trailing newline.
5638         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
5639         Add trailing newline.
5640         * doc/cpp/header-files/computed-includes.rst:
5641         Add trailing newline.
5642         * doc/cpp/header-files/include-operation.rst:
5643         Add trailing newline.
5644         * doc/cpp/header-files/include-syntax.rst:
5645         Add trailing newline.
5646         * doc/cpp/header-files/once-only-headers.rst:
5647         Add trailing newline.
5648         * doc/cpp/header-files/search-path.rst:
5649         Add trailing newline.
5650         * doc/cpp/header-files/system-headers.rst:
5651         Add trailing newline.
5652         * doc/cpp/header-files/wrapper-headers.rst:
5653         Add trailing newline.
5654         * doc/cpp/implementation-defined-behavior.rst:
5655         Add trailing newline.
5656         * doc/cpp/implementation-details.rst:
5657         Add trailing newline.
5658         * doc/cpp/implementation-limits.rst:
5659         Add trailing newline.
5660         * doc/cpp/index.rst:
5661         Add trailing newline.
5662         * doc/cpp/indices-and-tables.rst:
5663         Add trailing newline.
5664         * doc/cpp/initial-processing.rst:
5665         Add trailing newline.
5666         * doc/cpp/invocation.rst:
5667         Add trailing newline.
5668         * doc/cpp/line-control.rst:
5669         Add trailing newline.
5670         * doc/cpp/macros.rst:
5671         Add trailing newline.
5672         * doc/cpp/macros/concatenation.rst:
5673         Add trailing newline.
5674         * doc/cpp/macros/directives-within-macro-arguments.rst:
5675         Add trailing newline.
5676         * doc/cpp/macros/function-like-macros.rst:
5677         Add trailing newline.
5678         * doc/cpp/macros/macro-arguments.rst:
5679         Add trailing newline.
5680         * doc/cpp/macros/macro-pitfalls.rst:
5681         Add trailing newline.
5682         * doc/cpp/macros/object-like-macros.rst:
5683         Add trailing newline.
5684         * doc/cpp/macros/predefined-macros.rst:
5685         Add trailing newline.
5686         * doc/cpp/macros/stringizing.rst:
5687         Add trailing newline.
5688         * doc/cpp/macros/undefining-and-redefining-macros.rst:
5689         Add trailing newline.
5690         * doc/cpp/macros/variadic-macros.rst:
5691         Add trailing newline.
5692         * doc/cpp/obsolete-features.rst:
5693         Add trailing newline.
5694         * doc/cpp/other-directives.rst:
5695         Add trailing newline.
5696         * doc/cpp/overview.rst:
5697         Add trailing newline.
5698         * doc/cpp/pragmas.rst:
5699         Add trailing newline.
5700         * doc/cpp/preprocessor-output.rst:
5701         Add trailing newline.
5702         * doc/cpp/the-preprocessing-language.rst:
5703         Add trailing newline.
5704         * doc/cpp/tokenization.rst:
5705         Add trailing newline.
5706         * doc/cpp/traditional-lexical-analysis.rst:
5707         Add trailing newline.
5708         * doc/cpp/traditional-macros.rst:
5709         Add trailing newline.
5710         * doc/cpp/traditional-miscellany.rst:
5711         Add trailing newline.
5712         * doc/cpp/traditional-mode.rst:
5713         Add trailing newline.
5714         * doc/cpp/traditional-warnings.rst:
5715         Add trailing newline.
5716         * doc/cppinternals/copyright.rst:
5717         Add trailing newline.
5718         * doc/cppinternals/cppinternals.rst:
5719         Add trailing newline.
5720         * doc/cppinternals/cpplib.rst:
5721         Add trailing newline.
5722         * doc/cppinternals/files.rst:
5723         Add trailing newline.
5724         * doc/cppinternals/index.rst:
5725         Add trailing newline.
5726         * doc/cppinternals/indices-and-tables.rst:
5727         Add trailing newline.
5728         * doc/cppinternals/internal-representation-of-macros.rst:
5729         Add trailing newline.
5730         * doc/cppinternals/just-which-line-number-anyway.rst:
5731         Add trailing newline.
5732         * doc/cppinternals/lexing-a-line.rst:
5733         Add trailing newline.
5734         * doc/cppinternals/lexing-a-token.rst:
5735         Add trailing newline.
5736         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
5737         Add trailing newline.
5738         * doc/cppinternals/macro-expansion-overview.rst:
5739         Add trailing newline.
5740         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
5741         Add trailing newline.
5742         * doc/cppinternals/multiple-include-optimization.rst:
5743         Add trailing newline.
5744         * doc/cppinternals/overview.rst:
5745         Add trailing newline.
5746         * doc/cppinternals/representation-of-line-numbers.rst:
5747         Add trailing newline.
5748         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
5749         Add trailing newline.
5750         * doc/gcc/binary-compatibility.rst:
5751         Add trailing newline.
5752         * doc/gcc/c++-implementation-defined-behavior.rst:
5753         Add trailing newline.
5754         * doc/gcc/c-implementation-defined-behavior.rst:
5755         Add trailing newline.
5756         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
5757         Add trailing newline.
5758         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
5759         Add trailing newline.
5760         * doc/gcc/c-implementation-defined-behavior/characters.rst:
5761         Add trailing newline.
5762         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
5763         Add trailing newline.
5764         * doc/gcc/c-implementation-defined-behavior/environment.rst:
5765         Add trailing newline.
5766         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
5767         Add trailing newline.
5768         * doc/gcc/c-implementation-defined-behavior/hints.rst:
5769         Add trailing newline.
5770         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
5771         Add trailing newline.
5772         * doc/gcc/c-implementation-defined-behavior/integers.rst:
5773         Add trailing newline.
5774         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
5775         Add trailing newline.
5776         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
5777         Add trailing newline.
5778         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
5779         Add trailing newline.
5780         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
5781         Add trailing newline.
5782         * doc/gcc/c-implementation-defined-behavior/statements.rst:
5783         Add trailing newline.
5784         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
5785         Add trailing newline.
5786         * doc/gcc/c-implementation-defined-behavior/translation.rst:
5787         Add trailing newline.
5788         * doc/gcc/conditionally-supported-behavior.rst:
5789         Add trailing newline.
5790         * doc/gcc/contributing-to-gcc-development.rst:
5791         Add trailing newline.
5792         * doc/gcc/contributors-to-gcc.rst:
5793         Add trailing newline.
5794         * doc/gcc/copyright.rst:
5795         Add trailing newline.
5796         * doc/gcc/exception-handling.rst:
5797         Add trailing newline.
5798         * doc/gcc/extensions-to-the-c++-language.rst:
5799         Add trailing newline.
5800         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
5801         Add trailing newline.
5802         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
5803         Add trailing newline.
5804         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
5805         Add trailing newline.
5806         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
5807         Add trailing newline.
5808         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
5809         Add trailing newline.
5810         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
5811         Add trailing newline.
5812         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
5813         Add trailing newline.
5814         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
5815         Add trailing newline.
5816         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
5817         Add trailing newline.
5818         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
5819         Add trailing newline.
5820         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
5821         Add trailing newline.
5822         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
5823         Add trailing newline.
5824         * doc/gcc/extensions-to-the-c-language-family.rst:
5825         Add trailing newline.
5826         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
5827         Add trailing newline.
5828         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
5829         Add trailing newline.
5830         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
5831         Add trailing newline.
5832         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
5833         Add trailing newline.
5834         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
5835         Add trailing newline.
5836         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
5837         Add trailing newline.
5838         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
5839         Add trailing newline.
5840         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
5841         Add trailing newline.
5842         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
5843         Add trailing newline.
5844         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
5845         Add trailing newline.
5846         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
5847         Add trailing newline.
5848         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
5849         Add trailing newline.
5850         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
5851         Add trailing newline.
5852         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
5853         Add trailing newline.
5854         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
5855         Add trailing newline.
5856         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
5857         Add trailing newline.
5858         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
5859         Add trailing newline.
5860         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
5861         Add trailing newline.
5862         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
5863         Add trailing newline.
5864         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
5865         Add trailing newline.
5866         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
5867         Add trailing newline.
5868         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
5869         Add trailing newline.
5870         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
5871         Add trailing newline.
5872         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
5873         Add trailing newline.
5874         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
5875         Add trailing newline.
5876         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
5877         Add trailing newline.
5878         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
5879         Add trailing newline.
5880         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
5881         Add trailing newline.
5882         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
5883         Add trailing newline.
5884         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
5885         Add trailing newline.
5886         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
5887         Add trailing newline.
5888         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
5889         Add trailing newline.
5890         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
5891         Add trailing newline.
5892         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
5893         Add trailing newline.
5894         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
5895         Add trailing newline.
5896         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
5897         Add trailing newline.
5898         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
5899         Add trailing newline.
5900         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
5901         Add trailing newline.
5902         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
5903         Add trailing newline.
5904         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
5905         Add trailing newline.
5906         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
5907         Add trailing newline.
5908         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
5909         Add trailing newline.
5910         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
5911         Add trailing newline.
5912         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
5913         Add trailing newline.
5914         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
5915         Add trailing newline.
5916         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
5917         Add trailing newline.
5918         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
5919         Add trailing newline.
5920         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
5921         Add trailing newline.
5922         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
5923         Add trailing newline.
5924         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
5925         Add trailing newline.
5926         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
5927         Add trailing newline.
5928         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
5929         Add trailing newline.
5930         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
5931         Add trailing newline.
5932         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
5933         Add trailing newline.
5934         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
5935         Add trailing newline.
5936         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
5937         Add trailing newline.
5938         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
5939         Add trailing newline.
5940         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
5941         Add trailing newline.
5942         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
5943         Add trailing newline.
5944         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
5945         Add trailing newline.
5946         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
5947         Add trailing newline.
5948         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
5949         Add trailing newline.
5950         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
5951         Add trailing newline.
5952         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
5953         Add trailing newline.
5954         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
5955         Add trailing newline.
5956         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
5957         Add trailing newline.
5958         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
5959         Add trailing newline.
5960         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
5961         Add trailing newline.
5962         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
5963         Add trailing newline.
5964         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
5965         Add trailing newline.
5966         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
5967         Add trailing newline.
5968         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
5969         Add trailing newline.
5970         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
5971         Add trailing newline.
5972         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
5973         Add trailing newline.
5974         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
5975         Add trailing newline.
5976         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
5977         Add trailing newline.
5978         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
5979         Add trailing newline.
5980         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
5981         Add trailing newline.
5982         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
5983         Add trailing newline.
5984         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
5985         Add trailing newline.
5986         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
5987         Add trailing newline.
5988         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
5989         Add trailing newline.
5990         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
5991         Add trailing newline.
5992         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
5993         Add trailing newline.
5994         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
5995         Add trailing newline.
5996         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
5997         Add trailing newline.
5998         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
5999         Add trailing newline.
6000         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
6001         Add trailing newline.
6002         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
6003         Add trailing newline.
6004         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
6005         Add trailing newline.
6006         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
6007         Add trailing newline.
6008         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
6009         Add trailing newline.
6010         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
6011         Add trailing newline.
6012         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
6013         Add trailing newline.
6014         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
6015         Add trailing newline.
6016         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
6017         Add trailing newline.
6018         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
6019         Add trailing newline.
6020         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
6021         Add trailing newline.
6022         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
6023         Add trailing newline.
6024         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
6025         Add trailing newline.
6026         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
6027         Add trailing newline.
6028         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
6029         Add trailing newline.
6030         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
6031         Add trailing newline.
6032         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
6033         Add trailing newline.
6034         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
6035         Add trailing newline.
6036         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
6037         Add trailing newline.
6038         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
6039         Add trailing newline.
6040         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
6041         Add trailing newline.
6042         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
6043         Add trailing newline.
6044         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
6045         Add trailing newline.
6046         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
6047         Add trailing newline.
6048         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
6049         Add trailing newline.
6050         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
6051         Add trailing newline.
6052         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
6053         Add trailing newline.
6054         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
6055         Add trailing newline.
6056         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
6057         Add trailing newline.
6058         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
6059         Add trailing newline.
6060         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
6061         Add trailing newline.
6062         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
6063         Add trailing newline.
6064         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
6065         Add trailing newline.
6066         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
6067         Add trailing newline.
6068         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
6069         Add trailing newline.
6070         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
6071         Add trailing newline.
6072         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
6073         Add trailing newline.
6074         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
6075         Add trailing newline.
6076         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
6077         Add trailing newline.
6078         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
6079         Add trailing newline.
6080         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
6081         Add trailing newline.
6082         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
6083         Add trailing newline.
6084         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
6085         Add trailing newline.
6086         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
6087         Add trailing newline.
6088         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
6089         Add trailing newline.
6090         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
6091         Add trailing newline.
6092         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
6093         Add trailing newline.
6094         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
6095         Add trailing newline.
6096         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
6097         Add trailing newline.
6098         * doc/gcc/funding.rst:
6099         Add trailing newline.
6100         * doc/gcc/gcc-command-options.rst:
6101         Add trailing newline.
6102         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
6103         Add trailing newline.
6104         * doc/gcc/gcc-command-options/description.rst:
6105         Add trailing newline.
6106         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
6107         Add trailing newline.
6108         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
6109         Add trailing newline.
6110         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
6111         Add trailing newline.
6112         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
6113         Add trailing newline.
6114         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
6115         Add trailing newline.
6116         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
6117         Add trailing newline.
6118         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
6119         Add trailing newline.
6120         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
6121         Add trailing newline.
6122         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
6123         Add trailing newline.
6124         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
6125         Add trailing newline.
6126         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
6127         Add trailing newline.
6128         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
6129         Add trailing newline.
6130         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
6131         Add trailing newline.
6132         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
6133         Add trailing newline.
6134         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
6135         Add trailing newline.
6136         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
6137         Add trailing newline.
6138         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
6139         Add trailing newline.
6140         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
6141         Add trailing newline.
6142         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
6143         Add trailing newline.
6144         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
6145         Add trailing newline.
6146         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
6147         Add trailing newline.
6148         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
6149         Add trailing newline.
6150         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
6151         Add trailing newline.
6152         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
6153         Add trailing newline.
6154         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
6155         Add trailing newline.
6156         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
6157         Add trailing newline.
6158         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
6159         Add trailing newline.
6160         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
6161         Add trailing newline.
6162         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
6163         Add trailing newline.
6164         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
6165         Add trailing newline.
6166         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
6167         Add trailing newline.
6168         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
6169         Add trailing newline.
6170         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
6171         Add trailing newline.
6172         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
6173         Add trailing newline.
6174         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
6175         Add trailing newline.
6176         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
6177         Add trailing newline.
6178         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
6179         Add trailing newline.
6180         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
6181         Add trailing newline.
6182         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
6183         Add trailing newline.
6184         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
6185         Add trailing newline.
6186         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
6187         Add trailing newline.
6188         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
6189         Add trailing newline.
6190         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
6191         Add trailing newline.
6192         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
6193         Add trailing newline.
6194         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
6195         Add trailing newline.
6196         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
6197         Add trailing newline.
6198         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
6199         Add trailing newline.
6200         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
6201         Add trailing newline.
6202         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
6203         Add trailing newline.
6204         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
6205         Add trailing newline.
6206         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
6207         Add trailing newline.
6208         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
6209         Add trailing newline.
6210         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
6211         Add trailing newline.
6212         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
6213         Add trailing newline.
6214         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
6215         Add trailing newline.
6216         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
6217         Add trailing newline.
6218         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
6219         Add trailing newline.
6220         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
6221         Add trailing newline.
6222         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
6223         Add trailing newline.
6224         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
6225         Add trailing newline.
6226         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
6227         Add trailing newline.
6228         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
6229         Add trailing newline.
6230         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
6231         Add trailing newline.
6232         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
6233         Add trailing newline.
6234         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
6235         Add trailing newline.
6236         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
6237         Add trailing newline.
6238         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
6239         Add trailing newline.
6240         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
6241         Add trailing newline.
6242         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
6243         Add trailing newline.
6244         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
6245         Add trailing newline.
6246         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
6247         Add trailing newline.
6248         * doc/gcc/gcc-command-options/options-for-linking.rst:
6249         Add trailing newline.
6250         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
6251         Add trailing newline.
6252         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
6253         Add trailing newline.
6254         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
6255         Add trailing newline.
6256         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
6257         Add trailing newline.
6258         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
6259         Add trailing newline.
6260         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
6261         Add trailing newline.
6262         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
6263         Add trailing newline.
6264         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
6265         Add trailing newline.
6266         * doc/gcc/gcc.rst:
6267         Add trailing newline.
6268         * doc/gcc/gcov-dump.rst:
6269         Add trailing newline.
6270         * doc/gcc/gcov-tool.rst:
6271         Add trailing newline.
6272         * doc/gcc/gcov.rst:
6273         Add trailing newline.
6274         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
6275         Add trailing newline.
6276         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
6277         Add trailing newline.
6278         * doc/gcc/gcov/introduction-to-gcov.rst:
6279         Add trailing newline.
6280         * doc/gcc/gcov/invoking-gcov.rst:
6281         Add trailing newline.
6282         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
6283         Add trailing newline.
6284         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
6285         Add trailing newline.
6286         * doc/gcc/general-public-license-3.rst:
6287         Add trailing newline.
6288         * doc/gcc/gnu-free-documentation-license.rst:
6289         Add trailing newline.
6290         * doc/gcc/gnu-objective-c-features.rst:
6291         Add trailing newline.
6292         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
6293         Add trailing newline.
6294         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
6295         Add trailing newline.
6296         * doc/gcc/gnu-objective-c-features/exceptions.rst:
6297         Add trailing newline.
6298         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
6299         Add trailing newline.
6300         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
6301         Add trailing newline.
6302         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
6303         Add trailing newline.
6304         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
6305         Add trailing newline.
6306         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
6307         Add trailing newline.
6308         * doc/gcc/gnu-objective-c-features/synchronization.rst:
6309         Add trailing newline.
6310         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
6311         Add trailing newline.
6312         * doc/gcc/gnu.rst:
6313         Add trailing newline.
6314         * doc/gcc/have-you-found-a-bug.rst:
6315         Add trailing newline.
6316         * doc/gcc/how-and-where-to-report-bugs.rst:
6317         Add trailing newline.
6318         * doc/gcc/how-to-get-help-with-gcc.rst:
6319         Add trailing newline.
6320         * doc/gcc/index.rst:
6321         Add trailing newline.
6322         * doc/gcc/indices-and-tables.rst:
6323         Add trailing newline.
6324         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
6325         Add trailing newline.
6326         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
6327         Add trailing newline.
6328         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
6329         Add trailing newline.
6330         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
6331         Add trailing newline.
6332         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
6333         Add trailing newline.
6334         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
6335         Add trailing newline.
6336         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
6337         Add trailing newline.
6338         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
6339         Add trailing newline.
6340         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
6341         Add trailing newline.
6342         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
6343         Add trailing newline.
6344         * doc/gcc/language-standards-supported-by-gcc.rst:
6345         Add trailing newline.
6346         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
6347         Add trailing newline.
6348         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
6349         Add trailing newline.
6350         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
6351         Add trailing newline.
6352         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
6353         Add trailing newline.
6354         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
6355         Add trailing newline.
6356         * doc/gcc/lto-dump.rst:
6357         Add trailing newline.
6358         * doc/gcc/programming-languages-supported-by-gcc.rst:
6359         Add trailing newline.
6360         * doc/gcc/reporting-bugs.rst:
6361         Add trailing newline.
6362         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
6363         Add trailing newline.
6364         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
6365         Add trailing newline.
6366         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
6367         Add trailing newline.
6368         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
6369         Add trailing newline.
6370         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
6371         Add trailing newline.
6372         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
6373         Add trailing newline.
6374         * doc/gccint/analysis-and-representation-of-loops.rst:
6375         Add trailing newline.
6376         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
6377         Add trailing newline.
6378         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
6379         Add trailing newline.
6380         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
6381         Add trailing newline.
6382         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
6383         Add trailing newline.
6384         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
6385         Add trailing newline.
6386         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
6387         Add trailing newline.
6388         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
6389         Add trailing newline.
6390         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
6391         Add trailing newline.
6392         * doc/gccint/analyzer-internals.rst:
6393         Add trailing newline.
6394         * doc/gccint/collect2.rst:
6395         Add trailing newline.
6396         * doc/gccint/contributing-to-gcc-development.rst:
6397         Add trailing newline.
6398         * doc/gccint/contributors-to-gcc.rst:
6399         Add trailing newline.
6400         * doc/gccint/control-flow-graph.rst:
6401         Add trailing newline.
6402         * doc/gccint/control-flow-graph/basic-blocks.rst:
6403         Add trailing newline.
6404         * doc/gccint/control-flow-graph/edges.rst:
6405         Add trailing newline.
6406         * doc/gccint/control-flow-graph/liveness-information.rst:
6407         Add trailing newline.
6408         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
6409         Add trailing newline.
6410         * doc/gccint/control-flow-graph/profile-information.rst:
6411         Add trailing newline.
6412         * doc/gccint/copyright.rst:
6413         Add trailing newline.
6414         * doc/gccint/debugging-the-analyzer.rst:
6415         Add trailing newline.
6416         * doc/gccint/funding.rst:
6417         Add trailing newline.
6418         * doc/gccint/gcc-and-portability.rst:
6419         Add trailing newline.
6420         * doc/gccint/general-public-license-3.rst:
6421         Add trailing newline.
6422         * doc/gccint/generic.rst:
6423         Add trailing newline.
6424         * doc/gccint/generic/attributes-in-trees.rst:
6425         Add trailing newline.
6426         * doc/gccint/generic/c-and-c++-trees.rst:
6427         Add trailing newline.
6428         * doc/gccint/generic/declarations.rst:
6429         Add trailing newline.
6430         * doc/gccint/generic/deficiencies.rst:
6431         Add trailing newline.
6432         * doc/gccint/generic/expressions.rst:
6433         Add trailing newline.
6434         * doc/gccint/generic/functions.rst:
6435         Add trailing newline.
6436         * doc/gccint/generic/language-dependent-trees.rst:
6437         Add trailing newline.
6438         * doc/gccint/generic/overview.rst:
6439         Add trailing newline.
6440         * doc/gccint/generic/statements.rst:
6441         Add trailing newline.
6442         * doc/gccint/generic/types.rst:
6443         Add trailing newline.
6444         * doc/gccint/gimple-api.rst:
6445         Add trailing newline.
6446         * doc/gccint/gimple.rst:
6447         Add trailing newline.
6448         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
6449         Add trailing newline.
6450         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
6451         Add trailing newline.
6452         * doc/gccint/gimple/exception-handling.rst:
6453         Add trailing newline.
6454         * doc/gccint/gimple/gimple-instruction-set.rst:
6455         Add trailing newline.
6456         * doc/gccint/gimple/gimple-sequences.rst:
6457         Add trailing newline.
6458         * doc/gccint/gimple/manipulating-gimple-statements.rst:
6459         Add trailing newline.
6460         * doc/gccint/gimple/operands.rst:
6461         Add trailing newline.
6462         * doc/gccint/gimple/sequence-iterators.rst:
6463         Add trailing newline.
6464         * doc/gccint/gimple/statement-and-operand-traversals.rst:
6465         Add trailing newline.
6466         * doc/gccint/gimple/temporaries.rst:
6467         Add trailing newline.
6468         * doc/gccint/gimple/tuple-representation.rst:
6469         Add trailing newline.
6470         * doc/gccint/gimple/tuple-specific-accessors.rst:
6471         Add trailing newline.
6472         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
6473         Add trailing newline.
6474         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
6475         Add trailing newline.
6476         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
6477         Add trailing newline.
6478         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
6479         Add trailing newline.
6480         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
6481         Add trailing newline.
6482         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
6483         Add trailing newline.
6484         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
6485         Add trailing newline.
6486         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
6487         Add trailing newline.
6488         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
6489         Add trailing newline.
6490         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
6491         Add trailing newline.
6492         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
6493         Add trailing newline.
6494         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
6495         Add trailing newline.
6496         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
6497         Add trailing newline.
6498         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
6499         Add trailing newline.
6500         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
6501         Add trailing newline.
6502         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
6503         Add trailing newline.
6504         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
6505         Add trailing newline.
6506         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
6507         Add trailing newline.
6508         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
6509         Add trailing newline.
6510         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
6511         Add trailing newline.
6512         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
6513         Add trailing newline.
6514         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
6515         Add trailing newline.
6516         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
6517         Add trailing newline.
6518         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
6519         Add trailing newline.
6520         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
6521         Add trailing newline.
6522         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
6523         Add trailing newline.
6524         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
6525         Add trailing newline.
6526         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
6527         Add trailing newline.
6528         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
6529         Add trailing newline.
6530         * doc/gccint/gnu-free-documentation-license.rst:
6531         Add trailing newline.
6532         * doc/gccint/guidelines-for-diagnostics.rst:
6533         Add trailing newline.
6534         * doc/gccint/guidelines-for-options.rst:
6535         Add trailing newline.
6536         * doc/gccint/host-common.rst:
6537         Add trailing newline.
6538         * doc/gccint/host-configuration.rst:
6539         Add trailing newline.
6540         * doc/gccint/host-filesystem.rst:
6541         Add trailing newline.
6542         * doc/gccint/host-makefile-fragments.rst:
6543         Add trailing newline.
6544         * doc/gccint/host-misc.rst:
6545         Add trailing newline.
6546         * doc/gccint/index.rst:
6547         Add trailing newline.
6548         * doc/gccint/indices-and-tables.rst:
6549         Add trailing newline.
6550         * doc/gccint/interfacing-to-gcc-output.rst:
6551         Add trailing newline.
6552         * doc/gccint/introduction.rst:
6553         Add trailing newline.
6554         * doc/gccint/language-front-ends-in-gcc.rst:
6555         Add trailing newline.
6556         * doc/gccint/link-time-optimization.rst:
6557         Add trailing newline.
6558         * doc/gccint/link-time-optimization/design-overview.rst:
6559         Add trailing newline.
6560         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
6561         Add trailing newline.
6562         * doc/gccint/link-time-optimization/lto-file-sections.rst:
6563         Add trailing newline.
6564         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
6565         Add trailing newline.
6566         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
6567         Add trailing newline.
6568         * doc/gccint/machine-descriptions.rst:
6569         Add trailing newline.
6570         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
6571         Add trailing newline.
6572         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
6573         Add trailing newline.
6574         * doc/gccint/machine-descriptions/conditional-execution.rst:
6575         Add trailing newline.
6576         * doc/gccint/machine-descriptions/constant-definitions.rst:
6577         Add trailing newline.
6578         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
6579         Add trailing newline.
6580         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
6581         Add trailing newline.
6582         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
6583         Add trailing newline.
6584         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
6585         Add trailing newline.
6586         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
6587         Add trailing newline.
6588         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
6589         Add trailing newline.
6590         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
6591         Add trailing newline.
6592         * doc/gccint/machine-descriptions/instruction-attributes.rst:
6593         Add trailing newline.
6594         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
6595         Add trailing newline.
6596         * doc/gccint/machine-descriptions/iterators.rst:
6597         Add trailing newline.
6598         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
6599         Add trailing newline.
6600         * doc/gccint/machine-descriptions/operand-constraints.rst:
6601         Add trailing newline.
6602         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
6603         Add trailing newline.
6604         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
6605         Add trailing newline.
6606         * doc/gccint/machine-descriptions/predicates.rst:
6607         Add trailing newline.
6608         * doc/gccint/machine-descriptions/rtl-template.rst:
6609         Add trailing newline.
6610         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
6611         Add trailing newline.
6612         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
6613         Add trailing newline.
6614         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
6615         Add trailing newline.
6616         * doc/gccint/makefile-fragments.rst:
6617         Add trailing newline.
6618         * doc/gccint/match-and-simplify.rst:
6619         Add trailing newline.
6620         * doc/gccint/memory-management-and-type-information.rst:
6621         Add trailing newline.
6622         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
6623         Add trailing newline.
6624         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
6625         Add trailing newline.
6626         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
6627         Add trailing newline.
6628         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
6629         Add trailing newline.
6630         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
6631         Add trailing newline.
6632         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
6633         Add trailing newline.
6634         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
6635         Add trailing newline.
6636         * doc/gccint/option-file-format.rst:
6637         Add trailing newline.
6638         * doc/gccint/option-properties.rst:
6639         Add trailing newline.
6640         * doc/gccint/option-specification-files.rst:
6641         Add trailing newline.
6642         * doc/gccint/passes-and-files-of-the-compiler.rst:
6643         Add trailing newline.
6644         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
6645         Add trailing newline.
6646         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
6647         Add trailing newline.
6648         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
6649         Add trailing newline.
6650         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
6651         Add trailing newline.
6652         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
6653         Add trailing newline.
6654         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
6655         Add trailing newline.
6656         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
6657         Add trailing newline.
6658         * doc/gccint/plugins.rst:
6659         Add trailing newline.
6660         * doc/gccint/plugins/building-gcc-plugins.rst:
6661         Add trailing newline.
6662         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
6663         Add trailing newline.
6664         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
6665         Add trailing newline.
6666         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
6667         Add trailing newline.
6668         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
6669         Add trailing newline.
6670         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
6671         Add trailing newline.
6672         * doc/gccint/plugins/loading-plugins.rst:
6673         Add trailing newline.
6674         * doc/gccint/plugins/plugin-api.rst:
6675         Add trailing newline.
6676         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
6677         Add trailing newline.
6678         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
6679         Add trailing newline.
6680         * doc/gccint/rtl-representation.rst:
6681         Add trailing newline.
6682         * doc/gccint/rtl-representation/access-to-operands.rst:
6683         Add trailing newline.
6684         * doc/gccint/rtl-representation/access-to-special-operands.rst:
6685         Add trailing newline.
6686         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
6687         Add trailing newline.
6688         * doc/gccint/rtl-representation/bit-fields.rst:
6689         Add trailing newline.
6690         * doc/gccint/rtl-representation/comparison-operations.rst:
6691         Add trailing newline.
6692         * doc/gccint/rtl-representation/constant-expression-types.rst:
6693         Add trailing newline.
6694         * doc/gccint/rtl-representation/conversions.rst:
6695         Add trailing newline.
6696         * doc/gccint/rtl-representation/declarations.rst:
6697         Add trailing newline.
6698         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
6699         Add trailing newline.
6700         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
6701         Add trailing newline.
6702         * doc/gccint/rtl-representation/insns.rst:
6703         Add trailing newline.
6704         * doc/gccint/rtl-representation/machine-modes.rst:
6705         Add trailing newline.
6706         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
6707         Add trailing newline.
6708         * doc/gccint/rtl-representation/reading-rtl.rst:
6709         Add trailing newline.
6710         * doc/gccint/rtl-representation/registers-and-memory.rst:
6711         Add trailing newline.
6712         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
6713         Add trailing newline.
6714         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
6715         Add trailing newline.
6716         * doc/gccint/rtl-representation/rtl-object-types.rst:
6717         Add trailing newline.
6718         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
6719         Add trailing newline.
6720         * doc/gccint/rtl-representation/side-effect-expressions.rst:
6721         Add trailing newline.
6722         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
6723         Add trailing newline.
6724         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
6725         Add trailing newline.
6726         * doc/gccint/rtl-representation/vector-operations.rst:
6727         Add trailing newline.
6728         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
6729         Add trailing newline.
6730         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
6731         Add trailing newline.
6732         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
6733         Add trailing newline.
6734         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
6735         Add trailing newline.
6736         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
6737         Add trailing newline.
6738         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
6739         Add trailing newline.
6740         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
6741         Add trailing newline.
6742         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
6743         Add trailing newline.
6744         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
6745         Add trailing newline.
6746         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
6747         Add trailing newline.
6748         * doc/gccint/source-tree-structure-and-build-system.rst:
6749         Add trailing newline.
6750         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
6751         Add trailing newline.
6752         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
6753         Add trailing newline.
6754         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
6755         Add trailing newline.
6756         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
6757         Add trailing newline.
6758         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
6759         Add trailing newline.
6760         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
6761         Add trailing newline.
6762         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
6763         Add trailing newline.
6764         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
6765         Add trailing newline.
6766         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
6767         Add trailing newline.
6768         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
6769         Add trailing newline.
6770         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
6771         Add trailing newline.
6772         * doc/gccint/standard-header-file-directories.rst:
6773         Add trailing newline.
6774         * doc/gccint/static-analyzer.rst:
6775         Add trailing newline.
6776         * doc/gccint/target-macros.rst:
6777         Add trailing newline.
6778         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
6779         Add trailing newline.
6780         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
6781         Add trailing newline.
6782         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
6783         Add trailing newline.
6784         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
6785         Add trailing newline.
6786         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
6787         Add trailing newline.
6788         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
6789         Add trailing newline.
6790         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
6791         Add trailing newline.
6792         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
6793         Add trailing newline.
6794         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
6795         Add trailing newline.
6796         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
6797         Add trailing newline.
6798         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
6799         Add trailing newline.
6800         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
6801         Add trailing newline.
6802         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
6803         Add trailing newline.
6804         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
6805         Add trailing newline.
6806         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
6807         Add trailing newline.
6808         * doc/gccint/target-macros/position-independent-code.rst:
6809         Add trailing newline.
6810         * doc/gccint/target-macros/register-usage.rst:
6811         Add trailing newline.
6812         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
6813         Add trailing newline.
6814         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
6815         Add trailing newline.
6816         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
6817         Add trailing newline.
6818         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
6819         Add trailing newline.
6820         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
6821         Add trailing newline.
6822         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
6823         Add trailing newline.
6824         * doc/gccint/target-macros/support-for-nested-functions.rst:
6825         Add trailing newline.
6826         * doc/gccint/target-macros/the-global-targetm-variable.rst:
6827         Add trailing newline.
6828         * doc/gccint/target-makefile-fragments.rst:
6829         Add trailing newline.
6830         * doc/gccint/testsuites.rst:
6831         Add trailing newline.
6832         * doc/gccint/testsuites/ada-language-testsuites.rst:
6833         Add trailing newline.
6834         * doc/gccint/testsuites/c-language-testsuites.rst:
6835         Add trailing newline.
6836         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
6837         Add trailing newline.
6838         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
6839         Add trailing newline.
6840         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
6841         Add trailing newline.
6842         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
6843         Add trailing newline.
6844         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
6845         Add trailing newline.
6846         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
6847         Add trailing newline.
6848         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
6849         Add trailing newline.
6850         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
6851         Add trailing newline.
6852         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
6853         Add trailing newline.
6854         * doc/gccint/testsuites/support-for-testing-gcov.rst:
6855         Add trailing newline.
6856         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
6857         Add trailing newline.
6858         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
6859         Add trailing newline.
6860         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
6861         Add trailing newline.
6862         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
6863         Add trailing newline.
6864         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
6865         Add trailing newline.
6866         * doc/gccint/the-gcc-low-level-runtime-library.rst:
6867         Add trailing newline.
6868         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
6869         Add trailing newline.
6870         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
6871         Add trailing newline.
6872         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
6873         Add trailing newline.
6874         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
6875         Add trailing newline.
6876         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
6877         Add trailing newline.
6878         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
6879         Add trailing newline.
6880         * doc/gccint/the-language.rst:
6881         Add trailing newline.
6882         * doc/gccint/user-experience-guidelines.rst:
6883         Add trailing newline.
6884         * doc/install/binaries.rst:
6885         Add trailing newline.
6886         * doc/install/building.rst:
6887         Add trailing newline.
6888         * doc/install/building/building-a-cross-compiler.rst:
6889         Add trailing newline.
6890         * doc/install/building/building-a-native-compiler.rst:
6891         Add trailing newline.
6892         * doc/install/building/building-in-parallel.rst:
6893         Add trailing newline.
6894         * doc/install/building/building-the-ada-compiler.rst:
6895         Add trailing newline.
6896         * doc/install/building/building-the-d-compiler.rst:
6897         Add trailing newline.
6898         * doc/install/building/building-with-profile-feedback.rst:
6899         Add trailing newline.
6900         * doc/install/configuration.rst:
6901         Add trailing newline.
6902         * doc/install/copyright.rst:
6903         Add trailing newline.
6904         * doc/install/downloading-gcc.rst:
6905         Add trailing newline.
6906         * doc/install/final-installation.rst:
6907         Add trailing newline.
6908         * doc/install/gnu-free-documentation-license.rst:
6909         Add trailing newline.
6910         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
6911         Add trailing newline.
6912         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
6913         Add trailing newline.
6914         * doc/install/how-to-interpret-test-results.rst:
6915         Add trailing newline.
6916         * doc/install/index.rst:
6917         Add trailing newline.
6918         * doc/install/indices-and-tables.rst:
6919         Add trailing newline.
6920         * doc/install/installing-gcc.rst:
6921         Add trailing newline.
6922         * doc/install/passing-options-and-running-multiple-testsuites.rst:
6923         Add trailing newline.
6924         * doc/install/prerequisites.rst:
6925         Add trailing newline.
6926         * doc/install/submitting-test-results.rst:
6927         Add trailing newline.
6928         * doc/install/testing.rst:
6929         Add trailing newline.
6931 2022-11-09  Martin Liska  <mliska@suse.cz>
6933         * opts.cc (get_option_html_page): Port to sphinx URLs.
6934         (get_option_url): Likewise.
6935         (test_get_option_html_page): Likewise.
6937 2022-11-09  Jakub Jelinek  <jakub@redhat.com>
6939         PR tree-optimization/107569
6940         * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
6941         from the negatives frange before unioning it into r.
6943 2022-11-09  Martin Liska  <mliska@suse.cz>
6945         * Makefile.in: Add vpath default for .rst files.
6946         * config/avr/avr-devices.cc: For port RST.
6947         * config/avr/avr-mcus.def: Update path.
6948         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
6949         * config/avr/gen-avr-mmcu-rst.cc: ...here.
6950         * config/avr/t-avr: Update to rst.
6951         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
6953 2022-11-09  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6955         * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
6957 2022-11-09  Xi Ruoyao  <xry111@xry111.site>
6959         * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
6960         Avoid signed overflow.
6962 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
6964         * range-op-float.cc (foperator_plus::op1_range): New.
6965         (foperator_plus::op2_range): New.
6966         (foperator_minus::op1_range): New.
6967         (foperator_minus::op2_range): New.
6969 2022-11-09  Martin Liska  <mliska@suse.cz>
6971         * Makefile.in: Support installation if sphinx-build is missing.
6973 2022-11-09  Martin Liska  <mliska@suse.cz>
6975         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
6976         Port to RST.
6977         * doc/gccint/target-macros/storage-layout.rst: Likewise.
6978         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
6979         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
6981 2022-11-09  Martin Liska  <mliska@suse.cz>
6983         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
6984         Do not include tm.rst.in.
6985         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
6986         Likewise.
6987         * doc/gccint/target-macros/run-time-target-specification.rst:
6988         Likewise.
6990 2022-11-09  Martin Liska  <mliska@suse.cz>
6992         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
6993         Fix cross manual refs.
6994         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
6995         Likewise.
6997 2022-11-09  Martin Liska  <mliska@suse.cz>
6999         * Makefile.in: Support --with-sphinx-build.
7000         * configure.ac:
7001         * configure: Regenerate.
7003 2022-11-09  Martin Liska  <mliska@suse.cz>
7005         * target.def: Use proper lexers for target macros.
7006         * doc/gccint/target-macros/tm.rst.in: Re-generate.
7008 2022-11-09  Martin Liska  <mliska@suse.cz>
7010         * doc/analyzer.texi: Removed.
7011         * doc/avr-mmcu.texi: Removed.
7012         * doc/bugreport.texi: Removed.
7013         * doc/cfg.texi: Removed.
7014         * doc/collect2.texi: Removed.
7015         * doc/compat.texi: Removed.
7016         * doc/configfiles.texi: Removed.
7017         * doc/configterms.texi: Removed.
7018         * doc/contrib.texi: Removed.
7019         * doc/contribute.texi: Removed.
7020         * doc/cpp.texi: Removed.
7021         * doc/cppdiropts.texi: Removed.
7022         * doc/cppenv.texi: Removed.
7023         * doc/cppinternals.texi: Removed.
7024         * doc/cppopts.texi: Removed.
7025         * doc/cppwarnopts.texi: Removed.
7026         * doc/extend.texi: Removed.
7027         * doc/fragments.texi: Removed.
7028         * doc/frontends.texi: Removed.
7029         * doc/gcc.texi: Removed.
7030         * doc/gccint.texi: Removed.
7031         * doc/gcov-dump.texi: Removed.
7032         * doc/gcov-tool.texi: Removed.
7033         * doc/gcov.texi: Removed.
7034         * doc/generic.texi: Removed.
7035         * doc/gimple.texi: Removed.
7036         * doc/gnu.texi: Removed.
7037         * doc/gty.texi: Removed.
7038         * doc/headerdirs.texi: Removed.
7039         * doc/hostconfig.texi: Removed.
7040         * doc/implement-c.texi: Removed.
7041         * doc/implement-cxx.texi: Removed.
7042         * doc/include/fdl.texi: Removed.
7043         * doc/include/funding.texi: Removed.
7044         * doc/include/gcc-common.texi: Removed.
7045         * doc/include/gpl_v3.texi: Removed.
7046         * doc/install.texi: Removed.
7047         * doc/interface.texi: Removed.
7048         * doc/invoke.texi: Removed.
7049         * doc/languages.texi: Removed.
7050         * doc/libgcc.texi: Removed.
7051         * doc/loop.texi: Removed.
7052         * doc/lto-dump.texi: Removed.
7053         * doc/lto.texi: Removed.
7054         * doc/makefile.texi: Removed.
7055         * doc/match-and-simplify.texi: Removed.
7056         * doc/md.texi: Removed.
7057         * doc/objc.texi: Removed.
7058         * doc/optinfo.texi: Removed.
7059         * doc/options.texi: Removed.
7060         * doc/passes.texi: Removed.
7061         * doc/plugins.texi: Removed.
7062         * doc/poly-int.texi: Removed.
7063         * doc/portability.texi: Removed.
7064         * doc/rtl.texi: Removed.
7065         * doc/service.texi: Removed.
7066         * doc/sourcebuild.texi: Removed.
7067         * doc/standards.texi: Removed.
7068         * doc/tm.texi: Removed.
7069         * doc/tree-ssa.texi: Removed.
7070         * doc/trouble.texi: Removed.
7071         * doc/ux.texi: Removed.
7072         * doc/tm.texi.in: Removed.
7074 2022-11-09  Martin Liska  <mliska@suse.cz>
7076         * doc/gccint/target-macros/tm.rst.in: New file.
7078 2022-11-09  Martin Liska  <mliska@suse.cz>
7080         * Makefile.in: Support Sphinx based documentation.
7081         * configure: Regenerate.
7082         * configure.ac: Support Sphinx based documentation.
7083         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
7085 2022-11-09  Martin Liska  <mliska@suse.cz>
7087         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
7088         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
7089         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
7090         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
7091         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
7092         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
7093         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
7094         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
7095         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
7096         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
7097         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
7098         Likewise.
7099         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
7100         Likewise.
7101         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
7102         Likewise.
7103         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
7104         Likewise.
7105         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
7106         Likewise.
7107         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
7108         Likewise.
7109         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
7110         Likewise.
7111         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
7112         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
7113         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
7114         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
7115         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
7116         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
7117         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
7118         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
7119         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
7120         Likewise.
7121         * doc/gccint/target-macros/register-classes.rst: Likewise.
7122         * doc/gccint/target-macros/register-usage.rst: Likewise.
7123         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
7124         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
7125         Likewise.
7126         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
7127         Likewise.
7128         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
7129         Likewise.
7130         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
7131         Likewise.
7132         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
7133         Likewise.
7134         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
7135         Likewise.
7136         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
7137         Likewise.
7138         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
7139         Likewise.
7140         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
7141         Likewise.
7142         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
7143         Likewise.
7144         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
7145         Likewise.
7146         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
7147         Likewise.
7148         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
7149         Likewise.
7150         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
7151         Likewise.
7152         * doc/gccint/target-macros/storage-layout.rst: Likewise.
7153         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
7155 2022-11-09  Martin Liska  <mliska@suse.cz>
7157         * common/common-target.def: Port to RST.
7158         * target.def: Port to RST.
7160 2022-11-09  Martin Liska  <mliska@suse.cz>
7162         * doc/cpp/character-sets.rst: New file.
7163         * doc/cpp/conditional-syntax.rst: New file.
7164         * doc/cpp/conditional-uses.rst: New file.
7165         * doc/cpp/conditionals.rst: New file.
7166         * doc/cpp/conf.py: New file.
7167         * doc/cpp/copyright.rst: New file.
7168         * doc/cpp/deleted-code.rst: New file.
7169         * doc/cpp/diagnostics.rst: New file.
7170         * doc/cpp/environment-variables.rst: New file.
7171         * doc/cpp/gnu-free-documentation-license.rst: New file.
7172         * doc/cpp/header-files.rst: New file.
7173         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
7174         * doc/cpp/header-files/computed-includes.rst: New file.
7175         * doc/cpp/header-files/include-operation.rst: New file.
7176         * doc/cpp/header-files/include-syntax.rst: New file.
7177         * doc/cpp/header-files/once-only-headers.rst: New file.
7178         * doc/cpp/header-files/search-path.rst: New file.
7179         * doc/cpp/header-files/system-headers.rst: New file.
7180         * doc/cpp/header-files/wrapper-headers.rst: New file.
7181         * doc/cpp/implementation-defined-behavior.rst: New file.
7182         * doc/cpp/implementation-details.rst: New file.
7183         * doc/cpp/implementation-limits.rst: New file.
7184         * doc/cpp/index.rst: New file.
7185         * doc/cpp/indices-and-tables.rst: New file.
7186         * doc/cpp/initial-processing.rst: New file.
7187         * doc/cpp/invocation.rst: New file.
7188         * doc/cpp/line-control.rst: New file.
7189         * doc/cpp/macros.rst: New file.
7190         * doc/cpp/macros/concatenation.rst: New file.
7191         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
7192         * doc/cpp/macros/function-like-macros.rst: New file.
7193         * doc/cpp/macros/macro-arguments.rst: New file.
7194         * doc/cpp/macros/macro-pitfalls.rst: New file.
7195         * doc/cpp/macros/object-like-macros.rst: New file.
7196         * doc/cpp/macros/predefined-macros.rst: New file.
7197         * doc/cpp/macros/stringizing.rst: New file.
7198         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
7199         * doc/cpp/macros/variadic-macros.rst: New file.
7200         * doc/cpp/obsolete-features.rst: New file.
7201         * doc/cpp/other-directives.rst: New file.
7202         * doc/cpp/overview.rst: New file.
7203         * doc/cpp/pragmas.rst: New file.
7204         * doc/cpp/preprocessor-output.rst: New file.
7205         * doc/cpp/the-preprocessing-language.rst: New file.
7206         * doc/cpp/tokenization.rst: New file.
7207         * doc/cpp/traditional-lexical-analysis.rst: New file.
7208         * doc/cpp/traditional-macros.rst: New file.
7209         * doc/cpp/traditional-miscellany.rst: New file.
7210         * doc/cpp/traditional-mode.rst: New file.
7211         * doc/cpp/traditional-warnings.rst: New file.
7212         * doc/cppinternals/conf.py: New file.
7213         * doc/cppinternals/copyright.rst: New file.
7214         * doc/cppinternals/cppinternals.rst: New file.
7215         * doc/cppinternals/cpplib.rst: New file.
7216         * doc/cppinternals/files.rst: New file.
7217         * doc/cppinternals/index.rst: New file.
7218         * doc/cppinternals/indices-and-tables.rst: New file.
7219         * doc/cppinternals/internal-representation-of-macros.rst: New file.
7220         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
7221         * doc/cppinternals/lexing-a-line.rst: New file.
7222         * doc/cppinternals/lexing-a-token.rst: New file.
7223         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
7224         * doc/cppinternals/macro-expansion-overview.rst: New file.
7225         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
7226         * doc/cppinternals/multiple-include-optimization.rst: New file.
7227         * doc/cppinternals/overview.rst: New file.
7228         * doc/cppinternals/representation-of-line-numbers.rst: New file.
7229         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
7230         * doc/gcc/binary-compatibility.rst: New file.
7231         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
7232         * doc/gcc/c-implementation-defined-behavior.rst: New file.
7233         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
7234         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
7235         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
7236         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
7237         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
7238         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
7239         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
7240         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
7241         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
7242         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
7243         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
7244         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
7245         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
7246         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
7247         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
7248         New file.
7249         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
7250         * doc/gcc/conditionally-supported-behavior.rst: New file.
7251         * doc/gcc/conf.py: New file.
7252         * doc/gcc/contributing-to-gcc-development.rst: New file.
7253         * doc/gcc/contributors-to-gcc.rst: New file.
7254         * doc/gcc/copyright.rst: New file.
7255         * doc/gcc/exception-handling.rst: New file.
7256         * doc/gcc/extensions-to-the-c++-language.rst: New file.
7257         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
7258         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
7259         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
7260         New file.
7261         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
7262         New file.
7263         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
7264         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
7265         New file.
7266         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
7267         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
7268         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
7269         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
7270         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
7271         New file.
7272         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
7273         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
7274         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
7275         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
7276         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
7277         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
7278         New file.
7279         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
7280         New file.
7281         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
7282         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
7283         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
7284         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
7285         New file.
7286         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
7287         New file.
7288         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
7289         New file.
7290         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
7291         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
7292         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
7293         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
7294         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
7295         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
7296         New file.
7297         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
7298         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
7299         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
7300         New file.
7301         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
7302         New file.
7303         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
7304         New file.
7305         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
7306         New file.
7307         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
7308         New file.
7309         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
7310         New file.
7311         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
7312         New file.
7313         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
7314         New file.
7315         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
7316         New file.
7317         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
7318         New file.
7319         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
7320         New file.
7321         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
7322         New file.
7323         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
7324         New file.
7325         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
7326         New file.
7327         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
7328         New file.
7329         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
7330         New file.
7331         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
7332         New file.
7333         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
7334         New file.
7335         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
7336         New file.
7337         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
7338         New file.
7339         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
7340         New file.
7341         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
7342         New file.
7343         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
7344         New file.
7345         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
7346         New file.
7347         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
7348         New file.
7349         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
7350         New file.
7351         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
7352         New file.
7353         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
7354         New file.
7355         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
7356         New file.
7357         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
7358         New file.
7359         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
7360         New file.
7361         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
7362         New file.
7363         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
7364         New file.
7365         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
7366         New file.
7367         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
7368         New file.
7369         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
7370         New file.
7371         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
7372         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
7373         New file.
7374         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
7375         New file.
7376         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
7377         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
7378         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
7379         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
7380         New file.
7381         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
7382         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
7383         New file.
7384         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
7385         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
7386         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
7387         New file.
7388         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
7389         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
7390         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
7391         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
7392         New file.
7393         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
7394         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
7395         New file.
7396         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
7397         New file.
7398         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
7399         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
7400         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
7401         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
7402         New file.
7403         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
7404         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
7405         New file.
7406         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
7407         New file.
7408         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
7409         New file.
7410         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
7411         New file.
7412         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
7413         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
7414         New file.
7415         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
7416         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
7417         New file.
7418         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
7419         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
7420         New file.
7421         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
7422         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
7423         New file.
7424         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
7425         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
7426         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
7427         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
7428         New file.
7429         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
7430         New file.
7431         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
7432         New file.
7433         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
7434         New file.
7435         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
7436         New file.
7437         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
7438         New file.
7439         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
7440         New file.
7441         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
7442         New file.
7443         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
7444         New file.
7445         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
7446         New file.
7447         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
7448         New file.
7449         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
7450         New file.
7451         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
7452         New file.
7453         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
7454         New file.
7455         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
7456         New file.
7457         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
7458         New file.
7459         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
7460         New file.
7461         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
7462         New file.
7463         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
7464         New file.
7465         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
7466         New file.
7467         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
7468         New file.
7469         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
7470         New file.
7471         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
7472         New file.
7473         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
7474         New file.
7475         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
7476         New file.
7477         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
7478         New file.
7479         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
7480         New file.
7481         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
7482         New file.
7483         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
7484         New file.
7485         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
7486         New file.
7487         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
7488         New file.
7489         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
7490         New file.
7491         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
7492         New file.
7493         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
7494         New file.
7495         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
7496         New file.
7497         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
7498         New file.
7499         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
7500         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
7501         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
7502         New file.
7503         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
7504         New file.
7505         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
7506         New file.
7507         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
7508         New file.
7509         * doc/gcc/funding.rst: New file.
7510         * doc/gcc/gcc-command-options.rst: New file.
7511         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
7512         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
7513         * doc/gcc/gcc-command-options/description.rst: New file.
7514         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
7515         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
7516         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
7517         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
7518         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
7519         New file.
7520         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
7521         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
7522         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
7523         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
7524         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
7525         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
7526         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
7527         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
7528         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
7529         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
7530         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
7531         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
7532         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
7533         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
7534         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
7535         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
7536         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
7537         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
7538         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
7539         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
7540         New file.
7541         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
7542         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
7543         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
7544         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
7545         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
7546         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
7547         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
7548         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
7549         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
7550         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
7551         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
7552         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
7553         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
7554         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
7555         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
7556         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
7557         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
7558         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
7559         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
7560         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
7561         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
7562         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
7563         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
7564         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
7565         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
7566         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
7567         New file.
7568         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
7569         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
7570         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
7571         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
7572         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
7573         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
7574         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
7575         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
7576         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
7577         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
7578         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
7579         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
7580         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
7581         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
7582         * doc/gcc/gcc-command-options/option-summary.rst: New file.
7583         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
7584         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
7585         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
7586         New file.
7587         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
7588         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
7589         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
7590         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
7591         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
7592         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
7593         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
7594         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
7595         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
7596         New file.
7597         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
7598         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
7599         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
7600         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
7601         New file.
7602         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
7603         * doc/gcc/gcc.rst: New file.
7604         * doc/gcc/gcov-dump.rst: New file.
7605         * doc/gcc/gcov-tool.rst: New file.
7606         * doc/gcc/gcov.rst: New file.
7607         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
7608         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
7609         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
7610         * doc/gcc/gcov/invoking-gcov.rst: New file.
7611         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
7612         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
7613         * doc/gcc/general-public-license-3.rst: New file.
7614         * doc/gcc/gnu-free-documentation-license.rst: New file.
7615         * doc/gcc/gnu-objective-c-features.rst: New file.
7616         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
7617         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
7618         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
7619         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
7620         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
7621         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
7622         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
7623         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
7624         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
7625         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
7626         * doc/gcc/gnu.rst: New file.
7627         * doc/gcc/have-you-found-a-bug.rst: New file.
7628         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
7629         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
7630         * doc/gcc/index.rst: New file.
7631         * doc/gcc/indices-and-tables.rst: New file.
7632         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
7633         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
7634         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
7635         New file.
7636         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
7637         New file.
7638         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
7639         New file.
7640         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
7641         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
7642         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
7643         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
7644         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
7645         New file.
7646         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
7647         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
7648         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
7649         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
7650         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
7651         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
7652         New file.
7653         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
7654         * doc/gcc/lto-dump.rst: New file.
7655         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
7656         * doc/gcc/reporting-bugs.rst: New file.
7657         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
7658         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
7659         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
7660         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
7661         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
7662         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
7663         New file.
7664         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
7665         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
7666         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
7667         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
7668         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
7669         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
7670         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
7671         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
7672         New file.
7673         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
7674         * doc/gccint/analyzer-internals.rst: New file.
7675         * doc/gccint/collect2.rst: New file.
7676         * doc/gccint/conf.py: New file.
7677         * doc/gccint/contributing-to-gcc-development.rst: New file.
7678         * doc/gccint/contributors-to-gcc.rst: New file.
7679         * doc/gccint/control-flow-graph.rst: New file.
7680         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
7681         * doc/gccint/control-flow-graph/edges.rst: New file.
7682         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
7683         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
7684         * doc/gccint/control-flow-graph/profile-information.rst: New file.
7685         * doc/gccint/copyright.rst: New file.
7686         * doc/gccint/debugging-the-analyzer.rst: New file.
7687         * doc/gccint/funding.rst: New file.
7688         * doc/gccint/gcc-and-portability.rst: New file.
7689         * doc/gccint/general-public-license-3.rst: New file.
7690         * doc/gccint/generic.rst: New file.
7691         * doc/gccint/generic/attributes-in-trees.rst: New file.
7692         * doc/gccint/generic/c-and-c++-trees.rst: New file.
7693         * doc/gccint/generic/declarations.rst: New file.
7694         * doc/gccint/generic/deficiencies.rst: New file.
7695         * doc/gccint/generic/expressions.rst: New file.
7696         * doc/gccint/generic/functions.rst: New file.
7697         * doc/gccint/generic/language-dependent-trees.rst: New file.
7698         * doc/gccint/generic/overview.rst: New file.
7699         * doc/gccint/generic/statements.rst: New file.
7700         * doc/gccint/generic/types.rst: New file.
7701         * doc/gccint/gimple-api.rst: New file.
7702         * doc/gccint/gimple.rst: New file.
7703         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
7704         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
7705         * doc/gccint/gimple/exception-handling.rst: New file.
7706         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
7707         * doc/gccint/gimple/gimple-sequences.rst: New file.
7708         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
7709         * doc/gccint/gimple/operands.rst: New file.
7710         * doc/gccint/gimple/sequence-iterators.rst: New file.
7711         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
7712         * doc/gccint/gimple/temporaries.rst: New file.
7713         * doc/gccint/gimple/tuple-representation.rst: New file.
7714         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
7715         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
7716         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
7717         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
7718         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
7719         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
7720         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
7721         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
7722         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
7723         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
7724         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
7725         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
7726         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
7727         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
7728         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
7729         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
7730         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
7731         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
7732         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
7733         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
7734         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
7735         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
7736         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
7737         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
7738         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
7739         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
7740         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
7741         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
7742         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
7743         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
7744         * doc/gccint/gnu-free-documentation-license.rst: New file.
7745         * doc/gccint/guidelines-for-diagnostics.rst: New file.
7746         * doc/gccint/guidelines-for-options.rst: New file.
7747         * doc/gccint/host-common.rst: New file.
7748         * doc/gccint/host-configuration.rst: New file.
7749         * doc/gccint/host-filesystem.rst: New file.
7750         * doc/gccint/host-makefile-fragments.rst: New file.
7751         * doc/gccint/host-misc.rst: New file.
7752         * doc/gccint/index.rst: New file.
7753         * doc/gccint/indices-and-tables.rst: New file.
7754         * doc/gccint/interfacing-to-gcc-output.rst: New file.
7755         * doc/gccint/introduction.rst: New file.
7756         * doc/gccint/language-front-ends-in-gcc.rst: New file.
7757         * doc/gccint/link-time-optimization.rst: New file.
7758         * doc/gccint/link-time-optimization/design-overview.rst: New file.
7759         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
7760         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
7761         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
7762         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
7763         New file.
7764         * doc/gccint/machine-descriptions.rst: New file.
7765         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
7766         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
7767         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
7768         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
7769         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
7770         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
7771         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
7772         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
7773         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
7774         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
7775         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
7776         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
7777         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
7778         * doc/gccint/machine-descriptions/iterators.rst: New file.
7779         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
7780         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
7781         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
7782         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
7783         New file.
7784         * doc/gccint/machine-descriptions/predicates.rst: New file.
7785         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
7786         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
7787         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
7788         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
7789         * doc/gccint/makefile-fragments.rst: New file.
7790         * doc/gccint/match-and-simplify.rst: New file.
7791         * doc/gccint/memory-management-and-type-information.rst: New file.
7792         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
7793         New file.
7794         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
7795         New file.
7796         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
7797         New file.
7798         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
7799         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
7800         New file.
7801         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
7802         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
7803         New file.
7804         * doc/gccint/option-file-format.rst: New file.
7805         * doc/gccint/option-properties.rst: New file.
7806         * doc/gccint/option-specification-files.rst: New file.
7807         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
7808         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
7809         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
7810         New file.
7811         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
7812         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
7813         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
7814         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
7815         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
7816         * doc/gccint/plugins.rst: New file.
7817         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
7818         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
7819         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
7820         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
7821         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
7822         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
7823         * doc/gccint/plugins/loading-plugins.rst: New file.
7824         * doc/gccint/plugins/plugin-api.rst: New file.
7825         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
7826         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
7827         * doc/gccint/rtl-representation.rst: New file.
7828         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
7829         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
7830         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
7831         * doc/gccint/rtl-representation/bit-fields.rst: New file.
7832         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
7833         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
7834         * doc/gccint/rtl-representation/conversions.rst: New file.
7835         * doc/gccint/rtl-representation/declarations.rst: New file.
7836         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
7837         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
7838         * doc/gccint/rtl-representation/insns.rst: New file.
7839         * doc/gccint/rtl-representation/machine-modes.rst: New file.
7840         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
7841         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
7842         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
7843         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
7844         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
7845         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
7846         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
7847         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
7848         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
7849         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
7850         * doc/gccint/rtl-representation/vector-operations.rst: New file.
7851         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
7852         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
7853         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
7854         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
7855         New file.
7856         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
7857         New file.
7858         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
7859         New file.
7860         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
7861         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
7862         New file.
7863         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
7864         New file.
7865         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
7866         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
7867         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
7868         New file.
7869         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
7870         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
7871         New file.
7872         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
7873         New file.
7874         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
7875         New file.
7876         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
7877         New file.
7878         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
7879         New file.
7880         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
7881         New file.
7882         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
7883         New file.
7884         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
7885         New file.
7886         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
7887         New file.
7888         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
7889         New file.
7890         * doc/gccint/standard-header-file-directories.rst: New file.
7891         * doc/gccint/static-analyzer.rst: New file.
7892         * doc/gccint/target-macros.rst: New file.
7893         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
7894         * doc/gccint/target-macros/addressing-modes.rst: New file.
7895         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
7896         * doc/gccint/target-macros/anchored-addresses.rst: New file.
7897         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
7898         * doc/gccint/target-macros/condition-code-status.rst: New file.
7899         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
7900         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
7901         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
7902         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
7903         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
7904         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
7905         New file.
7906         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
7907         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
7908         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
7909         New file.
7910         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
7911         New file.
7912         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
7913         New file.
7914         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
7915         New file.
7916         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
7917         New file.
7918         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
7919         New file.
7920         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
7921         New file.
7922         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
7923         New file.
7924         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
7925         New file.
7926         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
7927         New file.
7928         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
7929         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
7930         * doc/gccint/target-macros/emulating-tls.rst: New file.
7931         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
7932         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
7933         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
7934         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
7935         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
7936         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
7937         New file.
7938         * doc/gccint/target-macros/position-independent-code.rst: New file.
7939         * doc/gccint/target-macros/register-classes.rst: New file.
7940         * doc/gccint/target-macros/register-usage.rst: New file.
7941         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
7942         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
7943         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
7944         New file.
7945         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
7946         New file.
7947         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
7948         New file.
7949         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
7950         New file.
7951         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
7952         New file.
7953         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
7954         New file.
7955         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
7956         New file.
7957         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
7958         New file.
7959         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
7960         New file.
7961         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
7962         New file.
7963         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
7964         New file.
7965         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
7966         New file.
7967         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
7968         New file.
7969         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
7970         New file.
7971         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
7972         New file.
7973         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
7974         New file.
7975         * doc/gccint/target-macros/storage-layout.rst: New file.
7976         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
7977         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
7978         * doc/gccint/target-makefile-fragments.rst: New file.
7979         * doc/gccint/testsuites.rst: New test.
7980         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
7981         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
7982         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
7983         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
7984         New test.
7985         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
7986         New test.
7987         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
7988         New test.
7989         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
7990         New test.
7991         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
7992         New test.
7993         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
7994         New test.
7995         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
7996         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
7997         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
7998         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
7999         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
8000         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
8001         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
8002         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
8003         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
8004         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
8005         New file.
8006         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
8007         New file.
8008         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
8009         New file.
8010         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
8011         New file.
8012         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
8013         New file.
8014         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
8015         New file.
8016         * doc/gccint/the-language.rst: New file.
8017         * doc/gccint/user-experience-guidelines.rst: New file.
8018         * doc/install/binaries.rst: New file.
8019         * doc/install/building.rst: New file.
8020         * doc/install/building/building-a-cross-compiler.rst: New file.
8021         * doc/install/building/building-a-native-compiler.rst: New file.
8022         * doc/install/building/building-in-parallel.rst: New file.
8023         * doc/install/building/building-the-ada-compiler.rst: New file.
8024         * doc/install/building/building-the-d-compiler.rst: New file.
8025         * doc/install/building/building-with-profile-feedback.rst: New file.
8026         * doc/install/conf.py: New file.
8027         * doc/install/configuration.rst: New file.
8028         * doc/install/copyright.rst: New file.
8029         * doc/install/downloading-gcc.rst: New file.
8030         * doc/install/final-installation.rst: New file.
8031         * doc/install/gnu-free-documentation-license.rst: New file.
8032         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
8033         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
8034         * doc/install/how-to-interpret-test-results.rst: New file.
8035         * doc/install/index.rst: New file.
8036         * doc/install/indices-and-tables.rst: New file.
8037         * doc/install/installing-gcc.rst: New file.
8038         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
8039         * doc/install/prerequisites.rst: New file.
8040         * doc/install/submitting-test-results.rst: New file.
8041         * doc/install/testing.rst: New file.
8043 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
8045         * range-op-float.cc (class foperator_minus): New.
8046         (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
8048 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
8050         * range-op-float.cc (range_operator_float::fold_range): Abstract
8051         out from foperator_plus.
8052         (range_operator_float::rv_fold): New.
8053         (foperator_plus::fold_range): Remove.
8054         (foperator_plus::rv_fold): New.
8055         (propagate_nans): Remove.
8056         * range-op.h (class range_operator_float): Add rv_fold.
8058 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
8060         * range-op-float.cc (foperator_plus::fold_range): Set NAN for
8061         addition of different signed infinities.
8062         (range_op_float_tests): New test.
8064 2022-11-09  liuhongt  <hongtao.liu@intel.com>
8066         PR target/107540
8067         * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
8068         type from sselog to sselog1.
8069         (avx_movddup256<mask_name>): Ditto.
8071 2022-11-08  David Faust  <david.faust@oracle.com>
8073         * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
8074         (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
8075         bpf_builtins for error checks.
8076         (bpf_core_walk): Use values of enum bpf_builtins.
8077         (bpf_core_newdecl): Likewise.
8078         (bpf_expand_builtin): Likewise.
8080 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8082         PR tree-optimization/24021
8083         * range-op-float.cc (propagate_nans): New.
8084         (frange_nextafter): New.
8085         (frange_arithmetic): New.
8086         (class foperator_plus): New.
8087         (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
8089 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8091         * real.cc (real_isdenormal): New.
8092         (encode_ieee_single): Call real_isdenormal.
8093         (encode_ieee_double): Same.
8094         (encode_ieee_extended): Same.
8095         (encode_ieee_quad): Same.
8096         (encode_ieee_half): Same.
8097         (encode_arm_bfloat_half): Same.
8098         * real.h (real_isdenormal): Add mode argument.  Rewrite for
8099         normalized values.
8100         * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
8101         real_isdenormal.
8103 2022-11-08  Richard Biener  <rguenther@suse.de>
8105         PR tree-optimization/107389
8106         * gimple-low.cc (lower_builtin_assume_aligned): New.
8107         (lower_stmt): Call it.
8109 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8111         * range-op.cc (operator_div::fold_range): Call
8112         update_known_bitmask.
8113         * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
8114         2 as a right shift.
8116 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
8118         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
8119         of GCN_BUILTIN_LDEXPV to V64DFmode.
8121 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
8123         * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
8124         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
8125         GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
8127 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8129         * range-op.cc (irange_to_masked_value): New.
8130         (update_known_bitmask): New.
8131         (operator_mult::fold_range): Call update_known_bitmask.
8133 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
8135         PR tree-optimization/107547
8136         * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
8137         of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}.  Handle
8138         BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
8140 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
8142         PR target/107546
8143         * config/i386/predicates.md (vector_or_const_vector_operand): New
8144         predicate.
8145         * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
8146         vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
8147         vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
8148         predicate instead of nonimmediate_operand and
8149         vector_or_const_vector_operand instead of vector_operand.
8150         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
8151         LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
8152         into LE/LEU or GT/GTU with larger or smaller by one cop1 if
8153         there is no wrap-around.  Force CONST_VECTOR cop0 or cop1 into
8154         REG.  Formatting fix.
8156 2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
8158         PR rtl-optimization/107482
8159         * ira-color.cc (assign_hard_reg): Only call
8160         update_costs_from_copies when retry_p is false.
8162 2022-11-08  konglin1  <lingling.kong@intel.com>
8164         Revert:
8165         2022-11-07  konglin1  <lingling.kong@intel.com>
8167         * config/i386/i386.opt:Add -mprefer-remote-atomic.
8168         * config/i386/sync.md (atomic_<plus_logic><mode>):
8169         New define_expand.
8170         (atomic_add<mode>): Rename to below one.
8171         (atomic_add<mode>_1): To this.
8172         (atomic_<logic><mode>): Ditto.
8173         (atomic_<logic><mode>_1): Ditto.
8174         * doc/invoke.texi: Add -mprefer-remote-atomic.
8176 2022-11-08  Haochen Jiang  <haochen.jiang@intel.com>
8178         * config/i386/i386-options.cc (m_CORE_ATOM): New.
8179         * config/i386/x86-tune.def
8180         (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
8181         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
8182         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
8183         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
8184         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
8185         (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
8186         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
8187         (X86_TUNE_USE_LEAVE): Ditto.
8188         (X86_TUNE_PUSH_MEMORY): Ditto.
8189         (X86_TUNE_USE_INCDEC): Ditto.
8190         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
8191         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
8192         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
8193         (X86_TUNE_USE_SAHF): Ditto.
8194         (X86_TUNE_USE_BT): Ditto.
8195         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
8196         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
8197         (X86_TUNE_AVOID_MFENCE): Ditto.
8198         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
8199         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
8200         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
8201         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
8202         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
8203         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
8204         (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
8205         (X86_TUNE_USE_GATHER_2PARTS): Ditto.
8206         (X86_TUNE_USE_GATHER_4PARTS): Ditto.
8207         (X86_TUNE_USE_GATHER): Ditto.
8209 2022-11-08  Andrew MacLeod  <amacleod@redhat.com>
8211         PR tree-optimization/104530
8212         * gimple-range-cache.cc (ranger_cache::register_inferred_value):
8213         New.  Split from:
8214         (ranger_cache::apply_inferred_ranges): Move setting cache to
8215         separate function.
8216         * gimple-range-cache.h (register_inferred_value): New prototype.
8217         * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
8218         * gimple-range-infer.h (has_range_p): New prototype.
8219         * gimple-range.cc (register_transitive_inferred_ranges): New.
8220         * gimple-range.h (register_transitive_inferred_ranges): New proto.
8221         * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
8222         ranges at the end of the block before folding final stmt.
8224 2022-11-07  David Faust  <david.faust@oracle.com>
8226         * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
8228 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
8230         PR tree-optimization/55157
8231         * range-op.cc (operator_mult::wi_fold): Optimize multiplications
8232         by powers of 2.
8234 2022-11-07  H.J. Lu  <hjl.tools@gmail.com>
8236         PR middle-end/102566
8237         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
8238         if (_5 < 0) and if (_5 >= 0).
8240 2022-11-07  Richard Purdie  <richard.purdie@linuxfoundation.org>
8242         * file-prefix-map.cc (remap_filename): Handle NULL filenames.
8244 2022-11-07  Alexander Monakov  <amonakov@ispras.ru>
8246         PR tree-optimization/107505
8247         * tree-ssa-sink.cc (statement_sink_location): Additionally
8248         reject ECF_RETURNS_TWICE calls.
8250 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
8252         PR tree-optimization/107541
8253         * range-op.cc (operator_div::fold_range): Restrict power of 2
8254         optimization to positive numbers.
8256 2022-11-07  Richard Biener  <rguenther@suse.de>
8258         * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
8259         (unswitch_predicate::unswitch_predicate): Initialize count.
8260         (init_loop_unswitch_info): First collect candidates and
8261         determine the outermost loop to unswitch.
8262         (tree_ssa_unswitch_loops): First perform all guard hoisting,
8263         then perform unswitching on innermost loop predicates.
8264         (find_unswitching_predicates_for_bb): Keep track of the
8265         most profitable predicate to unswitch on.
8266         (tree_unswitch_single_loop): Unswitch given predicate if
8267         not NULL.
8269 2022-11-07  Martin Liska  <mliska@suse.cz>
8270             Gerald Pfeifer  <gerald@pfeifer.com>
8272         * doc/invoke.texi: Improve wording.
8274 2022-11-07  Martin Liska  <mliska@suse.cz>
8276         * range-op.cc: Add final override keywords.
8278 2022-11-07  Kewen Lin  <linkw@linux.ibm.com>
8280         PR tree-optimization/107412
8281         * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
8282         (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
8283         mask_p indicating it's for mask or length, and add some handlings for
8284         IFN LEN_{LOAD,STORE}.
8285         (gimple_fold_mask_load): Rename to ...
8286         (gimple_fold_partial_load): ... this, add one parameter mask_p.
8287         (gimple_fold_mask_store): Rename to ...
8288         (gimple_fold_partial_store): ... this, add one parameter mask_p.
8289         (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
8290         and adjust calls on gimple_fold_mask_load_store_mem_ref to
8291         gimple_fold_partial_load_store_mem_ref.
8293 2022-11-07  Hu, Lin1  <lin1.hu@intel.com>
8295         * common/config/i386/cpuinfo.h
8296         (get_intel_cpu): Handle Grand Ridge.
8297         * common/config/i386/i386-common.cc
8298         (processor_names): Add grandridge.
8299         (processor_alias_table): Ditto.
8300         * common/config/i386/i386-cpuinfo.h:
8301         (enum processor_types): Add INTEL_GRANDRIDGE.
8302         * config.gcc: Add -march=grandridge.
8303         * config/i386/driver-i386.cc (host_detect_local_cpu):
8304         Handle grandridge.
8305         * config/i386/i386-c.cc (ix86_target_macros_internal):
8306         Ditto.
8307         * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
8308         (processor_cost_table): Add grandridge.
8309         * config/i386/i386.h (enum processor_type):
8310         Add PROCESSOR_GRANDRIDGE.
8311         (PTA_GRANDRIDGE): Ditto.
8312         * doc/extend.texi: Add grandridge.
8313         * doc/invoke.texi: Ditto.
8315 2022-11-07  konglin1  <lingling.kong@intel.com>
8317         * config/i386/i386.opt:Add -mprefer-remote-atomic.
8318         * config/i386/sync.md (atomic_<plus_logic><mode>):
8319         New define_expand.
8320         (atomic_add<mode>): Rename to below one.
8321         (atomic_add<mode>_1): To this.
8322         (atomic_<logic><mode>): Ditto.
8323         (atomic_<logic><mode>_1): Ditto.
8324         * doc/invoke.texi: Add -mprefer-remote-atomic.
8326 2022-11-07  konglin1  <lingling.kong@intel.com>
8328         * common/config/i386/cpuinfo.h (get_available_features):
8329         Detect raoint.
8330         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
8331         OPTION_MASK_ISA2_RAOINT_UNSET): New.
8332         (ix86_handle_option): Handle -mraoint.
8333         * common/config/i386/i386-cpuinfo.h (enum processor_features):
8334         Add FEATURE_RAOINT.
8335         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8336         raoint.
8337         * config.gcc: Add raointintrin.h
8338         * config/i386/cpuid.h (bit_RAOINT): New.
8339         * config/i386/i386-builtin.def (BDESC): Add new builtins.
8340         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8341         __RAOINT__.
8342         * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
8343         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
8344         Add -mraoint.
8345         * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
8346         * config/i386/i386.opt: Add option -mraoint.
8347         * config/i386/x86gprintrin.h: Include raointintrin.h.
8348         * doc/extend.texi: Document raoint.
8349         * doc/invoke.texi: Document -mraoint.
8350         * doc/sourcebuild.texi: Document target raoint.
8351         * config/i386/raointintrin.h: New file.
8353 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
8355         * common/config/i386/cpuinfo.h
8356         (get_intel_cpu): Handle Granite Rapids.
8357         * common/config/i386/i386-common.cc:
8358         (processor_names): Add graniterapids.
8359         (processor_alias_table): Ditto.
8360         * common/config/i386/i386-cpuinfo.h
8361         (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
8362         * config.gcc: Add -march=graniterapids.
8363         * config/i386/driver-i386.cc (host_detect_local_cpu):
8364         Handle graniterapids.
8365         * config/i386/i386-c.cc (ix86_target_macros_internal):
8366         Ditto.
8367         * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
8368         (processor_cost_table): Add graniterapids.
8369         * config/i386/i386.h (enum processor_type):
8370         Add PROCESSOR_GRANITERAPIDS.
8371         (PTA_GRANITERAPIDS): Ditto.
8372         * doc/extend.texi: Add graniterapids.
8373         * doc/invoke.texi: Ditto.
8375 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
8376             Hongtao Liu  <hongtao.liu@intel.com>
8378         * common/config/i386/cpuinfo.h (get_available_features):
8379         Detect PREFETCHI.
8380         * common/config/i386/i386-common.cc
8381         (OPTION_MASK_ISA2_PREFETCHI_SET,
8382         OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
8383         (ix86_handle_option): Handle -mprefetchi.
8384         * common/config/i386/i386-cpuinfo.h
8385         (enum processor_features): Add FEATURE_PREFETCHI.
8386         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
8387         for prefetchi.
8388         * config.gcc: Add prfchiintrin.h.
8389         * config/i386/cpuid.h (bit_PREFETCHI): New.
8390         * config/i386/i386-builtin-types.def:
8391         Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
8392         and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
8393         * config/i386/i386-builtin.def (BDESC): Add new builtins.
8394         * config/i386/i386-c.cc (ix86_target_macros_internal):
8395         Define __PREFETCHI__.
8396         * config/i386/i386-expand.cc: Handle new builtins.
8397         * config/i386/i386-isa.def (PREFETCHI):
8398         Add DEF_PTA(PREFETCHI).
8399         * config/i386/i386-options.cc
8400         (ix86_valid_target_attribute_inner_p): Handle prefetchi.
8401         * config/i386/i386.md (prefetchi): New define_insn.
8402         * config/i386/i386.opt: Add option -mprefetchi.
8403         * config/i386/predicates.md (local_func_symbolic_operand):
8404         New predicates.
8405         * config/i386/x86gprintrin.h: Include prfchiintrin.h.
8406         * config/i386/xmmintrin.h (enum _mm_hint): New enum for
8407         prefetchi.
8408         (_mm_prefetch): Handle the highest bit of enum.
8409         * doc/extend.texi: Document prefetchi.
8410         * doc/invoke.texi: Document -mprefetchi.
8411         * doc/sourcebuild.texi: Document target prefetchi.
8412         * config/i386/prfchiintrin.h: New file.
8414 2022-11-06  Uroš Bizjak  <ubizjak@gmail.com>
8416         * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
8417         mode when checking vec_set_optab.
8419 2022-11-06  Xi Ruoyao  <xry111@xry111.site>
8421         * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
8422         (type): Add fcopysign.
8423         (copysign<mode>3): New instruction template.
8425 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8427         * multiple_target.cc (expand_target_clones): Free memory.
8429 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8431         * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
8432         * multiple_target.cc (create_dispatcher_calls): Likewise.
8434 2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
8436         PR c/41041
8437         * doc/cppopts.texi: Document -fwide-exec-charset defaults
8438         correctly.
8440 2022-11-05  Alexandre Oliva  <oliva@adacore.com>
8442         * common.opt (fmultiflags): New.
8443         * doc/invoke.texi: Document it.
8444         * gcc.cc (driver_self_specs): Discard it.
8445         * opts.cc (common_handle_option): Ignore it in the driver.
8447 2022-11-04  Jeff Chapman II  <jchapman@lock3software.com>
8448             Jason Merrill   <jason@redhat.com>
8450         * input.cc (get_source_text_between): New fn.
8451         * input.h (get_source_text_between): Declare.
8453 2022-11-04  Aldy Hernandez  <aldyh@redhat.com>
8455         PR tree-optimization/107342
8456         * range-op.cc (operator_mult::fold_range): New.
8457         (operator_div::fold_range): New.
8459 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
8461         * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
8462         Do not take into account operand 2.
8463         (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
8465 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
8467         * expr.cc (emit_group_store): Do not use subword paradoxical subregs
8469 2022-11-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8471         * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
8472         extensions comment.
8474 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
8476         * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
8477         * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
8478         [ACCEL_COMPILER]: Remove.
8479         * config/i386/intelmic-mkoffload.cc: Remove.
8480         * config/i386/intelmic-offload.h: Likewise.
8481         * config/i386/t-intelmic: Likewise.
8482         * config/i386/t-omp-device: Likewise.
8483         * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
8484         * configure: Regenerate.
8485         * doc/install.texi (--enable-offload-targets=[...]): Update.
8486         * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
8488 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
8490         * Makefile.in (OBJS): Remove 'dbxout.o'.
8491         * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
8492         * dbxout.cc: Remove.
8493         * dbxout.h: Likewise.
8494         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
8495         Default to 'default_asm_out_constructor',
8496         'default_asm_out_destructor'.
8497         * targhooks.cc (default_asm_out_constructor)
8498         (default_asm_out_destructor): New.
8499         * targhooks.h (default_asm_out_constructor)
8500         (default_asm_out_destructor): Declare.
8502 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
8504         * Makefile.in (OBJS): Add 'dbxout.o'.
8505         * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
8506         * dbxout.cc: New.
8507         * dbxout.h: Likewise.
8508         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
8509         Default to 'default_stabs_asm_out_constructor',
8510         'default_stabs_asm_out_destructor'.
8512 2022-11-04  Hongyu Wang  <hongyu.wang@intel.com>
8513             Haochen Jiang  <haochen.jiang@intel.com>
8515         * common/config/i386/cpuinfo.h (get_available_features): Detect
8516         amx-fp16.
8517         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
8518         OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
8519         (ix86_handle_option): Handle -mamx-fp16.
8520         * common/config/i386/i386-cpuinfo.h (enum processor_features):
8521         Add FEATURE_AMX_FP16.
8522         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8523         amx-fp16.
8524         * config.gcc: Add amxfp16intrin.h.
8525         * config/i386/cpuid.h (bit_AMX_FP16): New.
8526         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8527         __AMX_FP16__.
8528         * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
8529         * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
8530         (ix86_valid_target_attribute_inner_p): Add new ATTR.
8531         (ix86_option_override_internal): Handle AMX-FP16.
8532         * config/i386/i386.opt: Add -mamx-fp16.
8533         * config/i386/immintrin.h: Include amxfp16intrin.h.
8534         * doc/extend.texi: Document -mamx-fp16.
8535         * doc/invoke.texi: Document amx-fp16.
8536         * doc/sourcebuild.texi: Document amx_fp16.
8537         * config/i386/amxfp16intrin.h: New file.
8539 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
8541         * common/config/i386/cpuinfo.h (get_intel_cpu):
8542         Add Sierra Forest.
8543         * common/config/i386/i386-common.cc
8544         (processor_names): Add Sierra Forest.
8545         (processor_alias_table): Ditto.
8546         * common/config/i386/i386-cpuinfo.h
8547         (enum processor_types): Add INTEL_SIERRAFOREST.
8548         * config.gcc: Add -march=sierraforest.
8549         * config/i386/driver-i386.cc (host_detect_local_cpu):
8550         Handle Sierra Forest.
8551         * config/i386/i386-c.cc (ix86_target_macros_internal):
8552         Ditto.
8553         * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
8554         (processor_cost_table): Add sierra forest.
8555         * config/i386/i386.h (enum processor_type):
8556         Add PROCESSOR_SIERRA_FOREST.
8557         (PTA_SIERRAFOREST): Ditto.
8558         * doc/extend.texi: Add sierra forest.
8559         * doc/invoke.texi: Ditto.
8561 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
8563         * common/config/i386/cpuinfo.h (get_available_features):
8564         Detect cmpccxadd.
8565         * common/config/i386/i386-common.cc
8566         (OPTION_MASK_ISA2_CMPCCXADD_SET,
8567         OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
8568         (ix86_handle_option): Handle -mcmpccxadd.
8569         * common/config/i386/i386-cpuinfo.h (enum processor_features):
8570         Add FEATURE_CMPCCXADD.
8571         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8572         cmpccxadd.
8573         * config.gcc: Add cmpccxaddintrin.h.
8574         * config/i386/cpuid.h (bit_CMPCCXADD): New.
8575         * config/i386/i386-builtin-types.def:
8576         Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
8577         and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
8578         * config/i386/i386-builtin.def (BDESC): Add new builtins.
8579         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8580         __CMPCCXADD__.
8581         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
8582         Add new parameter to indicate constant position.
8583         Handle INT_FTYPE_PINT_INT_INT_INT
8584         and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
8585         * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
8586         * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
8587         (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
8588         * config/i386/i386.opt: Add option -mcmpccxadd.
8589         * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
8590         * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
8591         * doc/extend.texi: Document cmpccxadd.
8592         * doc/invoke.texi: Document -mcmpccxadd.
8593         * doc/sourcebuild.texi: Document target cmpccxadd.
8594         * config/i386/cmpccxaddintrin.h: New file.
8596 2022-11-03  Jason Merrill  <jason@redhat.com>
8598         * doc/invoke.texi: -fconcepts no longer implies
8599         -fconcepts-ts before C++20.
8601 2022-11-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
8603         * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
8604         (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
8605         <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
8606         *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
8607         assembler output.
8609 2022-11-03  Andrew MacLeod  <amacleod@redhat.com>
8611         * gimple-range.cc (gimple_ranger::update_stmt): New.
8612         * gimple-range.h (gimple_ranger::update_stmt): New prototype.
8613         * tree-ssa-operands.cc (update_stmt_operands): Notify range
8614         query that stmt has changed.
8615         * value-query.h (range_query::update_stmt): New.
8617 2022-11-03  David Malcolm  <dmalcolm@redhat.com>
8619         * make-unique.h: New file.
8621 2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
8623         PR target/107404
8624         * config/i386/i386.md (eliminate reg-reg move by inverting the
8625         condition of a cmove #2 peephole2): Check if eliminated move
8626         initialized a register, used in the moved instruction.
8628 2022-11-03  Andrew Stubbs  <ams@codesourcery.com>
8630         PR target/107510
8631         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
8632         UNSPEC_SMIN_DPP_SHR conditionals.
8634 2022-11-02  Christoph Müllner  <christoph.muellner@vrull.eu>
8636         * common/config/riscv/riscv-common.cc: Add zawrs extension.
8637         * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
8638         (TARGET_ZAWRS): New.
8639         * config/riscv/riscv.opt: New.
8641 2022-11-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
8643         PR driver/93371
8644         * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
8646 2022-11-02  Aldy Hernandez  <aldyh@redhat.com>
8648         * value-range.cc (frange::contains_p): Fix signed zero handling.
8649         (range_tests_signed_zeros): New test.
8651 2022-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8653         * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
8655 2022-11-02  Xionghu Luo  <xionghuluo@tencent.com>
8657         PR target/100866
8658         * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
8659         (altivec_vrl<VI_char>): ...this.
8660         * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
8661         target is Power8 and mode is V8HI.
8663 2022-11-01  David Seifert  <soap@gentoo.org>
8665         * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
8666         * configure: Regenerate.
8668 2022-11-01  Richard Purdie  <richard.purdie@linuxfoundation.org>
8670         * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
8672 2022-11-01  Aldy Hernandez  <aldyh@redhat.com>
8674         PR tree-optimization/107490
8675         * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
8676         NANs.
8677         (foperator_unordered_lt::op2_range): Same.
8678         (foperator_unordered_le::op1_range): Same.
8679         (foperator_unordered_le::op2_range): Same.
8680         (foperator_unordered_gt::op1_range): Same.
8681         (foperator_unordered_gt::op2_range): Same.
8682         (foperator_unordered_ge::op1_range): Same.
8683         (foperator_unordered_ge::op2_range): Same.
8685 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
8687         PR tree-optimization/107497
8688         * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
8689         Check that ssa-name still exists before accessing it.
8691 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
8693         * params.opt (param_vrp1_mode): Make ranger default.
8695 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
8697         * tree-vrp.cc (class remove_unreachable): New.
8698         (remove_unreachable::maybe_register_block): New.
8699         (remove_unreachable::remove_and_update_globals): New.
8700         (rvrp_folder::rvrp_folder): Initialize m_unreachable.
8701         (rvrp_folder::post_fold_bb): Maybe register unreachable block.
8702         (rvrp_folder::m_unreachable): New member.
8703         (execute_ranger_vrp): Add final_pass flag, remove unreachables.
8705 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
8707         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
8708         exit block to be specified.
8709         (ranger_cache::range_from_dom): If exit block is specified, use
8710         the immediate predecessor instead of the dominator to start.
8711         * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
8712         for exit block.
8714 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
8716         * value-range.cc (irange::intersect_nonzero_bits): If new
8717         non-zero mask is the same as original, flag no change.
8719 2022-11-01  Alexander Monakov  <amonakov@ispras.ru>
8721         PR target/87832
8722         * config/i386/znver.md (znver1_idiv): New automaton.
8723         (znver1-idiv): New unit.
8724         (znver1_idiv_DI): Correct unit and cycles in the reservation.
8725         (znver1_idiv_SI): Ditto.
8726         (znver1_idiv_HI): Ditto.
8727         (znver1_idiv_QI): Ditto.
8728         (znver1_idiv_mem_DI): Ditto.
8729         (znver1_idiv_mem_SI): Ditto.
8730         (znver1_idiv_mem_HI): Ditto.
8731         (znver1_idiv_mem_QI): Ditto.
8732         (znver3_idiv_DI): Ditto.
8733         (znver3_idiv_SI): Ditto.
8734         (znver3_idiv_HI): Ditto.
8735         (znver3_idiv_QI): Ditto.
8736         (znver3_idiv_mem_DI): Ditto.
8737         (znver3_idiv_mem_SI): Ditto.
8738         (znver3_idiv_mem_HI): Ditto.
8739         (znver3_idiv_mem_QI): Ditto.
8741 2022-11-01  liuhongt  <hongtao.liu@intel.com>
8743         PR target/107057
8744         * config/i386/sse.md (*vec_interleave_highv2df): Remove
8745         constraint 1.
8746         (*vec_interleave_lowv2df): Ditto.
8747         (vec_concatv2df): Ditto.
8748         (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
8749         (avx512f_unpcklpd512<mask_name>): .. this.
8750         (avx512f_movddup512<mask_name>): Change to define_insn.
8751         (avx_movddup256<mask_name>): Ditto.
8752         (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
8753         to ..
8754         (avx_unpcklpd256<mask_name>): .. this.
8755         * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
8756         Disallow MEM_P (op1) && MEM_P (op2).
8758 2022-11-01  liuhongt  <hongtao.liu@intel.com>
8760         PR target/55583
8761         * config/i386/i386.md (*x86_64_shld_1): Rename to ..
8762         (x86_64_shld_1): .. this.
8763         (*x86_shld_1): Rename to ..
8764         (x86_shld_1): .. this.
8765         (*x86_64_shrd_1): Rename to ..
8766         (x86_64_shrd_1): .. this.
8767         (*x86_shrd_1): Rename to ..
8768         (x86_shrd_1): .. this.
8769         (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
8770         (*x86_shld_shrd_1_nozext): Ditto.
8771         (*x86_64_shrd_shld_1_nozext): Ditto.
8772         (*x86_shrd_shld_1_nozext): Ditto.
8774 2022-11-01  Cui,Lili  <lili.cui@intel.com>
8776         * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
8777         judgement for INLINE_HINT_known_hot hint.
8779 2022-10-31  Guillermo E. Martinez  <guillermo.e.martinez@oracle.com>
8781         * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
8782         enumerator type btf_enum{,64}.
8783         (btf_asm_type): Update btf_kflag according to enumeration type sign
8784         using dtd_enum_unsigned field for both:  BTF_KIND_ENUM{,64}.
8785         (btf_asm_enum_const): New argument to represent the size of
8786         the BTF enum type, writing the enumerator constant value for
8787         32 bits, if it's 64 bits then explicitly writes lower 32-bits
8788         value and higher 32-bits value.
8789         (output_asm_btf_enum_list): Add enumeration size argument.
8790         * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
8791         basic information.
8792         (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
8793         dtd structure containing enumeration information.
8794         (ctf_add_enumerator): Update comment mention support for BTF
8795         enumeration in 64-bits.
8796         * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
8797         for enumeration type and use it in ctf_add_enum.
8798         * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
8799         use 32/64 bits enumerators.
8800         information.
8801         (ctf_dtdef): New field to describe enum signedness.
8803 2022-10-31  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
8805         * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
8806         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
8807         * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
8808         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
8810 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
8812         * config/gcn/gcn-valu.md (fminmaxop): New iterator.
8813         (<fexpander><mode>3): New define_expand.
8814         (<fexpander><mode>3<exec>): Likewise.
8815         (reduc_<fexpander>_scal_<mode>): Likewise.
8816         * config/gcn/gcn.md (fexpander): New attribute.
8818 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
8820         * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
8821         (V64_DI): Likewise.
8822         (V64_1REG): Likewise.
8823         (V64_INT_1REG): Likewise.
8824         (V64_2REG): Likewise.
8825         (V64_ALL): Likewise.
8826         (V64_FP): Likewise.
8827         (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
8828         (fold_left_plus_<mode>): Use V_FP.
8829         (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
8830         (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
8831         (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
8832         (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
8833         (*plus_carry_dpp_shr_<mode>): Use V_DI.
8834         (mov_from_lane63_<mode>): Delete.
8835         (mov_from_lane63_<mode>): Delete.
8836         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
8837         * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
8839 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
8841         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
8842         Set base_type as ARG_UNUSED.
8844 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
8846         * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
8847         BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
8848         BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
8849         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
8850         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
8851         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
8852         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
8853         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
8854         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
8855         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
8856         BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
8857         BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
8858         BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
8859         BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
8860         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
8861         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
8862         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
8863         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
8864         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
8865         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
8866         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
8867         * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
8868         CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
8869         (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
8870         BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
8871         BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
8872         BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
8873         BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
8874         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
8875         * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
8876         fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
8877         CASE_CFN_* is present.
8878         * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
8879         Likewise.
8880         * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
8881         * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
8882         tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
8883         tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
8884         Likewise.
8886 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
8888         * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
8889         * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
8890         * fold-const-call.cc (fold_const_call_sss): Handle
8891         CFN_BUILT_IN_NEXTAFTERF16B.
8893 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
8895         * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
8896         BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
8897         New DEF_PRIMITIVE_TYPE.
8898         (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
8899         BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
8900         BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
8901         BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
8902         BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
8903         BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
8904         BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
8905         BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
8906         DEF_FUNCTION_TYPE_1.
8907         (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
8908         BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
8909         BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
8910         BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
8911         BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
8912         BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
8913         BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
8914         BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
8915         BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
8916         BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
8917         BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
8918         BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
8919         BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
8920         BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
8921         BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
8922         DEF_FUNCTION_TYPE_2.
8923         (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
8924         BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
8925         BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
8926         BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
8927         BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
8928         BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
8929         BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
8930         * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
8931         FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
8932         LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
8933         NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
8934         Define and undefine later.
8935         (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
8936         (INF_TYPE): Define at a later line.
8937         (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
8938         BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
8939         BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
8940         BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
8941         BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
8942         BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
8943         BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
8944         BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
8945         BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
8946         BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
8947         BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
8948         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
8949         (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
8950         DEF_GCC_FLOATN_NX_BUILTINS.
8951         * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
8952         cases when CASE_CFN_* is present.
8953         (fold_const_call_sss): Likewise.
8954         * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
8955         CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
8956         (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
8957         builtins next to CASE_FLT_FN.
8958         * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
8959         next to CASE_CFN_*: for various builtins.
8960         * tree-call-cdce.cc (can_test_argument_range): Add
8961         CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
8962         (edom_only_function): Likewise.
8964 2022-10-31  konglin1  <lingling.kong@intel.com>
8966         * common/config/i386/i386-common.cc
8967         (OPTION_MASK_ISA2_AVXNECONVERT_SET,
8968         OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
8969         (ix86_handle_option): Handle -mavxneconvert, unset
8970         avxneconvert when avx2 is disabled.
8971         * common/config/i386/i386-cpuinfo.h (processor_types): Add
8972         FEATURE_AVXNECONVERT.
8973         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8974         avxneconvert.
8975         * common/config/i386/cpuinfo.h (get_available_features):
8976         Detect avxneconvert.
8977         * config.gcc: Add avxneconvertintrin.h
8978         * config/i386/avxneconvertintrin.h: New.
8979         * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
8980         Unified builtin with avxneconvert.
8981         (_mm_cvtneps_pbh): Ditto.
8982         * config/i386/cpuid.h (bit_AVXNECONVERT): New.
8983         * config/i386/i386-builtin-types.def: Add
8984         DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
8985         DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
8986         DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
8987         DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
8988         DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
8989         DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
8990         DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
8991         DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
8992         DEF_FUNCTION_TYPE (V4SF, PCV8BF),
8993         DEF_FUNCTION_TYPE (V4SF, PCV8HF),
8994         DEF_FUNCTION_TYPE (V8SF, PCV16HF),
8995         DEF_FUNCTION_TYPE (V8SF, PCV16BF),
8996         * config/i386/i386-builtin.def: Add new builtins.
8997         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8998         __AVXNECONVERT__.
8999         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
9000         Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
9001         V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
9002         V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
9003         * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
9004         * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
9005         (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
9006         * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
9007         * config/i386/i386.opt: Add option -mavxneconvert.
9008         * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
9009         * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
9010         (vbcstnesh2ps_<mode>): Ditto.
9011         (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
9012         (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
9013         (vcvtneps2bf16_v4sf): Ditto.
9014         (*vcvtneps2bf16_v4sf): Ditto.
9015         (vcvtneps2bf16_v8sf): Ditto.
9016         * doc/invoke.texi: Document -mavxneconvert.
9017         * doc/extend.texi: Document avxneconvert.
9018         * doc/sourcebuild.texi: Document target avxneconvert.
9020 2022-10-31  konglin1  <lingling.kong@intel.com>
9022         * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
9023         (_mm_cvtsbh_ss): Ditto.
9024         (_mm512_cvtne2ps_pbh): Ditto.
9025         (_mm512_mask_cvtne2ps_pbh): Ditto.
9026         (_mm512_maskz_cvtne2ps_pbh): Ditto.
9027         * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
9028         (_mm256_cvtne2ps_pbh): Ditto.
9029         (_mm256_mask_cvtne2ps_pbh): Ditto.
9030         (_mm256_maskz_cvtne2ps_pbh): Ditto.
9031         (_mm_cvtne2ps_pbh): Ditto.
9032         (_mm_mask_cvtne2ps_pbh): Ditto.
9033         (_mm_maskz_cvtne2ps_pbh): Ditto.
9034         (_mm_cvtness_sbh): Ditto.
9035         * config/i386/i386-builtin-types.def (V8BF): Add new
9036         DEF_VECTOR_TYPE for BFmode.
9037         (V16BF): Ditto.
9038         (V32BF): Ditto.
9039         * config/i386/i386-builtin.def (BDESC): Fixed builtins.
9040         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
9041         avx512bf16 ix86_builtin_func_type included HI to BF.
9042         * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
9043         * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
9044         vector.
9045         (avx512f_cvtneps2bf16_v4sf): New define_expand.
9046         (*avx512f_cvtneps2bf16_v4sf): New define_insn.
9047         (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
9048         (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
9049         (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
9051 2022-10-31  liuhongt  <hongtao.liu@intel.com>
9053         PR target/107261
9054         * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
9055         * config/i386/i386.cc (classify_argument): Handle V4BFmode and
9056         V2BFmode.
9057         (ix86_convert_const_vector_to_integer): Ditto.
9058         * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
9059         V2BFmode.
9060         (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
9061         (VALID_MMX_REG_MODE): Add V4BFmode.
9062         * config/i386/i386.md (mode): Add V4BF and V2BF.
9063         (MODE_SIZE): Ditto.
9064         * config/i386/mmx.md (MMXMODE) Add V4BF.
9065         (V_32): Add V2BF.
9066         (V_16_32_64): Add V4BF and V2BF.
9067         (mmxinsnmode): Add V4BF and V2BF.
9068         (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
9070 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
9072         * configure.ac (sjlj-exceptions): Restore dropped line.
9073         * configure: Regenerate.
9075 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
9077         * alias.cc (init_alias_analysis): Do not record sets to the hard
9078         frame pointer if the frame pointer has not been eliminated.
9080 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
9082         * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
9083         (TARGET_D_MINFO_SECTION_START): ...this.
9084         (TARGET_D_MINFO_END_NAME): Rename to ...
9085         (TARGET_D_MINFO_SECTION_END): ... this.
9086         * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
9087         (TARGET_D_MINFO_START_NAME): Remove.
9088         (TARGET_D_MINFO_END_NAME): Remove.
9089         * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
9090         (TARGET_D_MINFO_START_NAME): Remove.
9091         (TARGET_D_MINFO_END_NAME): Remove.
9092         * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
9093         (TARGET_D_MINFO_START_NAME): Remove.
9094         (TARGET_D_MINFO_END_NAME): Remove.
9095         * doc/tm.texi: Regenerate.
9096         * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
9097         (TARGET_D_MINFO_SECTION_START): ...this.
9098         (TARGET_D_MINFO_END_NAME): Rename to ...
9099         (TARGET_D_MINFO_SECTION_END): ...this.
9101 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
9103         * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
9104         kopensolaris-d.o, and gnu-d.o.  Split out cygwin-d.o from winnt-d.o.
9105         * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9106         * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9107         * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9108         * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9109         * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9110         * config/i386/t-cygming: Add cygwin-d.o.
9111         * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
9112         MinGW-specific version condition.
9113         * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9114         * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9115         * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
9116         * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9117         * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9118         * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
9119         kopensolaris-d.o.
9120         * config/t-linux: Add linux-d.o.
9121         * config/glibc-d.cc: Remove file.
9122         * config/gnu-d.cc: New file.
9123         * config/i386/cygwin-d.cc: New file.
9124         * config/kfreebsd-d.cc: New file.
9125         * config/kopensolaris-d.cc: New file.
9126         * config/linux-d.cc: New file.
9128 2022-10-29  Jeff Law  <jeffreyalaw@gmail.com>
9130         * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
9131         an unsigned int
9132         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
9134 2022-10-28  Joseph Myers  <joseph@codesourcery.com>
9136         * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
9137         Check TYPE_NO_NAMED_ARGS_STDARG_P.
9138         * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
9139         * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
9140         * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
9141         * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
9142         * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
9143         Likewise.
9144         * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
9145         * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
9146         * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
9147         * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
9148         * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
9149         * config/loongarch/loongarch.cc
9150         (loongarch_setup_incoming_varargs): Likewise.
9151         * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
9152         * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
9153         * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
9154         * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
9155         * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
9156         * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
9157         * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
9158         * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
9159         * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
9160         * config/visium/visium.cc (visium_setup_incoming_varargs):
9161         Likewise.
9162         * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
9163         flag_allow_parameterless_variadic_functions.
9164         * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
9165         not document option.
9166         * function.cc (assign_parms): Call assign_parms_setup_varargs for
9167         TYPE_NO_NAMED_ARGS_STDARG_P case.
9168         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
9169         variadic macro.  Pass second argument of 0 to __builtin_va_start.
9170         * target.def (setup_incoming_varargs): Update documentation.
9171         * doc/tm.texi: Regenerate.
9172         * tree-core.h (struct tree_type_common): Add
9173         no_named_args_stdarg_p.
9174         * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
9175         TYPE_NO_NAMED_ARGS_STDARG_P.
9176         * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
9177         TYPE_NO_NAMED_ARGS_STDARG_P.
9178         * tree.cc (type_cache_hasher::equal): Compare
9179         TYPE_NO_NAMED_ARGS_STDARG_P.
9180         (build_function_type): Add argument no_named_args_stdarg_p.
9181         (build_function_type_list_1, build_function_type_array_1)
9182         (reconstruct_complex_type): Update calls to build_function_type.
9183         (stdarg_p, prototype_p): Return true for (...) functions.
9184         (gimple_canonical_types_compatible_p): Compare
9185         TYPE_NO_NAMED_ARGS_STDARG_P.
9186         * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
9187         (build_function_type): Update prototype.
9189 2022-10-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9191         PR tree-optimization/107346
9192         * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
9193         that aren't multiples of BITS_PER_UNIT.
9195 2022-10-28  Richard Biener  <rguenther@suse.de>
9197         PR tree-optimization/107407
9198         * tree-ssa-dse.cc (dse_classify_store): Perform backedge
9199         varying index check when collecting PHI uses rather than
9200         after optimizing processing of the candidate defs.
9202 2022-10-28  Richard Biener  <rguenther@suse.de>
9204         PR tree-optimization/107447
9205         * tree-ssa-loop-im.cc (determine_max_movement): Do not
9206         hoist returns-twice calls.
9208 2022-10-28  Richard Biener  <rguenther@suse.de>
9210         PR tree-optimization/107435
9211         * tree-vect-loop.cc (vectorizable_recurr): Convert initial
9212         value to vector component type.
9214 2022-10-28  Julian Brown  <julian@codesourcery.com>
9215             Thomas Schwinge  <thomas@codesourcery.com>
9217         PR middle-end/90115
9218         * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
9219         privatization candidates.
9221 2022-10-28  Martin Liska  <mliska@suse.cz>
9223         PR sanitizer/107298
9224         * doc/invoke.texi: Document sanitizers can trigger warnings.
9226 2022-10-28  Thomas Schwinge  <thomas@codesourcery.com>
9228         * doc/makefile.texi (Makefile Targets): Document
9229         'distclean-stage[N]'.
9231 2022-10-28  Aldy Hernandez  <aldyh@redhat.com>
9233         * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
9235 2022-10-27  Eric Botcazou  <ebotcazou@adacore.com>
9237         * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
9239 2022-10-27  H.J. Lu  <hjl.tools@gmail.com>
9241         PR target/107172
9242         * config/i386/i386.md (UNSPEC_CC_NE): New.
9243         Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
9245 2022-10-27  Andrew Pinski  <apinski@marvell.com>
9247         * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
9248         (replace_phi_edge_with_variable):
9249         New argument, dce_ssa_names. Call simple_dce_from_worklist.
9250         (match_simplify_replacement): If we inserted a sequence,
9251         mark the lhs of the new sequence to be possible dce.
9252         Always move the statement and mark the lhs (if it is a name)
9253         as possible to remove.
9255 2022-10-27  Richard Sandiford  <richard.sandiford@arm.com>
9257         * config/aarch64/aarch64-protos.h: Replace constexpr with
9258         CONSTEXPR.
9259         * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
9260         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
9261         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
9262         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
9263         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
9264         * config/aarch64/aarch64.cc: Likewise.
9265         * config/aarch64/driver-aarch64.cc: Likewise
9267 2022-10-27  Aldy Hernandez  <aldyh@redhat.com>
9269         PR tree-optimization/107394
9270         * value-range-storage.cc (frange_storage_slot::get_frange): Use
9271         frange constructor.
9273 2022-10-27  Thomas Schwinge  <thomas@codesourcery.com>
9275         * optc-save-gen.awk: Clarify 'Init' option property usage for
9276         streaming optimization.
9278 2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
9279             Yvan ROUX  <yvan.roux@foss.st.com>
9281         * ira.cc: Resize array after reg number increased.
9283 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
9284             Sinan Lin  <sinan@isrc.iscas.ac.cn>
9286         * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
9287         use while Zfinx is enable.
9288         * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
9289         registers use when Zdinx enable in RV32 cases.
9290         (riscv_option_override): New target enable MASK_FDIV.
9291         (riscv_libgcc_floating_mode_supported_p): New error info when
9292         use incompatible arch&abi.
9293         (riscv_excess_precision): New target enable FLOAT16.
9295 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
9297         * config/riscv/iterators.md (TARGET_ZFINX):New target.
9298         (TARGET_ZDINX): Ditto.
9299         (TARGET_ZHINX): Ditto.
9300         * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
9301         (riscv_atomic_assign_expand_fenv): Ditto.
9302         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
9303         * config/riscv/riscv.md: Ditto.
9305 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
9306             Sinan Lin  <sinan@isrc.iscas.ac.cn>
9308         * common/config/riscv/riscv-common.cc: New extensions.
9309         * config/riscv/arch-canonicalize: New imply relations.
9310         * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
9311         (MASK_ZDINX): Ditto.
9312         (MASK_ZHINX): Ditto.
9313         (MASK_ZHINXMIN): Ditto.
9314         (TARGET_ZFINX): New target.
9315         (TARGET_ZDINX): Ditto.
9316         (TARGET_ZHINX): Ditto.
9317         (TARGET_ZHINXMIN): Ditto.
9318         * config/riscv/riscv.opt: New target variable.
9320 2022-10-26  David Faust  <david.faust@oracle.com>
9322         * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
9323         (enum bpf_builtins): Add new builtin.
9324         (bpf_init_builtins): Likewise.
9325         (bpf_core_field_info): New function.
9326         (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
9327         relocation to...
9328         (maybe_make_core_relo): ... here. New function.
9329         (bpf_resolve_overloaded_builtin): Accomodate new builtin.
9330         (bpf_core_newdecl): Likewise.
9331         (bpf_core_walk): Likewise.
9332         (bpf_core_is_maybe_aggregate_access): Improve logic.
9333         (struct core_walk_data): New.
9334         * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
9335         relocation kinds.
9336         * config/bpf/coreout.h: Analogous change.
9337         * doc/extend.texi: Document BPF __builtin_preserve_field_info.
9339 2022-10-26  Marek Polacek  <polacek@redhat.com>
9341         PR c++/106393
9342         * doc/invoke.texi: Document -Wdangling-reference.
9344 2022-10-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
9346         * config/xtensa/xtensa.md (movdi):
9347         Copy operands[0...1] to ops[0...3] and then use the latter before
9348         calling xtensa_split_DI_reg_imm() and emitting insns.
9350 2022-10-26  Alexander Monakov  <amonakov@ispras.ru>
9352         PR other/107353
9353         * ipa-visibility.cc (function_and_variable_visibility):
9354         Conditionally upgrade TLS model instead of asserting.
9356 2022-10-26  Andrew MacLeod  <amacleod@redhat.com>
9358         * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
9359         stmt is non-negative and adjust the range.
9361 2022-10-26  Martin Liska  <mliska@suse.cz>
9363         * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
9364         (reset_cpu_feature): New.
9365         (get_zhaoxin_cpu): Use reset_cpu_feature.
9367 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9369         * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
9371 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9373         PR target/107357
9374         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
9375         (ADJUST_NUNITS): Adjust according to -march.
9376         (ADJUST_BYTESIZE): Ditto.
9377         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
9378         Remove.
9379         (riscv_v_ext_vector_mode_p): Change function implementation.
9380         * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
9381         Change to riscv_v_ext_vector_mode_p.
9382         (register_builtin_type): Ditto.
9383         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
9384         modes.
9385         (ENTRY): Ditto.
9386         (riscv_v_ext_enabled_vector_mode_p): Remove.
9387         (riscv_v_adjust_nunits): New function.
9388         (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
9389         * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
9391 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9393         * config.gcc (riscv*): Add riscv-v.o to extra_objs.
9394         * config/riscv/constraints.md (vu): New constraint.
9395         (vi): Ditto.
9396         (Wc0): Ditto.
9397         (Wc1): Ditto.
9398         * config/riscv/predicates.md (vector_length_operand): New.
9399         (reg_or_mem_operand): Ditto.
9400         (vector_move_operand): Ditto.
9401         (vector_mask_operand): Ditto.
9402         (vector_merge_operand): Ditto.
9403         * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
9404         (riscv_vector::const_vec_all_same_in_range_p): Ditto.
9405         (riscv_vector::legitimize_move): Ditto.
9406         (tail_policy): Ditto.
9407         (mask_policy): Ditto.
9408         * config/riscv/riscv-v.cc: New.
9409         * config/riscv/riscv-vector-builtins-bases.cc
9410         (vsetvl::expand): Refactor how LMUL encoding.
9411         * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
9412         print and mask operand print.
9413         (riscv_regmode_natural_size): New.
9414         * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
9415         * config/riscv/riscv.md (mode): Add vector modes.
9416         * config/riscv/t-riscv (riscv-v.o) New.
9417         * config/riscv/vector-iterators.md: New.
9418         * config/riscv/vector.md (vundefined<mode>): New.
9419         (mov<mode>): New.
9420         (*mov<mode>): New.
9421         (@vsetvl<mode>_no_side_effects): New.
9422         (@pred_mov<mode>): New.
9424 2022-10-26  Monk Chiang  <monk.chiang@sifive.com>
9426         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
9427         Add svinval and svnapot extension.
9428         (riscv_ext_flag_table): Ditto.
9429         * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
9430         (MASK_SVNAPOT): Ditto.
9431         (TARGET_SVINVAL): Ditto.
9432         (TARGET_SVNAPOT): Ditto.
9433         * config/riscv/riscv.opt (riscv_sv_subext): New.
9435 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9437         * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
9439 2022-10-26  Martin Liska  <mliska@suse.cz>
9441         * configure: Regenerate.
9443 2022-10-26  Aldy Hernandez  <aldyh@redhat.com>
9445         * value-range.cc (frange::set): Use HONOR_*.
9446         (frange::verify_range): Same.
9447         * value-range.h (frange_val_min): Same.
9448         (frange_val_max): Same.
9450 2022-10-26  Jiufu Guo  <guojiufu@linux.ibm.com>
9452         PR target/106460
9453         * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
9454         for HIGH code rtx.
9456 2022-10-26  Kito Cheng  <kito.cheng@sifive.com>
9458         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
9459         Add `h`.
9460         (riscv_supported_std_ext): Ditto.
9461         (multi_letter_subset_rank): Remove `h`.
9462         (riscv_subset_list::parse_std_ext): Handle `h` as single letter
9463         extension.
9464         (riscv_subset_list::parse): Ditto.
9466 2022-10-25  Eugene Rozenfeld  <erozen@microsoft.com>
9468         * auto-profile.cc (get_combined_location): Include discriminator in the
9469         returned combined location.
9470         (read_function_instance): Read discriminators from profiles.
9472 2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
9474         PR target/107304
9475         * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
9476         field with vector raw mode.
9478 2022-10-25  Segher Boessenkool  <segher@kernel.crashing.org>
9480         * config/rs6000/rs6000.md (CCEITHER): Delete.
9481         (CCANY): New.
9482         (un): Delete.
9483         (isel_<un>signed_<GPR:mode>): Rename to...
9484         (isel_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
9485         (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
9486         (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
9487         (setbc_<un>signed_<GPR:mode>): Rename to...
9488         (setbc_<CCANY:mode>_<GPR:mode>C): ... this.  Adjust."
9489         (*setbcr_<un>signed_<GPR:mode>): Rename to ...
9490         (*setbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
9491         (*setnbc_<un>signed_<GPR:mode>): Rename to ...
9492         (*setnbc_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
9493         (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
9494         (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
9495         (eq<mode>3 for GPR): Adjust.
9496         (ne<mode>3 for GPR): Adjust.
9497         * config/rs6000/rs6000-string.cc (do_isel): Adjust.
9498         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
9500 2022-10-25  Richard Biener  <rguenther@suse.de>
9502         PR tree-optimization/107176
9503         PR tree-optimization/66375
9504         PR tree-optimization/42512
9505         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
9506         the PR66375 fix, do not not associate PLUS_EXPR to be able
9507         to use tail-recursion.
9508         (follow_ssa_edge_binary): Likewise.
9509         (interpret_loop_phi): Revert PR42512 fix, do not throw
9510         away analyze_evolution_in_loop result after the fact.
9511         (follow_ssa_edge_expr): When reaching halting_phi initalize
9512         the evolution to the symbolic value of the PHI result.
9513         (add_to_evolution_1): When adding the first evolution verify
9514         we can handle the expression wrapping the symbolic evolution
9515         and replace that in full using the initial condition.
9516         (class scev_dfs): New, contains ...
9517         (follow_ssa_edge_expr, follow_ssa_edge_binary,
9518         follow_ssa_edge_in_condition_phi_branch,
9519         follow_ssa_edge_in_condition_phi,
9520         follow_ssa_edge_inner_loop_phi,
9521         add_to_evolution, add_to_evolution_1): ... these with
9522         loop and halting_phi arguments in class data.
9523         (scev_dfs::get_ev): New toplevel DFS entry, start with
9524         a chrec_dont_know evolution.
9525         (analyze_evolution_in_loop): Use scev_dfs.
9527 2022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
9529         * profile.cc (branch_prob): Be prepared for ignored functions with
9530         DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
9532 2022-10-25  Richard Biener  <rguenther@suse.de>
9534         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
9535         STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
9537 2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
9539         * common/config/i386/i386-common.cc (processor_alias_table): Use
9540         CPU_ZNVER3 for znver4.
9541         * config/i386/znver.md: Remove znver4 reservations.
9543 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
9545         * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
9546         and There -> These.
9548 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
9550         PR tree-optimization/107368
9551         * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
9552         conditions call gimple_boolify on the condition.
9554 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
9556         * config.gcc: add -with-compact-branches=policy build option.
9557         * doc/install.texi: Likewise.
9558         * config/mips/mips.h: Likewise.
9560 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
9562         * config/mips/mips.cc (mips_option_override): not trigger error
9563         for compact-branches=always for pre-R6.
9564         * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
9565         compact-branches=always for pre-R6.
9566         (TARGET_CB_NEVER): Likewise.
9567         (TARGET_CB_ALWAYS): Likewise.
9568         (struct mips_cpu_info): define macros for compact branch policy.
9569         * doc/invoke.texi: Document "always" with pre-R6.
9571 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
9573         PR tree-optimization/107369
9574         * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
9575         IFN_ASSUME the same as for -O0.
9577 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
9579         * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
9580         * configure: Regenerated.
9581         * config.in: Regenerated.
9582         * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
9583         if ENABLE_MULTIARCH is defined.
9584         * config/mips/t-linux64: define correct multiarch path when
9585         multiarch is enabled.
9587 2022-10-25  Richard Biener  <rguenther@suse.de>
9589         PR tree-optimization/100756
9590         * tree-ssa-loop-niter.cc (expand_simple_operations): Also
9591         expand multiplications by invariants.
9593 2022-10-25  Kewen Lin  <linkw@linux.ibm.com>
9595         PR tree-optimization/107338
9596         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
9597         shfit_n calculation before the adjustments for widening loads.
9599 2022-10-25  Martin Liska  <mliska@suse.cz>
9601         * common/config/riscv/riscv-common.cc
9602         (riscv_get_valid_option_values): Get out of ifdef.
9604 2022-10-25  Martin Liska  <mliska@suse.cz>
9606         PR target/107364
9607         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
9608         Fix pedantic warning.
9610 2022-10-24  Martin Liska  <mliska@suse.cz>
9612         PR analyzer/107366
9613         * diagnostic-format-sarif.cc
9614         (sarif_builder::maybe_make_physical_location_object): Gracefully
9615         reject locations with NULL filename.
9617 2022-10-24  David Malcolm  <dmalcolm@redhat.com>
9619         PR analyzer/106300
9620         * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
9621         "pipe2" to the list of functions the analyzer has hardcoded
9622         knowledge of.
9624 2022-10-24  Jason Merrill  <jason@redhat.com>
9626         * tree.h (build_string_literal): New one-argument overloads that
9627         take tree (identifier) and const char *.
9628         * builtins.cc (fold_builtin_FILE)
9629         (fold_builtin_FUNCTION)
9630         * gimplify.cc (gimple_add_init_for_auto_var)
9631         * vtable-verify.cc (verify_bb_vtables): Simplify calls.
9633 2022-10-24  Martin Liska  <mliska@suse.cz>
9635         PR target/107364
9636         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
9637         Reorder enum values as BUILTIN_VENDOR_MAX should not point
9638         in the middle of the valid enum values.
9640 2022-10-24  Marek Polacek  <polacek@redhat.com>
9642         PR c++/107276
9643         * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
9644         when the type is erroneous.
9646 2022-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
9648         PR target/106583
9649         * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
9650         Add support for a bitmask immediate with 2 MOVKs.
9651         (aarch64_check_bitmask): New function after refactorization.
9652         (aarch64_bitmask_imm): Simplify replication of small modes.
9653         Split function into 64-bit only version for efficiency.
9654         (aarch64_move_imm): Move near other immediate functions.
9655         (aarch64_uimm12_shift): Likewise.
9656         (aarch64_clamp_to_uimm12_shift): Likewise.
9657         (aarch64_movk_shift): Likewise.
9658         (aarch64_replicate_bitmask_imm): Likewise.
9659         (aarch64_and_split_imm1): Likewise.
9660         (aarch64_and_split_imm2): Likewise.
9661         (aarch64_and_bitmask_imm): Likewise.
9662         (aarch64_movw_imm): Likewise.
9664 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
9666         PR tree-optimization/107355
9667         * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
9669 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
9671         PR middle-end/107236
9672         * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
9673         in DECL_CONTEXT and not to cfun->decl.
9674         * cgraphclones.cc (cgraph_node::create_clone): Copy also the
9675         node's calls_declare_variant_alt value.
9677 2022-10-24  Kito Cheng  <kito.cheng@sifive.com>
9679         * common/config/riscv/riscv-common.cc (riscv_tunes): New.
9680         (riscv_get_valid_option_values): New.
9681         (TARGET_GET_VALID_OPTION_VALUES): New.
9682         * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
9683         for tune here.
9684         (RISCV_CORE): Fix comment.
9685         * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
9686         riscv-cores.def.
9688 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
9690         PR tree-optimization/107365
9691         * value-range.cc (frange::verify_range): Predicate NAN check in
9692         VARYING range on HONOR_NANS instead of flag_finite_math_only.
9693         (range_tests_floats): Same.
9694         (range_tests_floats_various): New.
9695         (range_tests): Call range_tests_floats_various.
9697 2022-10-24  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
9698             Yvan ROUX  <yvan.roux@foss.st.com>
9700         * lto-wrapper.cc: Quote paths in makefile.
9702 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9704         * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
9706 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9708         * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
9709         with constexpr throughout.
9710         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
9711         * config/riscv/riscv-vector-builtins.cc
9712         (struct registered_function_hasher): Likewise.
9713         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
9714         Likewise.
9716 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9718         * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
9720 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9722         * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
9724 2022-10-22  Michael Eager  <eager@eagercon.com>
9726         * config/microblaze/microblaze.cc
9727         (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
9728         (microblaze_address_insns): Replace abort() with gcc_unreachable().
9729         (print_operand_address): Same.
9730         (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
9731         (get_branch_target): Replace abort() with gcc_unreachable().
9733 2022-10-22  Aldy Hernandez  <aldyh@redhat.com>
9735         * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
9736         with !flag_finite_math_only.
9738 2022-10-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
9740         * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
9741         Remove register A0 from FIXED_REGS if the CALL0 ABI.
9742         (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
9743         unconditionally after restoring callee-saved registers for
9744         sibling-call functions, in order to prevent misleading that
9745         register A0 is free to use.
9747 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
9749         PR target/107322
9750         * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
9751         BFmode comparisons promote arguments to SFmode and recurse.
9752         (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
9753         if comparison operands are BFmode and operands[1] is not
9754         ix86_fp_comparison_operator.
9756 2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
9758         * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
9759         * common/config/i386/i386-common.cc (processor_names): Add znver4.
9760         (processor_alias_table): Add znver4 and modularize old znvers.
9761         * common/config/i386/i386-cpuinfo.h (processor_subtypes):
9762         AMDFAM19H_ZNVER4.
9763         * config.gcc (x86_64-*-* |...): Likewise.
9764         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
9765         -march=native recognize znver4 cpus.
9766         * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
9767         * config/i386/i386-options.cc (m_ZNVER4): New definition.
9768         (m_ZNVER): Include m_ZNVER4.
9769         (processor_cost_table): Add znver4.
9770         * config/i386/i386.cc (ix86_reassociation_width): Likewise.
9771         * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
9772         (PTA_ZNVER1): New definition.
9773         (PTA_ZNVER2): Likewise.
9774         (PTA_ZNVER3): Likewise.
9775         (PTA_ZNVER4): Likewise.
9776         * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
9777         md file.
9778         * config/i386/x86-tune-costs.h (znver4_cost): New definition.
9779         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
9780         (ix86_adjust_cost): Likewise.
9781         * config/i386/znver1.md: Rename to znver.md.
9782         * config/i386/znver.md: Add new reservations for znver4.
9783         * doc/extend.texi: Add details about znver4.
9784         * doc/invoke.texi: Likewise.
9786 2022-10-21  Richard Biener  <rguenther@suse.de>
9788         PR tree-optimization/107323
9789         * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
9790         New function.
9791         (loop_distribution::break_alias_scc_partitions): Revert
9792         postorder save/restore from the PR94125 fix.  Instead
9793         make sure to not ignore edges from SCCs we are going to
9794         merge.
9796 2022-10-21  Monk Chiang  <monk.chiang@sifive.com>
9798         * config/riscv/riscv.md: Add atomic type attribute.
9799         * config/riscv/sync.md: Add atomic type for atomic instructions.
9801 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
9803         PR tree-optimization/54346
9804         * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
9805         Optimize nested VEC_PERM_EXPRs even if target can't handle the
9806         new one provided we don't increase number of VEC_PERM_EXPRs the
9807         target can't handle.
9809 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9811         * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
9812         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
9813         (DEF_RVV_FUNCTION): Ditto.
9814         (handle_pragma_vector): Add intrinsic framework.
9815         * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
9816         * config/riscv/riscv.md: include vector.md.
9817         * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
9818         * config/riscv/riscv-vector-builtins-bases.cc: New file.
9819         * config/riscv/riscv-vector-builtins-bases.h: New file.
9820         * config/riscv/riscv-vector-builtins-functions.def: New file.
9821         * config/riscv/riscv-vector-builtins-shapes.cc: New file.
9822         * config/riscv/riscv-vector-builtins-shapes.h: New file.
9823         * config/riscv/riscv-vector-builtins-types.def: New file.
9824         * config/riscv/vector.md: New file.
9826 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9828         * config.gcc: Add gt files since function_instance is GTY ((user)).
9829         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
9830         (riscv_builtin_decl): Ditto.
9831         (riscv_expand_builtin): Ditto.
9832         * config/riscv/riscv-protos.h (builtin_decl): New function.
9833         (expand_builtin): Ditto.
9834         (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
9835         * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
9836         (struct registered_function_hasher): New struct.
9837         (DEF_RVV_OP_TYPE): New macro.
9838         (DEF_RVV_TYPE): Ditto.
9839         (DEF_RVV_PRED_TYPE): Ditto.
9840         (GTY): New declaration.
9841         (add_attribute): New function.
9842         (check_required_extensions): Ditto.
9843         (rvv_arg_type_info::get_tree_type): Ditto.
9844         (function_instance::function_instance): Ditto.
9845         (function_instance::operator==): Ditto.
9846         (function_instance::any_type_float_p): Ditto.
9847         (function_instance::get_return_type): Ditto.
9848         (function_instance::get_arg_type): Ditto.
9849         (function_instance::hash): Ditto.
9850         (function_instance::call_properties): Ditto.
9851         (function_instance::reads_global_state_p): Ditto.
9852         (function_instance::modifies_global_state_p): Ditto.
9853         (function_instance::could_trap_p): Ditto.
9854         (function_builder::function_builder): Ditto.
9855         (function_builder::~function_builder): Ditto.
9856         (function_builder::allocate_argument_types): Ditto.
9857         (function_builder::register_function_group): Ditto.
9858         (function_builder::append_name): Ditto.
9859         (function_builder::finish_name): Ditto.
9860         (function_builder::get_attributes): Ditto.
9861         (function_builder::add_function): Ditto.
9862         (function_builder::add_unique_function): Ditto.
9863         (function_call_info::function_call_info): Ditto.
9864         (function_expander::function_expander): Ditto.
9865         (function_expander::add_input_operand): Ditto.
9866         (function_expander::generate_insn): Ditto.
9867         (registered_function_hasher::hash): Ditto.
9868         (registered_function_hasher::equal): Ditto.
9869         (builtin_decl): Ditto.
9870         (expand_builtin): Ditto.
9871         (gt_ggc_mx): Define for using GCC garbage collect.
9872         (gt_pch_nx): Define for using GCC garbage collect.
9873         * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
9874         (DEF_RVV_PRED_TYPE): Ditto.
9875         (vbool64_t): Add suffix.
9876         (vbool32_t): Ditto.
9877         (vbool16_t): Ditto.
9878         (vbool8_t): Ditto.
9879         (vbool4_t): Ditto.
9880         (vbool2_t): Ditto.
9881         (vbool1_t): Ditto.
9882         (vint8mf8_t): Ditto.
9883         (vuint8mf8_t): Ditto.
9884         (vint8mf4_t): Ditto.
9885         (vuint8mf4_t): Ditto.
9886         (vint8mf2_t): Ditto.
9887         (vuint8mf2_t): Ditto.
9888         (vint8m1_t): Ditto.
9889         (vuint8m1_t): Ditto.
9890         (vint8m2_t): Ditto.
9891         (vuint8m2_t): Ditto.
9892         (vint8m4_t): Ditto.
9893         (vuint8m4_t): Ditto.
9894         (vint8m8_t): Ditto.
9895         (vuint8m8_t): Ditto.
9896         (vint16mf4_t): Ditto.
9897         (vuint16mf4_t): Ditto.
9898         (vint16mf2_t): Ditto.
9899         (vuint16mf2_t): Ditto.
9900         (vint16m1_t): Ditto.
9901         (vuint16m1_t): Ditto.
9902         (vint16m2_t): Ditto.
9903         (vuint16m2_t): Ditto.
9904         (vint16m4_t): Ditto.
9905         (vuint16m4_t): Ditto.
9906         (vint16m8_t): Ditto.
9907         (vuint16m8_t): Ditto.
9908         (vint32mf2_t): Ditto.
9909         (vuint32mf2_t): Ditto.
9910         (vint32m1_t): Ditto.
9911         (vuint32m1_t): Ditto.
9912         (vint32m2_t): Ditto.
9913         (vuint32m2_t): Ditto.
9914         (vint32m4_t): Ditto.
9915         (vuint32m4_t): Ditto.
9916         (vint32m8_t): Ditto.
9917         (vuint32m8_t): Ditto.
9918         (vint64m1_t): Ditto.
9919         (vuint64m1_t): Ditto.
9920         (vint64m2_t): Ditto.
9921         (vuint64m2_t): Ditto.
9922         (vint64m4_t): Ditto.
9923         (vuint64m4_t): Ditto.
9924         (vint64m8_t): Ditto.
9925         (vuint64m8_t): Ditto.
9926         (vfloat32mf2_t): Ditto.
9927         (vfloat32m1_t): Ditto.
9928         (vfloat32m2_t): Ditto.
9929         (vfloat32m4_t): Ditto.
9930         (vfloat32m8_t): Ditto.
9931         (vfloat64m1_t): Ditto.
9932         (vfloat64m2_t): Ditto.
9933         (vfloat64m4_t): Ditto.
9934         (vfloat64m8_t): Ditto.
9935         (vv): Ditto.
9936         (vx): Ditto.
9937         (v): Ditto.
9938         (wv): Ditto.
9939         (wx): Ditto.
9940         (x_x_v): Ditto.
9941         (vf2): Ditto.
9942         (vf4): Ditto.
9943         (vf8): Ditto.
9944         (vvm): Ditto.
9945         (vxm): Ditto.
9946         (x_x_w): Ditto.
9947         (v_v): Ditto.
9948         (v_x): Ditto.
9949         (vs): Ditto.
9950         (mm): Ditto.
9951         (m): Ditto.
9952         (vf): Ditto.
9953         (vm): Ditto.
9954         (wf): Ditto.
9955         (vfm): Ditto.
9956         (v_f): Ditto.
9957         (ta): Ditto.
9958         (tu): Ditto.
9959         (ma): Ditto.
9960         (mu): Ditto.
9961         (tama): Ditto.
9962         (tamu): Ditto.
9963         (tuma): Ditto.
9964         (tumu): Ditto.
9965         (tam): Ditto.
9966         (tum): Ditto.
9967         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
9968         (RVV_REQUIRE_RV64BIT): Ditto.
9969         (RVV_REQUIRE_ZVE64): Ditto.
9970         (RVV_REQUIRE_ELEN_FP_32): Ditto.
9971         (RVV_REQUIRE_ELEN_FP_64): Ditto.
9972         (enum operand_type_index): New enum.
9973         (DEF_RVV_OP_TYPE): New macro.
9974         (enum predication_type_index): New enum.
9975         (DEF_RVV_PRED_TYPE): New macro.
9976         (enum rvv_base_type): New enum.
9977         (struct rvv_builtin_suffixes): New struct.
9978         (struct rvv_arg_type_info): Ditto.
9979         (struct rvv_type_info): Ditto.
9980         (struct rvv_op_info): Ditto.
9981         (class registered_function): New class.
9982         (class function_base): Ditto.
9983         (class function_shape): Ditto.
9984         (struct function_group_info): New struct.
9985         (class GTY): New class.
9986         (class function_builder): Ditto.
9987         (class function_call_info): Ditto.
9988         (function_call_info::function_returns_void_p): New function.
9989         (class function_expander): New class.
9990         (function_instance::operator!=): New function.
9991         (function_expander::expand): Ditto.
9992         (function_expander::add_input_operand): Ditto.
9993         (function_base::call_properties): Ditto.
9995 2022-10-21  Haochen Jiang  <haochen.jiang@intel.com>
9997         * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
9998         (ssedvecmodelower): Rename from vi1si.
9999         (sdot_prod<mode>): New define_expand.
10000         (udot_prod<mode>): Ditto.
10002 2022-10-21  Kong Lingling  <lingling.kong@intel.com>
10003             Hongyu Wang  <hongyu.wang@intel.com>
10004             Haochen Jiang  <haochen.jiang@intel.com>
10006         * common/config/i386/cpuinfo.h (get_available_features): Detect
10007         avxvnniint8.
10008         * common/config/i386/i386-common.cc
10009         (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
10010         (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
10011         (ix86_handle_option): Handle -mavxvnniint8.
10012         * common/config/i386/i386-cpuinfo.h (enum processor_features):
10013         Add FEATURE_AVXVNNIINT8.
10014         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
10015         avxvnniint8.
10016         * config.gcc: Add avxvnniint8intrin.h.
10017         * config/i386/avxvnniint8intrin.h: New file.
10018         * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
10019         * config/i386/i386-builtin.def: Add new builtins.
10020         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
10021         __AVXVNNIINT8__.
10022         * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
10023         (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
10024         * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
10025         * config/i386/i386.opt: Add option -mavxvnniint8.
10026         * config/i386/immintrin.h: Include avxvnniint8intrin.h.
10027         * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
10028         UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
10029         UNSPEC_VPMADDWDACCSSD): Rename according to new style.
10030         (vpdp<vpdotprodtype>_<mode>): New define_insn.
10031         * doc/extend.texi: Document avxvnniint8.
10032         * doc/invoke.texi: Document -mavxvnniint8.
10033         * doc/sourcebuild.texi: Document target avxvnniint8.
10035 2022-10-21  Hongyu Wang  <hongyu.wang@intel.com>
10037         * common/config/i386/i386-common.cc
10038         (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
10039         OPTION_MASK_ISA2_AVX2_UNSET): New macro.
10040         (ix86_handle_option): Handle -mavxifma.
10041         * common/config/i386/i386-cpuinfo.h (processor_types): Add
10042         FEATURE_AVXIFMA.
10043         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
10044         avxifma.
10045         * common/config/i386/cpuinfo.h (get_available_features):
10046         Detect avxifma.
10047         * config.gcc: Add avxifmaintrin.h
10048         * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
10049         to macro.
10050         (_mm_madd52hi_epu64): Likewise.
10051         (_mm256_madd52lo_epu64): Likewise.
10052         (_mm256_madd52hi_epu64): Likewise.
10053         * config/i386/avxifmaintrin.h: New header.
10054         * config/i386/cpuid.h (bit_AVXIFMA): New.
10055         * config/i386/i386-builtin.def: Add new builtins, and correct
10056         pattern names for AVX512IFMA.
10057         * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
10058         builtins like AVX-VNNI.
10059         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
10060         __AVXIFMA__.
10061         * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
10062         Relax ISA masks for AVXIFMA.
10063         * config/i386/i386-isa.def: Add AVXIFMA.
10064         * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
10065         (ix86_valid_target_attribute_inner_p): Handle avxifma.
10066         * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
10067         * config/i386/i386.opt: Add option -mavxifma.
10068         * config/i386/immintrin.h: Inculde avxifmaintrin.h.
10069         * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
10070         Remove.
10071         (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
10072         (vpamdd52huq<mode>_maskz): Rename to ...
10073         (vpmadd52huq<mode>_maskz): ... this.
10074         (vpamdd52luq<mode>_maskz): Rename to ...
10075         (vpmadd52luq<mode>_maskz): ... this.
10076         (vpmadd52<vpmadd52type><mode>): New define_insn.
10077         (vpmadd52<vpmadd52type>v8di): Likewise.
10078         (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
10079         (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
10080         (vpmadd52<vpmadd52type><mode>_mask): ... this.
10081         * doc/invoke.texi: Document -mavxifma.
10082         * doc/extend.texi: Document avxifma.
10083         * doc/sourcebuild.texi: Document target avxifma.
10085 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10087         PR c++/106654
10088         * value-query.cc (get_range_global): Handle non integer ranges for
10089         default def SSA names.
10091 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10093         * range-op-float.cc (foperator_unordered_lt::op1_range): New.
10094         (foperator_unordered_lt::op2_range): New.
10096 2022-10-20  Artem Klimov  <jakmobius@gmail.com>
10097             Alexander Monakov   <amonakov@gcc.gnu.org>
10099         PR middle-end/99619
10100         * ipa-visibility.cc (function_and_variable_visibility): Promote
10101         TLS access model afer visibility optimizations.
10102         * varasm.cc (have_optimized_refs): New helper.
10103         (optimize_dyn_tls_for_decl_p): New helper. Use it ...
10104         (decl_default_tls_model): ... here in place of 'optimize' check.
10106 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10108         * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
10109         false side with a NAN operand.
10110         (foperator_unordered_le::op2_range): Same.
10111         (foperator_unordered_gt::op1_range): Same.
10112         (foperator_unordered_gt::op2_range): Same.
10113         (foperator_unordered_ge::op1_range): Same.
10114         (foperator_unordered_ge::op2_range): Same.
10115         (foperator_unordered_equal::op1_range): Same.
10117 2022-10-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10119         PR tree-optimization/107326
10120         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
10121         vectype when widening container.
10123 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10125         * value-range.h (frange::set_varying): Do not set NAN flags for
10126         !HONOR_NANS.
10127         * value-range.cc (frange::normalize_kind): Adjust for no NAN when
10128         !HONOR_NANS.
10129         (frange::verify_range): Same.
10130         * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
10132 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10134         * range-op-float.cc (finite_operand_p): Remove.
10135         (finite_operands_p): Rename to...
10136         (maybe_isnan): ...this.
10137         (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
10138         (foperator_equal::fold_range): Same.
10139         (foperator_equal::op1_range): Same.
10140         (foperator_not_equal::fold_range): Same.
10141         (foperator_lt::fold_range): Same.
10142         (foperator_le::fold_range): Same.
10143         (foperator_gt::fold_range): Same.
10144         (foperator_ge::fold_range): Same.
10146 2022-10-20  Jakub Jelinek  <jakub@redhat.com>
10148         * passes.cc (pass_manager::register_pass): Fix a comment
10149         typo - copmilation -> compilation.
10151 2022-10-20  Richard Biener  <rguenther@suse.de>
10153         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
10154         Disallow latch PHI defs.
10155         (vectorizable_recurr): Revert previous change.
10157 2022-10-20  Julian Brown  <julian@codesourcery.com>
10159         PR target/105421
10160         * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
10161         argument forces FLAT addressing mode, not just
10162         pointer-to-non-aggregate.
10164 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
10166         * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
10167         * configure: Regenerate.
10169 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10171         * config/aarch64/aarch64-sve-builtins.h
10172         (gimple_folder::fold_to_cstu): New member function.
10173         * config/aarch64/aarch64-sve-builtins.cc
10174         (gimple_folder::fold_to_cstu): Define.
10175         * config/aarch64/aarch64-sve-builtins-base.cc
10176         (svcnt_bhwd_impl::fold): Use it.
10178 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10180         * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
10181         (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
10182         (unspec_based_function_rotated, unspec_based_function_exact_insn)
10183         (unspec_based_fused_function, unspec_based_fused_lane_function):
10184         Replace constructors with using directives.
10185         * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
10186         (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
10187         (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
10188         (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
10189         (svst234_impl, svundef_impl): Likewise.
10190         * config/aarch64/aarch64-sve-builtins-sve2.cc
10191         (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
10192         (svstnt1_scatter_truncate_impl): Likewise.
10194 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10196         * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
10197         with constexpr throughout.
10198         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
10199         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
10200         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
10201         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
10203 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10205         * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
10206         merging alternative.
10207         (*aarch64_brk<brk_op>_ptest): Likewise.
10209 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10211         * config/aarch64/iterators.md (SVE_BRKP): New iterator.
10212         * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
10213         (*aarch64_brkn_ptest): Likewise.
10214         (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
10215         (*aarch64_brk<brk_op>_ptest): Likewise.
10217 2022-10-20  Richard Biener  <rguenther@suse.de>
10219         PR c/107305
10220         PR c/107306
10221         * tree-cfg.h (verify_gimple_in_seq): Add parameter to
10222         indicate whether to emit an ICE.  Add return value.
10223         (verify_gimple_in_cfg): Likewise.
10224         * tree-cfg.cc (verify_gimple_in_seq): Likewise.
10225         (verify_gimple_in_cfg): Likewise.
10227 2022-10-20  Richard Biener  <rguenther@suse.de>
10229         PR tree-optimization/107240
10230         * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
10231         simplify shifted value first.
10233 2022-10-20  Andrew MacLeod  <amacleod@redhat.com>
10235         * gimple-range-gori.h (compute_operand_range): Make public.
10236         * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
10237         (gimple_infer_range::gimple_infer_range): Check for assume calls.
10238         * gimple-range-infer.h (check_assume_func): Add prototype.
10239         * gimple-range.cc (assume_query::assume_range_p): New.
10240         (assume_query::range_of_expr): New.
10241         (assume_query::assume_query): New.
10242         (assume_query::calculate_op): New.
10243         (assume_query::calculate_phi): New.
10244         (assume_query::check_taken_edge): New.
10245         (assume_query::calculate_stmt): New.
10246         (assume_query::dump): New.
10247         * gimple-range.h (class assume_query): New.
10248         * tree-vrp.cc (pass_assumptions::execute): Add processing.
10250 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
10252         * range-op-float.cc (build_le): Document result.
10253         (build_lt): Same.
10254         (build_ge): Same.
10255         (foperator_ge::op2_range): Check result of build_*.
10256         (foperator_unordered_le::op1_range): Same.
10257         (foperator_unordered_le::op2_range): Same.
10258         (foperator_unordered_gt::op1_range): Same.
10259         (foperator_unordered_gt::op2_range): Same.
10260         (foperator_unordered_ge::op1_range): Same.
10261         (foperator_unordered_ge::op2_range): Same.
10263 2022-10-19  Marek Polacek  <polacek@redhat.com>
10265         PR c++/85043
10266         * doc/invoke.texi: Update documentation of -Wuseless-cast.
10268 2022-10-19  Andrew MacLeod  <amacleod@redhat.com>
10270         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
10271         Value_Range not int_range_max.
10273 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
10275         PR tree-optimization/107312
10276         * range.h (range_true_and_false): Special case 1-bit signed types.
10277         * value-range.cc (range_tests_misc): New test.
10279 2022-10-19  LIU Hao  <lh_mouse@126.com>
10281         * config/i386/mingw-mcfgthread.h: New file
10282         * config/i386/mingw32.h: Add builtin macro and default libraries
10283         for mcfgthread when thread model is `mcf`
10284         * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
10285         is `mcf`
10286         * configure.ac: Recognize `mcf` as a valid thread model
10287         * config.in: Regenerate
10288         * configure: Regenerate
10290 2022-10-19  Lewis Hyatt  <lhyatt@gmail.com>
10292         * gengtype.cc (output_escaped_param): Add missing const.
10293         (get_string_option): Add missing check for option type.
10294         (walk_type): Support new "string_length" GTY option.
10295         (write_types_process_field): Likewise.
10296         * ggc-common.cc (gt_pch_note_object): Add optional length argument.
10297         * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
10298         (gt_pch_n_S2): Declare...
10299         * stringpool.cc (gt_pch_n_S2): ...new function.
10300         * doc/gty.texi: Document new GTY((string_length)) option.
10302 2022-10-19  Martin Liska  <mliska@suse.cz>
10304         * doc/extend.texi: Remove useless @tie{} directives.
10306 2022-10-19  Martin Jambor  <mjambor@suse.cz>
10308         PR tree-optimization/107206
10309         * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
10310         (analyze_access_subtree): Do not create replacements for accesses with
10311         this flag when not toally scalarizing.
10312         (propagate_subaccesses_from_lhs): Set the new flag.
10314 2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
10316         PR target/106355
10317         * config/s390/s390.cc (s390_call_saved_register_used): For a
10318         parameter with BLKmode fix determining number of consecutive
10319         registers.
10321 2022-10-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
10323         * config/xtensa/xtensa-protos.h
10324         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
10325         * config/xtensa/xtensa.cc
10326         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
10327         New functions.
10328         (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
10329         (xt_true_regnum): Rework.
10330         * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
10331         Switch from CALL_USED_REGISTERS, and revise the comment.
10332         * config/xtensa/constraints.md (Y):
10333         Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
10334         * config/xtensa/predicates.md (move_operand): Ditto.
10335         * config/xtensa/xtensa.md: Add two new split patterns:
10336         - splits DImode immediate load into two SImode ones
10337         - puts out-of-constraint SImode constants into the constant pool
10338         * config/xtensa/xtensa.opt (-mlra): New target-specific option
10339         for testing purpose.
10341 2022-10-19  Robin Dapp  <rdapp@linux.ibm.com>
10343         * config/s390/s390.md: Move reload_completed and check operands for REG_P.
10345 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
10347         PR middle-end/107262
10348         * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
10349         of constants, use simplify_unary_operation if fromi has VOIDmode
10350         instead of recursive convert_mode_scalar.
10352 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
10354         PR tree-optimization/106990
10355         * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
10356         !TYPE_OVERFLOW_SANITIZED (type).
10358 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
10360         * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
10361         (ix86_bf16_type_node): New variable.
10362         (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
10363         from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
10364         rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
10365         to bfloat16_type_node.  Register __bf16 on ix86_bf16_type_node
10366         rather than bfloat16_type_node.  Don't initialize unused
10367         ix86_bf16_ptr_type_node.
10368         * config/i386/i386-builtin-types.def (BFLOAT16): Use
10369         ix86_bf16_type_node rather than bfloat16_type_node.
10371 2022-10-19  Richard Biener  <rguenther@suse.de>
10373         PR tree-optimization/106781
10374         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
10375         LHS removal from fixup_noreturn_call.
10377 2022-10-19  liuhongt  <hongtao.liu@intel.com>
10379         PR target/107271
10380         * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
10381         (expand_vec_perm_shufps_shufps): Call
10382         ix86_vec_perm_index_canon
10384 2022-10-18  Martin Jambor  <mjambor@suse.cz>
10386         * ipa-prop.h (ipa_agg_value): Remove type.
10387         (ipa_agg_value_set): Likewise.
10388         (ipa_copy_agg_values): Remove function.
10389         (ipa_release_agg_values): Likewise.
10390         (ipa_auto_call_arg_values) Add a forward declaration.
10391         (ipa_call_arg_values): Likewise.
10392         (class ipa_argagg_value_list): New constructors, added member function
10393         value_for_index_p.
10394         (class ipa_auto_call_arg_values): Removed the destructor and member
10395         function safe_aggval_at.  Use ipa_argagg_values for m_known_aggs.
10396         (class ipa_call_arg_values): Removed member function safe_aggval_at.
10397         Use ipa_argagg_values for m_known_aggs.
10398         (ipa_get_indirect_edge_target): Removed declaration.
10399         (ipa_find_agg_cst_for_param): Likewise.
10400         (ipa_find_agg_cst_from_init): New declaration.
10401         (ipa_agg_value_from_jfunc): Likewise.
10402         (ipa_agg_value_set_from_jfunc): Removed declaration.
10403         (ipa_push_agg_values_from_jfunc): New declaration.
10404         * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
10405         ipa_agg_value_from_jfunc, made public.
10406         (ipa_agg_value_set_from_jfunc): Removed.
10407         (ipa_push_agg_values_from_jfunc): New function.
10408         (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
10409         avs for this purpose too.
10410         (ipa_get_indirect_edge_target): Removed the overload working on
10411         ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
10412         one.
10413         (devirtualization_time_bonus): Use ipa_argagg_value_list and
10414         ipa_get_indirect_edge_target_1 instead of
10415         ipa_get_indirect_edge_target.
10416         (context_independent_aggregate_values): Removed function.
10417         (gather_context_independent_values): Work on ipa_argagg_value_list.
10418         (estimate_local_effects): Likewise, define some iterator variables
10419         only in the construct where necessary.
10420         (ipcp_discover_new_direct_edges): Adjust the call to
10421         ipa_get_indirect_edge_target_1.
10422         (push_agg_values_for_index_from_edge): Adjust the call
10423         ipa_agg_value_from_node which has been renamed to
10424         ipa_agg_value_from_jfunc.
10425         * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
10426         ipa_argagg_value_list.
10427         (evaluate_properties_for_edge): Replace manual filling in aggregate
10428         values with call to ipa_push_agg_values_from_jfunc.
10429         (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
10430         (ipa_cached_call_context::duplicate_from): Likewise.
10431         (ipa_cached_call_context::release): Likewise.
10432         (ipa_call_context::equal_to): Likewise.
10433         * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
10434         (ipa_find_agg_cst_for_param): Removed function.
10435         (ipa_find_agg_cst_from_jfunc_items): New function.
10436         (try_make_edge_direct_simple_call): Replace calls to
10437         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
10438         ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
10439         (try_make_edge_direct_virtual_call): Replace calls to
10440         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
10441         simple query of constant jump function and a call to
10442         ipa_find_agg_cst_from_jfunc_items.
10443         (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
10445 2022-10-18  Martin Jambor  <mjambor@suse.cz>
10447         * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
10448         (ipcp_transformation): Added forward declaration.
10449         (ipa_argagg_value): New type.
10450         (ipa_argagg_value_list): New type.
10451         (ipa_agg_replacement_value): Removed type.
10452         (ipcp_transformation): Switch from using ipa_agg_replacement_value
10453         to ipa_argagg_value_list.
10454         (ipa_get_agg_replacements_for_node): Removed.
10455         (ipa_dump_agg_replacement_values): Removed declaration.
10456         * ipa-cp.cc: Define INCLUDE_ALGORITHM.
10457         (values_equal_for_ipcp_p): Moved up in the file.
10458         (ipa_argagg_value_list::dump): New function.
10459         (ipa_argagg_value_list::debug): Likewise.
10460         (ipa_argagg_value_list::get_elt): Likewise.
10461         (ipa_argagg_value_list::get_elt_for_index): Likewise.
10462         (ipa_argagg_value_list::get_value): New overloaded functions.
10463         (ipa_argagg_value_list::superset_of_p): New function.
10464         (new ipa_argagg_value_list::push_adjusted_values): Likewise.
10465         (push_agg_values_from_plats): Likewise.
10466         (intersect_argaggs_with): Likewise.
10467         (get_clone_agg_value): Removed.
10468         (ipa_agg_value_from_node): Make last parameter const, use
10469         ipa_argagg_value_list to search values coming from clones.
10470         (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
10471         values coming from clones.
10472         (ipcp_discover_new_direct_edges): Pass around a vector of
10473         ipa_argagg_values rather than a link list of replacement values.
10474         (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
10475         values coming from clones.
10476         (create_specialized_node): Work with a vector of ipa_argagg_values
10477         rather than a link list of replacement values.
10478         (self_recursive_agg_pass_through_p): Make the pointer parameters
10479         const.
10480         (copy_plats_to_inter): Removed.
10481         (intersect_with_plats): Likewise.
10482         (agg_replacements_to_vector): Likewise.
10483         (intersect_with_agg_replacements): Likewise.
10484         (intersect_aggregates_with_edge): Likewise.
10485         (push_agg_values_for_index_from_edge): Likewise.
10486         (push_agg_values_from_edge): Likewise.
10487         (find_aggregate_values_for_callers_subset): Rewrite.
10488         (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
10489         (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
10490         aggregate values.
10491         (decide_about_value): Work with a vector of ipa_argagg_values rather
10492         than a link list of replacement values.
10493         (decide_whether_version_node): Likewise.
10494         (ipa_analyze_node): Check number of parameters, assert that there
10495         are no descriptors when bailing out.
10496         * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
10497         ipa_argagg_value.
10498         (ipa_node_params_t::duplicate): Removed superfluous handling of
10499         ipa_agg_replacement_values.  Name of src parameter removed because
10500         it is no longer used.
10501         (ipcp_transformation_t::duplicate): Replaced duplication of
10502         ipa_agg_replacement_values with copying vector m_agg_values.
10503         (ipa_dump_agg_replacement_values): Removed.
10504         (write_ipcp_transformation_info): Stream the new data-structure
10505         instead of the old.
10506         (read_ipcp_transformation_info): Likewise.
10507         (adjust_agg_replacement_values): Work with ipa_argagg_values instead
10508         of linked lists of ipa_agg_replacement_values, copy the items and
10509         truncate the vector as necessary to keep it sorted instead of marking
10510         items as invalid.  Return one bool if CFG should be updated.
10511         (ipcp_modif_dom_walker): Store ipcp_transformation instead of
10512         linked list of ipa_agg_replacement_values.
10513         (ipcp_modif_dom_walker::before_dom_children): Use
10514         ipa_argagg_value_list instead of walking a list of
10515         ipa_agg_replacement_values.
10516         (ipcp_transform_function): Switch to the new data structure, adjust
10517         dumping.
10519 2022-10-18  Richard Biener  <rguenther@suse.de>
10521         PR tree-optimization/107302
10522         * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
10523         placement for a PHI latch def.
10525 2022-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10527         PR tree-optimization/107275
10528         * tree-if-conv.cc (if_convertible_loop_p_1): Move
10529         find_data_references_in_loop call from here...
10530         (if_convertible_loop_p): And move data-reference vector initialization
10531         from here...
10532         (tree_if_conversion):... to here.
10534 2022-10-18  Jakub Jelinek  <jakub@redhat.com>
10536         PR c++/106654
10537         * gimple.def (GIMPLE_ASSUME): New statement kind.
10538         * gimple.h (struct gimple_statement_assume): New type.
10539         (is_a_helper <gimple_statement_assume *>::test,
10540         is_a_helper <const gimple_statement_assume *>::test): New.
10541         (gimple_build_assume): Declare.
10542         (gimple_has_substatements): Return true for GIMPLE_ASSUME.
10543         (gimple_assume_guard, gimple_assume_set_guard,
10544         gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
10545         New inline functions.
10546         * gsstruct.def (GSS_ASSUME): New.
10547         * gimple.cc (gimple_build_assume): New function.
10548         (gimple_copy): Handle GIMPLE_ASSUME.
10549         * gimple-pretty-print.cc (dump_gimple_assume): New function.
10550         (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
10551         * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
10552         * omp-low.cc (WALK_SUBSTMTS): Likewise.
10553         (lower_omp_1): Likewise.
10554         * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
10555         Likewise.
10556         * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
10557         * function.h (struct function): Add assume_function bitfield.
10558         * gimplify.cc (gimplify_call_expr): If the assumption isn't
10559         simple enough, expand it into GIMPLE_ASSUME wrapped block or
10560         for -O0 drop it.
10561         * gimple-low.cc: Include attribs.h.
10562         (create_assumption_fn): New function.
10563         (struct lower_assumption_data): New type.
10564         (find_assumption_locals_r, assumption_copy_decl,
10565         adjust_assumption_stmt_r, adjust_assumption_stmt_op,
10566         lower_assumption): New functions.
10567         (lower_stmt): Handle GIMPLE_ASSUME.
10568         * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
10569         IFN_ASSUME calls.
10570         * lto-streamer-out.cc (output_struct_function_base): Pack
10571         assume_function bit.
10572         * lto-streamer-in.cc (input_struct_function_base): And unpack it.
10573         * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
10574         has TREE_ASM_WRITTEN set and don't release its body.
10575         (symbol_table::compile): Allow assume functions not to have released
10576         body.
10577         * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
10578         * passes.cc (execute_one_pass): For TODO_discard_function don't
10579         release body of assume functions.
10580         * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
10581         of PROP_assumptions_done functions.
10582         * tree-pass.h (PROP_assumptions_done): Define.
10583         (TODO_discard_function): Adjust comment.
10584         (make_pass_assumptions): Declare.
10585         * passes.def (pass_assumptions): Add.
10586         * timevar.def (TV_TREE_ASSUMPTIONS): New.
10587         * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
10588         * tree-vrp.cc (pass_data_assumptions): New variable.
10589         (pass_assumptions): New class.
10590         (make_pass_assumptions): New function.
10592 2022-10-18  Richard Biener  <rguenther@suse.de>
10594         PR tree-optimization/107301
10595         * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
10596         Check whether we can duplicate the block.
10597         (find_implicit_erroneous_behavior): Likewise.
10599 2022-10-18  Andrew MacLeod  <amacleod@redhat.com>
10601         PR tree-optimization/107273
10602         * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
10603         instead of copying precison of each member.
10605 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
10607         PR target/101697
10608         * config/h8300/combiner.md: Replace '<' preincment constraint with
10609         ZA/Z1..ZH/Z7 combinations.
10610         * config/h8300/movepush.md: Similarly
10612 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
10614         * config/h8300/constraints.md (Za..Zh): New constraints for
10615         autoinc addresses using a specific register.
10616         * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
10617         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
10619 2022-10-17  Jeff Law  <jlaw@ventanamicro.com>
10621         * config/i386/cet.c: Remove accidental commit.
10622         * config/i386/driver-mingw32.c: Likewise.
10623         * config/i386/i386-builtins.c: Likewise.
10624         * config/i386/i386-d.c:  Likewise.
10625         * config/i386/i386-expand.c: Likewise.
10626         * config/i386/i386-features.c: Likewise.
10627         * config/i386/i386-options.c: Likewise.
10628         * config/i386/t-cet: Likewise.
10629         * config/i386/x86-tune-sched-atom.c: Likewise.
10630         * config/i386/x86-tune-sched-bd.c: Likewise.
10631         * config/i386/x86-tune-sched-core.c: Likewise.
10632         * config/i386/x86-tune-sched.c: Likewise.
10634 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
10636         * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
10637         Enable redundant extension elimination at -O2 and above.
10638         * config/i386/cet.c: New file.
10639         * config/i386/driver-mingw32.c: New file.
10640         * config/i386/i386-builtins.c: New file.
10641         * config/i386/i386-d.c: New file.
10642         * config/i386/i386-expand.c: New file.
10643         * config/i386/i386-features.c: New file.
10644         * config/i386/i386-options.c: New file.
10645         * config/i386/t-cet: New file.
10646         * config/i386/x86-tune-sched-atom.c: New file.
10647         * config/i386/x86-tune-sched-bd.c: New file.
10648         * config/i386/x86-tune-sched-core.c: New file.
10649         * config/i386/x86-tune-sched.c: New file.
10651 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
10653         * config/h8300/extensions.md (CCZN setting zero extended load): Add
10654         missing splitter.
10656 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
10658         PR tree-optimization/107293
10659         * tree-ssa-dom.cc
10660         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
10661         Check that condition post-dominates the definition point.
10663 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
10665         PR tree-optimization/107286
10666         * value-range.cc (range_tests_floats): Do not test for -Inf when
10667         flag_finite_math_only.
10669 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
10671         * gimple-range-fold.cc (fold_using_range::range_of_range_op):
10672         Provide relation_trio class.
10673         * gimple-range-gori.cc (gori_compute::refine_using_relation):
10674         Provide relation_trio class.
10675         (gori_compute::refine_using_relation): Ditto.
10676         (gori_compute::compute_operand1_range): Provide lhs_op2 and
10677         op1_op2 relations via relation_trio class.
10678         (gori_compute::compute_operand2_range): Ditto.
10679         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
10680         relation_trio instead of relation_kind.
10681         (gimple_range_op_handler::calc_op2): Ditto.
10682         (*::fold_range): Ditto.
10683         * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
10684         (gimple_range_op::calc_op2): Adjust prototypes.
10685         * range-op-float.cc (*::fold_range): Use relation_trio instead of
10686         relation_kind.
10687         (*::op1_range): Ditto.
10688         (*::op2_range): Ditto.
10689         * range-op.cc (*::fold_range): Use relation_trio instead of
10690         relation_kind.
10691         (*::op1_range): Ditto.
10692         (*::op2_range): Ditto.
10693         * range-op.h (class range_operator): Adjust prototypes.
10694         (class range_operator_float): Ditto.
10695         (class range_op_handler): Adjust prototypes.
10696         (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
10697         * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
10698         the enum.
10699         (relation_oracle::validate_relation): Use relation_trio in call
10700         to fold_range.
10701         * value-relation.h (enum relation_kind_t): Add VREL_LAST as
10702         final element.
10703         (class relation_trio): New.
10704         (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
10706 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
10708         * range-op-float.cc (foperator_not_equal::op1_range): Check for
10709         VREL_EQ after singleton.
10710         (foperator_unordered::op1_range): Set VARYING before calling
10711         clear_nan().
10712         (foperator_ordered::op1_range): Set rather than clear NAN if both
10713         operands are the same.
10715 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
10717         * value-relation.cc (value_relation::dump): Change message.
10718         * value-relation.h (value_relation::set_relation): If op1 is the
10719         same as op2 do not create a relation.
10721 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
10723         * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
10724         'case QImode:', etc.
10726 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
10728         * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
10730 2022-10-17  Richard Biener  <rguenther@suse.de>
10731             Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10733         PR tree-optimization/99409
10734         PR tree-optimization/99394
10735         * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
10736         (stmt_vec_info_type::recurr_info_type): Likewise.
10737         (vectorizable_recurr): New function.
10738         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
10739         function.
10740         (vect_analyze_scalar_cycles_1): Look for first order
10741         recurrences.
10742         (vect_analyze_loop_operations): Handle them.
10743         (vect_transform_loop): Likewise.
10744         (vectorizable_recurr): New function.
10745         (maybe_set_vectorized_backedge_value): Handle the backedge value
10746         setting in the first order recurrence PHI and the permutes.
10747         * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
10748         recurrences.
10749         (vect_transform_stmt): Likewise.
10750         (vect_is_simple_use): Likewise.
10751         (vect_is_simple_use): Likewise.
10752         * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
10753         (vect_build_slp_tree_2): Likewise.
10754         (vect_schedule_scc): Handle the backedge value setting in the
10755         first order recurrence PHI and the permutes.
10757 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10759         * config/riscv/t-riscv: Change Tab into 2 space.
10761 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10763         * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
10765 2022-10-17  Arsen Arsenovic  <arsen@aarsen.me>
10767         * config.gcc: --target=*-elf --without-{newlib,headers} should
10768         provide stdint.h.
10770 2022-10-17  Hu, Lin1  <lin1.hu@intel.com>
10772         * common/config/i386/cpuinfo.h:
10773         (get_intel_cpu): Handle Meteorlake.
10774         * common/config/i386/i386-common.cc:
10775         (processor_alias_table): Add Meteorlake.
10777 2022-10-17  Haochen Jiang  <haochen.jiang@intel.com>
10779         * common/config/i386/cpuinfo.h:
10780         (get_intel_cpu): Handle Raptorlake.
10781         * common/config/i386/i386-common.cc:
10782         (processor_alias_table): Add Raptorlake.
10784 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
10786         * config/h8300/constraints.md (Z0..Z7): New register
10787         constraints.
10788         * config/h8300/h8300.h (reg_class): Add new classes.
10789         (REG_CLASS_NAMES): Similarly.
10790         (REG_CLASS_CONTENTS): Similarly.
10792 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
10794         * config/h8300/constraints.md (Zz constraint): Renamed
10795         from "z".
10796         * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
10797         constraint to use Zz instead of Z.
10799 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
10801         * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
10803 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10805         * value-range.cc (frange::set): Implement distinction between
10806         HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
10808 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10810         * gimple-range-op.cc (class cfn_copysign): New.
10811         (gimple_range_op_handler::maybe_builtin_call): Add
10812         CFN_BUILT_IN_COPYSIGN*.
10814 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10816         * real.h (real_isdenormal): Check rvc_normal.
10817         * value-range.cc (range_tests_floats): New test.
10819 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10821         * gimple-range-op.cc
10822         (gimple_range_op_handler::maybe_builtin_call): Replace
10823         CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
10825 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10827         * value-range.cc (frange::set): Normalize ranges for both bounds.
10829 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10831         * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
10833 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
10835         * gimple-range-op.cc
10836         (gimple_range_op_handler::maybe_builtin_call): Add
10837         CFN_BUILT_IN_SIGNBIT[FL]* entries.
10839 2022-10-14  Richard Biener  <rguenther@suse.de>
10841         PR tree-optimization/107254
10842         * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
10843         For permutes also analyze live lanes.
10844         (vect_schedule_slp_node): For permutes also code generate
10845         live lane extracts.
10847 2022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
10849         PR target/107248
10850         * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
10851         blockage for leaf functions.
10852         (sparc_flat_expand_prologue): Emit frame instead of full blockage.
10853         (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
10854         (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
10856 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
10858         * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
10859         * tree.h (bfloat16_type_node): Define.
10860         * tree.cc (excess_precision_type): Promote bfloat16_type_mode
10861         like float16_type_mode.
10862         (build_common_tree_nodes): Initialize bfloat16_type_node if
10863         BFmode is supported.
10864         * expmed.h (maybe_expand_shift): Declare.
10865         * expmed.cc (maybe_expand_shift): No longer static.
10866         * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
10867         conversions.  If there is no optab, handle BF -> {DF,XF,TF,HF}
10868         conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
10869         -ffast-math generic implementation for BF -> SF and SF -> BF
10870         conversions.
10871         * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
10872         * builtins.def (BUILT_IN_NANSF16B): New builtin.
10873         * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
10874         * config/i386/i386.cc (classify_argument): Handle E_BCmode.
10875         (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
10876         for -msse2.
10877         (ix86_mangle_type): Mangle BFmode as DF16b.
10878         (ix86_invalid_conversion, ix86_invalid_unary_op,
10879         ix86_invalid_binary_op): Remove.
10880         (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
10881         TARGET_INVALID_BINARY_OP): Don't redefine.
10882         * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
10883         (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
10884         ix86_bf16_type_node, only create it if still NULL.
10885         * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
10886         * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
10888 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
10890         PR middle-end/323
10891         PR c++/107097
10892         * doc/invoke.texi (-fexcess-precision=standard): Mention that the
10893         option now also works in C++.
10895 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
10897         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
10898         early for calls made from thunks.
10900 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
10902         * expr.cc (emit_group_stote): Fix handling of modes of different
10903         sizes for big-endian targets in latest change and add commentary.
10905 2022-10-13  Martin Liska  <mliska@suse.cz>
10907         * output.h (assemble_vtv_preinit_initializer): Remove.
10908         * varasm.cc (assemble_vtv_preinit_initializer): Remove.
10910 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
10912         PR tree-optimization/102540
10913         PR tree-optimization/102872
10914         * gimple-range-cache.cc (ranger_cache::fill_block_cache):
10915         Handle partial equivs.
10916         (ranger_cache::range_from_dom): Cleanup dump output.
10918 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
10920         * range-op.cc (operator_cast::lhs_op1_relation): New.
10921         (operator_bitwise_and::lhs_op1_relation): New.
10923 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
10925         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
10926         iterator.
10927         * value-relation.cc
10928         (equiv_relation_iterator::equiv_relation_iterator): New.
10929         (equiv_relation_iterator::next): New.
10930         (equiv_relation_iterator::get_name): New.
10931         * value-relation.h (class relation_oracle): Privatize some methods.
10932         (class equiv_relation_iterator): New.
10933         (FOR_EACH_EQUIVALENCE): New.
10934         (FOR_EACH_PARTIAL_EQUIV): New.
10935         (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
10937 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
10939         * value-relation.cc (equiv_chain::dump): Don't print empty
10940         equivalences.
10941         (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
10942         (equiv_oracle::~equiv_oracle): Release the partial equiv table.
10943         (equiv_oracle::add_partial_equiv): New.
10944         (equiv_oracle::partial_equiv_set): New.
10945         (equiv_oracle::partial_equiv): New.
10946         (equiv_oracle::query_relation): Check for partial equivs too.
10947         (equiv_oracle::dump): Also dump partial equivs.
10948         (dom_oracle::register_relation): Handle partial equivs.
10949         (dom_oracle::query_relation): Check for partial equivs.
10950         * value-relation.h (enum relation_kind_t): Add partial equivs.
10951         (relation_partial_equiv_p): New.
10952         (relation_equiv_p): New.
10953         (class pe_slice): New.
10954         (class equiv_oracle): Add prototypes.
10955         (pe_to_bits): New.
10956         (bits_to_pe): New.
10957         (pe_min): New.
10959 2022-10-13  Richard Biener  <rguenther@suse.de>
10961         PR tree-optimization/107247
10962         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
10963         Reduce multi vector SLP reduction accumulators.  Check
10964         the adjusted number of accumulator vectors against
10965         one for the re-use in the epilogue.
10967 2022-10-13  Jakub Jelinek  <jakub@redhat.com>
10969         * genmodes.cc (emit_mode_wider): Emit previous content of
10970         mode_wider array into mode_next array and for mode_wider
10971         emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
10972         otherwise skip through modes with the same precision.
10973         * machmode.h (mode_next): Declare.
10974         (GET_MODE_NEXT_MODE): New inline function.
10975         (mode_iterator::get_next, mode_iterator::get_known_next): New
10976         function templates.
10977         (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
10978         (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
10979         (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
10980         (FOR_EACH_WIDER_MODE_FROM): Define.
10981         (FOR_EACH_NEXT_MODE): Define.
10982         * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
10983         instead of FOR_EACH_MODE_FROM.
10984         * optabs.cc (prepare_cmp_insn): Likewise.  Remove redundant
10985         !CLASS_HAS_WIDER_MODES_P check.
10986         (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
10987         FOR_EACH_MODE_FROM.
10988         * config/i386/i386-expand.cc (get_mode_wider_vector): Use
10989         GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
10991 2022-10-13  Wilco Dijkstra  <wdijkstr@arm.com>
10993         PR target/105773
10994         * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
10995         GT/LE for merging compare with zero into AND.
10996         (aarch64_get_condition_code_1): Add CC_NZVmode support.
10997         * config/aarch64/aarch64-modes.def: Add CC_NZV.
10998         * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
11000 2022-10-13  Richard Biener  <rguenther@suse.de>
11002         PR tree-optimization/107160
11003         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
11004         Do not register accumulator if we failed to reduce it
11005         to a single vector.
11007 2022-10-13  Aldy Hernandez  <aldyh@redhat.com>
11009         * range-op-float.cc (range_operator_float::op1_op2_relation): New.
11010         (class foperator_equal): Add using.
11011         (class foperator_not_equal): Same.
11012         (class foperator_lt): Same.
11013         (class foperator_le): Same.
11014         (class foperator_gt): Same.
11015         (class foperator_ge): Same.
11016         * range-op.cc (range_op_handler::op1_op2_relation): New.
11017         * range-op.h (range_operator_float::op1_op2_relation): New.
11019 2022-10-13  Richard Biener  <rguenther@suse.de>
11021         * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
11022         * match.pd: Replace 'return' statements in with expressions
11023         with appropriate variants.
11025 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11027         PR tree-optimization/107229
11028         * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
11030 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11032         PR tree-optimization/107226
11033         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
11034         BITFIELD_REF's with non integral typed first operands.
11036 2022-10-13  Joseph Myers  <joseph@codesourcery.com>
11038         * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
11039         (LDBL_IS_IEC_60559): Update comment.
11041 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11043         * range-op-float.cc (class foperator_negate): New.
11044         (floating_op_table::floating_op_table): Add NEGATE_EXPR
11045         (range_op_float_tests): Add negate tests.
11047 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11049         * config/riscv/riscv-vector-builtins.h: Remove unused macro.
11051 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11053         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
11054         clang-format.
11055         (add_vector_type_attribute): Ditto.
11056         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
11057         clang-format.
11058         * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
11059         clang-format.
11061 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11063         * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
11064         vector types.
11065         (build_const_pointer): New function.
11066         (register_builtin_type): Ditto.
11067         (DEF_RVV_TYPE): Simplify macro.
11068         (register_vector_type): Refine implementation.
11069         * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
11071 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11073         * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
11074         this to ....
11075         * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
11076         here.
11078 2022-10-12  Cui,Lili  <lili.cui@intel.com>
11080         * config/i386/driver-i386.cc (host_detect_local_cpu):
11081         Move sapphirerapids out of AVX512_VP2INTERSECT.
11082         * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
11083         * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
11085 2022-10-12  Martin Liska  <mliska@suse.cz>
11087         * gcov-io.cc (gcov_write_summary): Rename to ...
11088         (gcov_write_object_summary): ... this.
11089         * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
11090         (GCOV_TAG_SUMMARY_LENGTH): ... this.
11092 2022-10-12  Martin Liska  <mliska@suse.cz>
11094         * configure: Regenerate.
11096 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11098         * range-op-float.cc (frange_float): New.
11099         (range_op_float_tests): New.
11100         * range-op.cc (range_op_tests): Call range_op_float_tests.
11102 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11104         * value-range.h (frange::nan_signbit_p): New.
11106 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11108         * value-range.cc (frange::set_nonnegative): Pass bool to
11109         update_nan.
11110         * value-range.h: Disallow conversion to bool in update_nan().
11112 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11114         * value-range.h (frange::frange): Add constructor taking type.
11116 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11118         * range-op-float.cc: Add relation_kind = VREL_VARYING to all
11119         methods.
11121 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11123         * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
11124         calling tracer.trailer().
11126 2022-10-11  Jakub Jelinek  <jakub@redhat.com>
11128         PR target/107185
11129         * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
11130         MASK_REGNO_P (REGNO (x)).
11132 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11134         * range-op-float.cc (class foperator_abs): New.
11135         (floating_op_table::floating_op_table): Add ABS_EXPR entry.
11137 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11139         * range-op-float.cc (foperator_unordered_le::op1_range): New.
11140         (foperator_unordered_le::op2_range): New.
11141         (foperator_unordered_gt::op1_range): New.
11142         (foperator_unordered_gt::op2_range): New.
11143         (foperator_unordered_ge::op1_range): New.
11144         (foperator_unordered_ge::op2_range): New.
11145         (foperator_unordered_equal::op1_range): New.
11147 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11149         * range-op-float.cc (class foperator_unordered_lt): New.
11150         (class foperator_relop_unknown): Remove
11151         (class foperator_unordered_le): New.
11152         (class foperator_unordered_gt): New.
11153         (class foperator_unordered_ge): New.
11154         (class foperator_unordered_equal): New.
11155         (floating_op_table::floating_op_table): Replace all UN_EXPR
11156         entries with their appropriate fop_unordered_* counterpart.
11158 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11160         * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
11161         (operator_lt::op2_range): Same.
11162         (operator_le::op2_range): Same.
11163         (operator_gt::op2_range): Same.
11164         (operator_ge::op2_range): Same.
11166 2022-10-11  Richard Biener  <rguenther@suse.de>
11168         PR tree-optimization/107212
11169         * tree-vect-loop.cc (vectorizable_reduction): Make sure to
11170         set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
11171         reduction.
11172         (vectorizable_live_operation): Do not pun to the SLP
11173         node representative for reduction epilogue generation.
11175 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11177         * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
11179 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11181         * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
11182         * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
11183         (GEN_VNM): Add gathervNm_expr.
11184         (GEN_VN_NOEXEC): Add vec_seriesvNsi.
11185         (gcn_expand_vector_init): Add initialization of vectors from smaller
11186         vectors.
11188 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11190         * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
11191         * config/gcn/gcn-valu.md
11192         (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
11193         * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
11194         new overload variant.
11196 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11198         * config/gcn/gcn-valu.md
11199         (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
11200         (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
11201         * config/gcn/gcn.h (MODE_VF): New macro.
11203 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11205         * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
11206         V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
11207         V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
11208         V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
11209         V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
11210         V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
11211         (ADJUST_ALIGNMENT): Likewise.
11212         * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
11213         (gcn_full_exec_reg): Delete.
11214         (gcn_scalar_exec): Delete.
11215         (gcn_scalar_exec_reg): Delete.
11216         (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
11217         (vgpr_2reg_mode_p): Likewise.
11218         (vgpr_vector_mode_p): Use VECTOR_MODE_P.
11219         * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
11220         V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
11221         V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
11222         Add additional vector modes.
11223         (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
11224         (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
11225         Add additional vector mode mappings.
11226         (mov<mode>): Implement vector length conversions.
11227         (ldexp<mode>3<exec>): Use VnSI.
11228         (frexp<mode>_exp2<exec>): Likewise.
11229         (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
11230         (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
11231         (fold_left_plus_<mode>): Use V64_FP.
11232         (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
11233         (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
11234         (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
11235         (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
11236         (*plus_carry_dpp_shr_<mode>): Use V64_DI.
11237         (mov_from_lane63_<mode>): Use V64_2REG.
11238         * config/gcn/gcn.cc (VnMODE): New function.
11239         (gcn_can_change_mode_class): Support multiple vector sizes.
11240         (gcn_modes_tieable_p): Likewise.
11241         (gcn_operand_part): Likewise.
11242         (gcn_scalar_exec): Delete function.
11243         (gcn_scalar_exec_reg): Delete function.
11244         (gcn_full_exec): Delete function.
11245         (gcn_full_exec_reg): Delete function.
11246         (gcn_inline_fp_constant_p): Support multiple vector sizes.
11247         (gcn_fp_constant_p): Likewise.
11248         (A): New macro.
11249         (GEN_VN_NOEXEC): New macro.
11250         (GEN_VNM_NOEXEC): New macro.
11251         (GEN_VN): New macro.
11252         (GEN_VNM): New macro.
11253         (GET_VN_FN): New macro.
11254         (CODE_FOR): New macro.
11255         (CODE_FOR_OP): New macro.
11256         (gen_mov_with_exec): Delete function.
11257         (gen_duplicate_load): Delete function.
11258         (gcn_expand_vector_init): Support multiple vector sizes.
11259         (strided_constant): Likewise.
11260         (gcn_addr_space_legitimize_address): Likewise.
11261         (gcn_expand_scalar_to_vector_address): Likewise.
11262         (gcn_expand_scaled_offsets): Likewise.
11263         (gcn_secondary_reload): Likewise.
11264         (gcn_valid_cvt_p): Likewise.
11265         (gcn_expand_builtin_1): Likewise.
11266         (gcn_make_vec_perm_address): Likewise.
11267         (gcn_vectorize_vec_perm_const): Likewise.
11268         (gcn_vector_mode_supported_p): Likewise.
11269         (gcn_autovectorize_vector_modes): New hook.
11270         (gcn_related_vector_mode): Support multiple vector sizes.
11271         (gcn_expand_dpp_shr_insn): Add FIXME comment.
11272         (gcn_md_reorg): Support multiple vector sizes.
11273         (print_reg): Likewise.
11274         (print_operand): Likewise.
11275         (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
11277 2022-10-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11279         * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
11280         here...
11281         (tree_if_conversion): ... to here.  Also call bitfield lowering when
11282         appropriate.
11283         (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
11284         need to lower bitfields.
11285         (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
11286         checked earlier.
11287         (get_bitfield_rep): New function.
11288         (lower_bitfield): Likewise.
11289         (bitfields_to_lower_p): Likewise.
11290         (need_to_lower_bitfields): New global boolean.
11291         (need_to_ifcvt): Likewise.
11292         * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
11293         message.
11294         * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
11295         parameter.
11296         (vect_recog_bitfield_ref_pattern): New.
11297         (vect_recog_bit_insert_pattern): New.
11299 2022-10-11  liuhongt  <hongtao.liu@intel.com>
11301         PR target/107093
11302         * config/i386/i386.md (*notxor<mode>_1): New post_reload
11303         define_insn_and_split.
11304         (*notxorqi_1): Ditto.
11306 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11308         PR tree-optimization/107195
11309         * value-range.cc (irange::set_range_from_nonzero_bits): Set range
11310         to [0,0] when nonzero mask is 0.
11312 2022-10-11  Olivier Hainque  <hainque@adacore.com>
11314         * configure: Regenerate.
11316 2022-10-11  Olivier Hainque  <hainque@adacore.com>
11318         * config.gcc (*vxworks*): Add t-slibgcc fragment
11319         if enable_shared.
11321 2022-10-11  Olivier Hainque  <hainque@adacore.com>
11323         * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
11324         internal macros.
11325         (VXWORKS_LIBGCC_SPEC): Use them and document.
11327 2022-10-11  Martin Liska  <mliska@suse.cz>
11329         * gimple-range-op.cc: Add override keyword.
11331 2022-10-11  Eugene Rozenfeld  <erozen@microsoft.com>
11333         PR debug/107193
11334         * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
11335         out of the loop.
11337 2022-10-11  Liwei Xu  <liwei.xu@intel.com>
11338             liuhongt  <hongtao.liu@intel.com>
11340         PR tree-optimization/54346
11341         * match.pd: Merge the index of VCST then generates the new vec_perm.
11343 2022-10-11  Jeff Law  <jeffreyalaw@gmail.com>
11345         PR rtl-optimization/107182
11346         * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
11347         return, clear EDGE_CROSSING on the appropriate edge.
11349 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11351         * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
11352         from config/riscv/riscv-vector-builtins.h.
11353         (DEF_RVV_TYPE): Change USER_NAME to NAME.
11354         (register_vector_type): Change user_name to name.
11355         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
11356         USER_NAME to NAME.
11357         * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
11358         to riscv-vector-builtins.cc.
11359         (DEF_RVV_TYPE): Change USER_NAME to NAME.
11361 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11363         * config/riscv/riscv.md: Add vsetvl instruction type.
11365 2022-10-10  Nathan Sidwell  <nathan@acm.org>
11367         * common.opt (-fabi-version=): Document 18.
11368         * doc/invoke.texi (-fabi-version): Document 18.
11370 2022-10-10  Andrea Corallo  <andrea.corallo@arm.com>
11372         PR other/99723
11373         * toplev.cc (toplev::main): Don't run self tests in case of
11374         previous error.
11376 2022-10-10  Kito Cheng  <kito.cheng@sifive.com>
11378         * config/riscv/riscv-c.cc: Add newline to the end of file.
11380 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
11382         * range-op-float.cc (class foperator_identity): Make members public.
11383         (class foperator_equal): Same.
11384         (class foperator_not_equal): Same.
11385         (class foperator_lt): Same.
11386         (class foperator_le): Same.
11387         (class foperator_gt): Same.
11388         (class foperator_ge): Same.
11389         (class foperator_unordered): Same.
11390         (class foperator_ordered): Same.
11392 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
11394         * value-range.h (frange::maybe_isnan): New.
11396 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
11398         * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
11399         TRUE side for x != x.
11401 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
11403         * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
11404         operands are equal and result is TRUE.
11406 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
11408         * range.h (range_true): Return int_range<2>.
11409         (range_false): Same.
11410         (range_true_and_false): Same.
11412 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
11414         * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
11416 2022-10-10  liuhongt  <hongtao.liu@intel.com>
11418         PR target/107185
11419         * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
11420         predicate of operands[0] and operands[1].
11422 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
11424         * common/config/arc/arc-common.cc (arc_option_optimization_table):
11425         Remove Rcq and Rcw options.
11426         * config/arc/arc.opt (mRcq): Ignore option, preserve it for
11427         backwards compatibility.
11428         (mRcw): Likewise.
11429         * doc/invoke.texi (mRcw, mRcq): Update document.
11431 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
11433         * config/arc/arc.cc (arc_check_short_reg_p): New function.
11434         (arc_address_cost): Replace satisfies_constraint_Rcq with the
11435         above new function.
11436         (arc_output_addsi): Likewise.
11437         (split_addsi): Likewise.
11438         (split_subsi): Likewise.
11439         * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
11440         (movhi_insn): Likewise.
11441         (movsi_insn): Likewise.
11442         (tst_movb): Likewise.
11443         (tst): Likewise.
11444         (tst_bitfield): Likewise.
11445         (abssi2): Likewise.
11446         (addsi3_mixed): Likewise.
11447         (mulhisi3_reg): Likewise.
11448         (umulhisi3_reg): Likewise.
11449         (mulsi_600): Likewise.
11450         (mul64): Likewise.
11451         (subsi3_insn): Likewise.
11452         (bicsi3_insn): Likewise.
11453         (xorsi3): Likewise.
11454         (negsi2): Likewise.
11455         (one_cmplsi2): Likewise.
11456         (lshrsi3_insn): Likewise.
11457         (cmpsi_cc_insn_mixed): Likewise.
11458         (cmpsi_cc_zn_insn): Likewise.
11459         (btst): Likewise.
11460         (cmpsi_cc_z_insn): Likewise.
11461         (cmpsi_cc_c_insn): Likewise.
11462         (indirect_jump): Likewise.
11463         (casesi_jump): Likewise.
11464         (call_i): Likewise.
11465         (call_value_i): Likewise.
11466         (bbit): Likewise.
11467         (abssf2): Likewise.
11468         (ashlsi2_cnt1): Likewise.
11469         (lshrsi3_cnt1): Likewise.
11470         (ashrsi3_cnt1): Likewise.
11471         * config/arc/constraints.md (Rcq): Remove.
11473 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
11475         * config/arc/arc.md (smaxsi3): Remove Rcw.
11476         (sminsi3): Likewise.
11477         (addsi3_mixed): Likewise.
11478         (add_f_2): Likewise.
11479         (subsi3_insn): Likewise.
11480         (sub_f): Likewise.
11481         (sub_n): Likewise.
11482         (bset): Likewise.
11483         (bxor): Likewise.
11484         (bclr): Likewise.
11485         (bset_insn): Likewise.
11486         (bxor_insn): Likewise.
11487         (bclr_insn): Likewise.
11488         (bmsk_insn): Likewise.
11489         (bicsi3_insn): Likewise.
11490         (xorsi3): Likewise.
11491         (negsi2): Likewise.
11492         (lshrsi3_insn): Likewise.
11493         (abssf2): Likewise.
11494         (negsf2): Likewise.
11495         * config/arc/constraints.md(Rcw): Remove it.
11497 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
11499         * config/arc/arc.md(mulsi3_700): Remove Rcr.
11500         (mulsi3_highpart): Likewise.
11501         (umulsi3_highpart_i): Likewise.
11502         (umulsi3_highpart_int): Likewise.
11503         (macd): Likewise.
11504         (macdu): Likewise.
11505         * config/arc/constraints.md (Rcr): Remove it.
11507 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
11509         * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
11511 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
11513         PR target/106562
11514         * config/pru/pru-protos.h (pru_noteq_condition): New
11515         function declaration.
11516         * config/pru/pru.cc (pru_noteq_condition): New function.
11517         * config/pru/pru.md (cbranchdi4): Define new pattern.
11519 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
11521         * config/pru/pru.md (lshrdi3): New expand pattern.
11522         (ashldi3): Ditto.
11524 2022-10-09  YunQiang Su  <yunqiang.su@cipunited.com>
11526         * config.gcc: set with_arch to default_mips_arch if no defined.
11527         * config/mips/driver-native.cc (host_detect_local_cpu):
11528         try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
11529         pass -mnan=2008 if __mips_nan2008__ is defined.
11530         * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
11531         * configure.ac: detect sys/auxv.h and getauxval.
11532         * configure: regenerated.
11534 2022-10-07  Eugene Rozenfeld  <erozen@microsoft.com>
11536         * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
11537         on the same line within the same basic block.
11539 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
11541         PR tree-optimization/101836
11542         * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
11543         to determine a flexible array member reference.
11545 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
11547         * doc/extend.texi: Document strict_flex_array attribute.
11548         * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
11549         * print-tree.cc (print_node): Print new bit decl_not_flexarray.
11550         * tree-core.h (struct tree_decl_common): New bit field
11551         decl_not_flexarray.
11552         * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
11553         in new bit decl_not_flexarray.
11554         * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
11555         out new bit decl_not_flexarray.
11556         * tree.cc (array_at_struct_end_p): Update it with the new bit field
11557         decl_not_flexarray.
11558         * tree.h (DECL_NOT_FLEXARRAY): New flag.
11560 2022-10-07  Olivier Hainque  <hainque@adacore.com>
11562         * config/vxworks/_vxworks-versions.h: Use OS specific
11563         paths in #include of version.h.
11565 2022-10-07  Martin Liska  <mliska@suse.cz>
11567         * opts.cc (finish_options): Print sorry message only
11568         for -flive-patching=inline-only-static.
11570 2022-10-07  Jason Merrill  <jason@redhat.com>
11572         * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
11573         x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
11575 2022-10-07  Richard Biener  <rguenther@suse.de>
11577         PR tree-optimization/107153
11578         * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
11579         SSA form here.
11580         * tree-parloops.cc (gen_parallel_loop): Update SSA form
11581         after to-exit-first transform, no PHI insertion is necessary.
11582         (pass_parallelize_loops::execute): Force re-write of the
11583         virtual operand SSA web.
11585 2022-10-07  Jonathan Wakely  <jwakely@redhat.com>
11587         * value-range.cc (irange::irange_contains_p): Fix comment typo.
11589 2022-10-07  Eric Botcazou  <ebotcazou@adacore.com>
11591         * function.cc (thread_prologue_and_epilogue_insns): Update only
11592         entry and exit blocks when not optimizing.  Remove dead statement.
11594 2022-10-07  Aldy Hernandez  <aldyh@redhat.com>
11596         * value-range.cc (irange::irange_set): Convert nonzero mask to
11597         tree.
11598         (irange::irange_set_anti_range): Same.
11599         (irange::set): Same.
11600         (irange::verify_range): Same.
11601         (irange::contains_p): Same.
11602         (irange::invert): Same.
11603         (irange::set_range_from_nonzero_bits): Same.
11604         (irange::set_nonzero_bits): Same.
11605         (mask_to_wi): Same.
11606         (irange::intersect_nonzero_bits): Same.
11607         (irange::union_nonzero_bits): Same.
11608         * value-range.h (irange::varying_compatible_p): Same.
11609         (gt_ggc_mx): Same.
11610         (gt_pch_nx): Same.
11611         (irange::set_undefined): Same.
11612         (irange::set_varying): Same.
11614 2022-10-07  Martin Liska  <mliska@suse.cz>
11616         * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
11617         size to function parameter.
11618         (ix86_unary_operator_ok): Likewise.
11620 2022-10-07  Martin Liska  <mliska@suse.cz>
11622         * auto-profile.cc (get_inline_stack): Remove unused variable.
11624 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
11626         * ipa-prop.h (ipa_constant_data): Fix comment typo.
11627         * value-range.cc (irange::irange_contains_p): Likewise.
11628         * value-relation.cc (dom_oracle::set_one_relation): Likewise.
11629         * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
11630         * tree-inline.cc (remap_ssa_name): Likewise.
11632 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
11634         * attribs.h (is_attribute_namespace_p): New inline function.
11635         (lookup_attribute): Document meaning of ATTR_NS equal to "".
11636         * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
11637         (private_lookup_attribute): For ATTR_NS "" match either standard
11638         attribute or "gnu" namespace one.
11640 2022-10-07  Olivier Hainque  <hainque@adacore.com>
11642         * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
11643         4 to 3 for VxWorks >= 7.
11645 2022-10-07  Olivier Hainque  <hainque@adacore.com>
11647         * defaults.h (DWARF_DEFAULT_VERSION): Define if not
11648         defined already.
11649         * common.opt (gdwarf-): Use it.
11650         * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
11651         * doc/tm.texi: Update accordingly.
11652         * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
11653         * config/vxworks.cc: Remove code setting dwarf_version, now
11654         handled by the DWARF_DEFAULT_VERSION redefinition.
11656 2022-10-07  Olivier Hainque  <hainque@adacore.com>
11658         * ginclude/stddef.h: #undef offsetof before #define.
11660 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
11662         PR tree-optimization/107170
11663         * vr-values.cc (vr_values::range_of_expr):  Do not die on
11664         unsupported types.
11666 2022-10-06  Joseph Myers  <joseph@codesourcery.com>
11668         * doc/invoke.texi (-fno-asm): Update description of effects on
11669         typeof keyword.
11671 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
11673         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
11674         dependency that is a write-after-write if the access function is not
11675         affine or constant.
11677 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
11679         * df-scan.cc (df_ref_create_structure): Minor cleanup.
11681 2022-10-06  Richard Biener  <rguenther@suse.de>
11683         PR middle-end/107115
11684         * expr.cc (store_expr): Check mems_same_for_tbaa_p before
11685         eliding a seemingly redundant store.
11687 2022-10-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11689         * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
11690         New pattern.
11692 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
11694         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
11695         Ampere-1 core entry.
11697 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
11699         * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
11701 2022-10-06  Richard Biener  <rguenther@suse.de>
11703         PR tree-optimization/107107
11704         * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
11705         affect value-numbering when doing the tail merging
11706         MODIFY_EXPR lookup.
11708 2022-10-06  Claudiu Zissulescu  <claziss@synopsys.com>
11710         * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
11711         common-pave-size.
11713 2022-10-06  Jakub Jelinek  <jakub@redhat.com>
11715         PR c++/106654
11716         * internal-fn.def (ASSUME): New internal function.
11717         * internal-fn.h (expand_ASSUME): Declare.
11718         * internal-fn.cc (expand_ASSUME): Define.
11719         * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
11720         * fold-const.h (simple_condition_p): Declare.
11721         * fold-const.cc (simple_operand_p_2): Rename to ...
11722         (simple_condition_p): ... this.  Remove forward declaration.
11723         No longer static.  Adjust function comment and fix a typo in it.
11724         Adjust recursive call.
11725         (simple_operand_p): Adjust function comment.
11726         (fold_truth_andor): Adjust simple_operand_p_2 callers to call
11727         simple_condition_p.
11728         * doc/extend.texi: Document assume attribute.  Move fallthrough
11729         attribute example to its section.
11731 2022-10-06  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
11733         PR rtl-optimization/107088
11734         * cselib.cc (new_cselib_val): Skip BImode while keeping track of
11735         subvalue relations.
11737 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
11739         * value-range.cc (frange::set): Call set_nan unconditionally.
11740         (range_tests_nan): Adjust tests.
11741         (range_tests_signed_zeros): Same.
11742         (range_tests_floats): Same.
11743         * value-range.h (frange::update_nan): Guard with HONOR_NANS.
11744         (frange::set_nan): Set undefined if !HONOR_NANS.
11746 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
11748         * range-op-float.cc (foperator_lt::fold_range): Remove extra check
11749         to finite_operands_p.
11750         (foperator_le::fold_range): Same.
11751         (foperator_gt::fold_range): Same.
11752         (foperator_ge::fold_range): Same.
11754 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
11756         * value-range-pretty-print.cc (vrange_printer::print_real_value):
11757         Avoid printing INF and NAN twice.
11759 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
11761         * config/rs6000/constraints.md (wD): Delete.
11762         * doc/md.texi (Machine Constraints): Adjust.
11764 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
11766         * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
11767         define_expand.  Split the contents to...
11768         (*vsx_extract_<mode>_0): ... this.  Rewrite.
11769         (*vsx_extract_<mode>_1): ... and this.  Rewrite.
11771 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
11773         * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
11774         "wD" constraint.
11776 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
11778         PR analyzer/107060
11779         * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
11781 2022-10-05  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11783         * config.gcc: Add riscv_vector.h.
11784         * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
11785         * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
11786         (riscv_register_pragmas): Ditto.
11787         * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
11788         (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
11789         (mangle_builtin_type): Ditto.
11790         (verify_type_context): Ditto.
11791         (handle_pragma_vector): New function.
11792         * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
11793         (register_vector_type): New function.
11794         (init_builtins): Add RVV builtin types support.
11795         (handle_pragma_vector): New function.
11796         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
11797         name according to file name.
11798         (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
11799         (init_builtins): Remove declaration in riscv-vector-builtins.h.
11800         (mangle_builtin_type): Ditto.
11801         (verify_type_context): Ditto.
11802         * config/riscv/riscv.cc: Adjust for RVV builtin types support.
11803         * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
11804         * config/riscv/t-riscv: Remove redundant file including.
11805         * config/riscv/riscv_vector.h: New file.
11807 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
11809         * range-op.cc (operator_cast::fold_range): Handle truncating casts
11810         for nonzero masks.
11812 2022-10-05  Martin Liska  <mliska@suse.cz>
11814         PR c/107156
11815         * attribs.h (lookup_attribute_by_prefix): Support the attribute
11816         starting with underscore (_Noreturn).
11818 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
11820         PR tree-optimization/107052
11821         * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
11822         nonzero bit mask.
11824 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
11826         PR tree-optimization/107052
11827         * range-op.cc (operator_cast::fold_range): Set nonzero mask.
11829 2022-10-05  Eric Botcazou  <ebotcazou@adacore.com>
11831         PR tree-optimization/106698
11832         * pointer-query.cc (handle_array_ref): Fix handling of low bound.
11834 2022-10-05  Vineet Gupta  <vineetg@rivosinc.com>
11836         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
11837         Remove __riscv_cmodel_pic, that deprecated in last version.
11839 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
11841         PR analyzer/107072
11842         * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
11844 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
11846         * attribs.h (remove_attribute): Declare overload with additional
11847         attr_ns argument.
11848         (private_lookup_attribute): Declare overload with additional
11849         attr_ns and attr_ns_len arguments.
11850         (lookup_attribute): New overload with additional attr_ns argument.
11851         * attribs.cc (remove_attribute): New overload with additional
11852         attr_ns argument.
11853         (private_lookup_attribute): New overload with additional
11854         attr_ns and attr_ns_len arguments.
11856 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
11858         * attribs.cc (handle_ignored_attributes_option, decl_attributes,
11859         common_function_versions): Use auto_diagnostic_group.
11861 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
11863         * value-range.cc (irange::set_nonzero_bits): Remove assert.
11865 2022-10-04  Richard Sandiford  <richard.sandiford@arm.com>
11867         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
11868         * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
11869         * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
11870         (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
11871         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
11872         __ARM_FEATURE_RCPC when appropriate.
11874 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
11876         * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
11877         (-fopenmp-simd): Likewise; update permitted directives.
11879 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
11881         * doc/install.texi (Specific): Add missing items to bullet list.
11882         (amdgcn): Update LLVM requirements, use version not date for newlib.
11883         (nvptx): Use version not git hash for newlib.
11885 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
11887         * value-range-storage.cc (irange_storage_slot::set_irange): Remove
11888         special case.
11889         * value-range.cc (irange::irange_set): Adjust for nonzero mask
11890         being a wide int.
11891         (irange::irange_set_anti_range): Same.
11892         (irange::set): Same.
11893         (irange::verify_range): Same.
11894         (irange::legacy_equal_p): Same.
11895         (irange::operator==): Same.
11896         (irange::contains_p): Same.
11897         (irange::legacy_intersect): Same.
11898         (irange::legacy_union): Same.
11899         (irange::irange_single_pair_union): Call union_nonzero_bits.
11900         (irange::irange_union): Same.
11901         (irange::irange_intersect): Call intersect_nonzero_bits.
11902         (irange::intersect): Adjust for nonzero mask being a wide int.
11903         (irange::invert): Same.
11904         (irange::set_nonzero_bits): Same.
11905         (irange::get_nonzero_bits_from_range): New.
11906         (irange::set_range_from_nonzero_bits): New.
11907         (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
11908         int.
11909         (irange::intersect_nonzero_bits): Same.
11910         (irange::union_nonzero_bits): Same.
11911         (range_tests_nonzero_bits): Remove test.
11912         * value-range.h (irange::varying_compatible_p): Adjust for nonzero
11913         mask being a wide int.
11914         (gt_ggc_mx): Same.
11915         (gt_pch_nx): Same.
11916         (irange::set_undefined): Same.
11917         (irange::set_varying): Same.
11918         (irange::normalize_kind): Same.
11920 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
11922         PR tree-optimization/107130
11923         * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
11924         (class cfn_ffs): New.
11925         (gimple_range_op_handler::maybe_builtin_call): Separate out
11926         CASE_CFN_FFS into its own case.
11928 2022-10-03  Sergei Trofimovich  <siarheit@google.com>
11930         * config/i386/t-i386: Add build-time dependencies against
11931         i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
11932         i386-features.o.
11934 2022-10-03  Andrew Stubbs  <ams@codesourcery.com>
11936         * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
11937         operand 3.
11938         * doc/md.texi (while_ult): Document new operand 3 usage.
11939         * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
11940         maps to a non-vector mode.
11942 2022-10-03  Andrew MacLeod  <amacleod@redhat.com>
11944         PR tree-optimization/107109
11945         * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
11947 2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>
11949         * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
11950         clobber.
11951         (mve_vrev64q_m_f<mode>): Likewise.
11953 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
11955         * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
11956         (range_tests_nonzero_bits): New test.
11958 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
11960         * value-range.cc (irange::operator==): Early bail on m_num_ranges
11961         equal to 0.
11963 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
11965         * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
11966         check when comparing VR_VARYING ranges.
11968 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
11970         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
11971         incompatible ranges in ipa-prop.
11973 2022-10-02  Jakub Jelinek  <jakub@redhat.com>
11975         PR tree-optimization/107121
11976         * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
11977         DEFFERED_INIT -> DEFERRED_INIT.
11979 2022-10-02  Marc Poulhiès  <poulhies@adacore.com>
11981         * config/vxworks-driver.cc: New.
11982         * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
11983         * config/t-vxworks: Add vxworks-driver.o.
11984         * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
11986 2022-10-02  Olivier Hainque  <hainque@adacore.com>
11988         * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
11989         HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
11990         of ENABLE_SHARED_LIBGCC.
11992 2022-10-01  Stafford Horne  <shorne@gmail.com>
11994         * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
11995         HAVE_AS_TLS is defined.
11997 2022-10-01  Julian Brown  <julian@codesourcery.com>
11999         * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
12000         handling.
12002 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
12004         * config/h8300/h8300.md (HSI2): New iterator.
12005         (eqne_invert): Similarly.
12006         * config/h8300/testcompare.md (testhi_upper_z): New pattern.
12007         (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
12008         (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
12009         define_insn_and_splits and/or define_insns.
12010         (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
12011         (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
12013 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
12015         * tree-ssa-dom.cc (record_edge_info): Install correct version of
12016         patch.
12018 2022-10-01  Eugene Rozenfeld  <erozen@microsoft.com>
12020         * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
12022 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
12024         * tree-ssa-dom.cc (single_block_loop_p): New function.
12025         (record_edge_info): Also record equivalences for the outgoing
12026         edge of a single block loop where the condition is an invariant.
12028 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
12030         * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
12031         (free_all_edge_infos): Do not clear e->aux here.
12033 2022-09-30  H.J. Lu  <hjl.tools@gmail.com>
12035         * target.def (TARGET_C_EXCESS_PRECISION): Document
12036         -fexcess-precision=16.
12038 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
12040         * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
12042 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
12044         PR target/106815
12045         * config/riscv/riscv.cc (riscv_excess_precision): Add support
12046         for EXCESS_PRECISION_TYPE_FLOAT16.
12048 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
12050         PR c++/107080
12051         * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
12052         and _Float16 as DF16_.
12053         * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
12054         (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
12055         rather than mangling __fp16 as __fp16.
12057 2022-09-30  Lewis Hyatt  <lhyatt@gmail.com>
12059         PR preprocessor/69543
12060         * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
12061         information away from the diagnostic location.
12062         (maybe_warn_read_write_only): Likewise.
12063         (maybe_warn_operand): Likewise.
12065 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
12067         PR c++/107080
12068         * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
12069         as Dh and _Float16 as DF16_.
12071 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
12073         PR c++/107080
12074         * config/i386/i386.cc (ix86_mangle_type): Always return NULL
12075         for float128_type_node or float64x_type_node, don't check
12076         float128t_type_node later on.
12077         * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
12078         for float128_type_node or float64x_type_node.
12079         * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
12080         Don't check float128_type_node later on.
12081         * config/s390/s390.cc (s390_mangle_type): Don't use
12082         TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
12083         a few lines earlier.
12085 2022-09-30  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
12086             Yvan ROUX   <yvan.roux@foss.st.com>
12088         * doc/sourcebuild.texi: Document new vma_equals_lma effective
12089         target check.
12091 2022-09-30  Jiawei  <jiawei@iscas.ac.cn>
12093         * config/riscv/riscv.cc (riscv_file_start): New .option.
12094         * config/riscv/riscv.opt: New options.
12095         * doc/invoke.texi: New definations.
12097 2022-09-30  Kewen Lin  <linkw@linux.ibm.com>
12099         PR target/99888
12100         PR target/105649
12101         * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
12102         documentation for PowerPC ELFv2 ABI dual entry points.
12103         * config/rs6000/rs6000-internal.h
12104         (rs6000_print_patchable_function_entry): New function declaration.
12105         * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
12106         Support patchable-function-entry by emitting nops before and after
12107         local entry for the function that needs global entry.
12108         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
12109         the function that needs global entry till global entry has been
12110         emitted.
12111         * config/rs6000/rs6000.h (struct machine_function): New bool member
12112         global_entry_emitted.
12114 2022-09-30  Richard Biener  <rguenther@suse.de>
12116         PR tree-optimization/107095
12117         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
12118         for .MASK_STORE size.
12120 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12122         * range-op.cc (plus_minus_ranges): New.
12123         (adjust_op1_for_overflow): New.
12124         (operator_plus::op1_range): Use new adjustment.
12125         (operator_plus::op2_range): Ditto.
12126         (operator_minus::op1_range): Ditto.
12127         * value-relation.h (relation_lt_le_gt_ge_p): New.
12129 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12131         * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
12132         (gori_compute::compute_operand1_range): Invoke
12133         refine_using_relation when applicable.
12134         (gori_compute::compute_operand2_range): Ditto.
12135         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
12137 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12139         * gimple-range-gori.cc (ori_compute::compute_operand_range):
12140         Create a relation record and pass it along when possible.
12141         (gori_compute::compute_operand1_range): Pass relation along.
12142         (gori_compute::compute_operand2_range): Ditto.
12143         (gori_compute::compute_operand1_and_operand2_range): Ditto.
12144         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
12145         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
12146         relation to op1_range call.
12147         (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
12148         * gimple-range-op.h (class gimple_range_op_handler): Adjust
12149         prototypes.
12151 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12153         * value-relation.cc (class value_relation): Move to .h file.
12154         (value_relation::set_relation): Ditto.
12155         (value_relation::value_relation): ditto.
12156         * value-relation.h (class value_relation): Move from .cc file.
12157         (value_relation::set_relation): Ditto
12158         (value_relation::value_relation): Ditto.
12160 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12162         * range-op.cc (operator_minus::op2_range): Check for undefined.
12163         (operator_mult::op1_range): Ditto.
12164         (operator_exact_divide::op1_range): Ditto.
12165         (operator_lshift::op1_range): Ditto.
12166         (operator_rshift::op1_range): Ditto.
12167         (operator_cast::op1_range): Ditto.
12168         (operator_bitwise_and::op1_range): Ditto.
12169         (operator_bitwise_or::op1_range): Ditto.
12170         (operator_trunc_mod::op1_range): Ditto.
12171         (operator_trunc_mod::op2_range): Ditto.
12172         (operator_bitwise_not::op1_range): Ditto.
12173         (pointer_or_operator::op1_range): Ditto.
12174         (range_op_handler::op1_range): Ditto.
12175         (range_op_handler::op2_range): Ditto.
12177 2022-09-29  Andrew Stubbs  <ams@codesourcery.com>
12179         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
12180         Remove unused elt_bits variable.
12182 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12184         * config/vxworks.h: Add comment on our use of
12185         HAVE_INITFINI_ARRAY_SUPPORT.
12187 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12189         * config/aarch64/t-aarch64-vxworks: Request multilib
12190         variants for mcmodel=large.
12192 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12194         * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
12195         resetting to 0.
12197 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12199         * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
12200         when ARM_UNWIND_INFO is set.
12202 2022-09-29  Julian Brown  <julian@codesourcery.com>
12204         PR middle-end/107028
12205         * gimplify.cc (omp_check_mapping_compatibility,
12206         oacc_resolve_clause_dependencies): New functions.
12207         (omp_accumulate_sibling_list): Remove redundant duplicate clause
12208         detection for OpenACC.
12209         (build_struct_sibling_lists): Skip deleted groups.  Don't build sibling
12210         list for struct variables that are fully mapped on the same directive
12211         for OpenACC.
12212         (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
12214 2022-09-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
12216         PR middle-end/25521
12217         * varasm.cc (categorize_decl_for_section): Place `const volatile'
12218         objects in read-only sections.
12219         (default_select_section): Likewise.
12221 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12223         * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
12224         of to_widest.
12226 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12228         * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
12229         (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
12230         (TARGET_AES, TARGET_SHA2): Likewise.  Remove TARGET_CRYPTO test.
12231         (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
12232         (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
12233         on TARGET_SVE.
12234         (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
12235         (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
12236         (TARGET_F32MM, TARGET_F64MM): Delete.
12237         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
12238         float macros with just TARGET_FLOAT rather than TARGET_FLOAT
12239         || TARGET_SIMD.
12240         * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
12241         only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
12242         (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
12243         rather than TARGET_SIMD && TARGET_AES.
12244         (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
12245         (*aarch64_crypto_aese_fused): Likewise.
12246         (*aarch64_crypto_aesd_fused): Likewise.
12247         (aarch64_crypto_pmulldi): Likewise.
12248         (aarch64_crypto_pmullv2di): Likewise.
12249         (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
12250         (aarch64_crypto_sha1hv4si): Likewise.
12251         (aarch64_be_crypto_sha1hv4si): Likewise.
12252         (aarch64_crypto_sha1su1v4si): Likewise.
12253         (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
12254         (aarch64_crypto_sha1su0v4si): Likewise.
12255         (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
12256         (aarch64_crypto_sha256su0v4si): Likewise.
12257         (aarch64_crypto_sha256su1v4si): Likewise.
12258         (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
12259         (aarch64_crypto_sha512su0qv2di): Likewise.
12260         (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
12261         (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
12262         (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
12263         (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
12264         (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
12265         (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
12266         * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
12267         (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
12268         (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
12270 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12272         * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
12273         * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
12274         (aarch64_isa_flags): Redefine as read-only macros.
12275         (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
12276         !TARGET_GENERAL_REGS_ONLY.
12277         * common/config/aarch64/aarch64-common.cc
12278         (aarch64_set_asm_isa_flags): New function.
12279         (aarch64_handle_option): Call it when updating -mgeneral-regs.
12280         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
12281         m_old_isa_flags with m_old_asm_isa_flags.
12282         (aarch64_set_asm_isa_flags): Declare.
12283         * config/aarch64/aarch64-builtins.cc
12284         (aarch64_simd_switcher::aarch64_simd_switcher)
12285         (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
12286         aarch64_asm_isa_flags instead of aarch64_isa_flags.
12287         * config/aarch64/aarch64-sve-builtins.cc
12288         (check_required_extensions): Use aarch64_asm_isa_flags instead
12289         of aarch64_isa_flags.
12290         * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
12291         (aarch64_override_options, aarch64_handle_attr_arch)
12292         (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
12293         aarch64_set_asm_isa_flags to set the ISA flags.
12294         (aarch64_option_print, aarch64_declare_function_name)
12295         (aarch64_start_file): Use aarch64_asm_isa_flags instead
12296         of aarch64_isa_flags.
12297         (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
12298         aarch64_isa_flags.
12300 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12302         * common/config/aarch64/aarch64-common.cc (all_extensions):
12303         Include the feature flag in flags_on and flags_off.
12304         (aarch64_parse_extension): Update accordingly.
12305         (aarch64_get_extension_string_for_isa_flags): Likewise.
12307 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12309         * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
12310         for feature flags throughout.
12311         * config/aarch64/aarch64-protos.h: Likewise.
12312         * config/aarch64/aarch64-sve-builtins.h: Likewise.
12313         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
12314         * config/aarch64/aarch64.cc: Likewise.
12315         * config/aarch64/aarch64.opt: Likewise.
12316         * config/aarch64/driver-aarch64.cc: Likewise.
12318 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12320         * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
12321         (processor_name_to_arch, arch_to_arch_name): Remove const from
12322         member variables.
12323         (all_extensions, all_cores, all_architectures): Make a constexpr.
12324         * config/aarch64/aarch64.cc (processor): Remove const from
12325         member variables.
12326         (all_architectures): Make a constexpr.
12327         * config/aarch64/driver-aarch64.cc (aarch64_core_data)
12328         (aarch64_arch_driver_info): Remove const from member variables.
12329         (aarch64_cpu_data, aarch64_arches): Make a constexpr.
12330         (get_arch_from_id): Return a pointer to const.
12331         (host_detect_local_cpu): Update accordingly.
12333 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12335         * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
12336         (arch_to_arch_name): Use const char * instead of std::string.
12338 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12340         * common/config/aarch64/aarch64-common.cc
12341         (TARGET_OPTION_INIT_STRUCT): Delete.
12342         (aarch64_option_extension): Remove is_synthetic_flag.
12343         (all_extensions): Update accordingly.
12344         (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
12345         (aarch64_option_init_struct, aarch64_contains_opt): Delete.
12346         (aarch64_get_extension_string_for_isa_flags): Rewrite to use
12347         all_extensions instead of all_extensions_on.
12349 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12351         * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
12352         * config/aarch64/aarch64-cores.def: Use the same format to specify
12353         lists of features.
12354         * config/aarch64/aarch64-arches.def: Likewise, moving that information
12355         from aarch64.h.
12356         * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
12357         * config/aarch64/aarch64.h (aarch64_feature): New class enum.
12358         Turn AARCH64_FL_* macros into constexprs, getting the definitions
12359         from aarch64-option-extensions.def.  Remove AARCH64_FL_FOR_* macros.
12360         * common/config/aarch64/aarch64-common.cc: Include
12361         aarch64-feature-deps.h.
12362         (all_extensions): Update for new .def format.
12363         (all_extensions_by_on, all_cores, all_architectures): Likewise.
12364         * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
12365         (aarch64_extensions): Update for new .def format.
12366         (aarch64_cpu_data, aarch64_arches): Likewise.
12367         * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
12368         (all_architectures, all_cores): Update for new .def format.
12369         * config/aarch64/aarch64-sve-builtins.cc
12370         (check_required_extensions): Likewise.
12371         * config/aarch64/aarch64-feature-deps.h: New file.
12373 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12375         * config/aarch64/aarch64-option-extensions.def: Move crypto
12376         after sha2.
12378 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12380         * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
12381         on fp as well as simd.
12382         (sha3): Likewise.
12383         (aes): Likewise.  Make +noaes disable crypto.
12384         (sha2): Likewise +nosha2.  Also make +nosha2 disable sha3 and
12385         sve2-sha3.
12386         (sve2-sha3): Depend on sha2 as well as sha3.
12388 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12390         PR target/107025
12391         * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
12392         (AARCH64_FL_FOR_V8_4A): Update accordingly.
12393         (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
12394         * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
12395         AARCH64_FL_RCPC8_4.
12397 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12399         * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
12400         from the flags field.
12401         * common/config/aarch64/aarch64-common.cc (all_cores): Add it
12402         here instead.
12403         * config/aarch64/aarch64.cc (all_cores): Likewise.
12404         * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
12406 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12408         * config.gcc: Remove dead aarch64-option-extensions.def code.
12409         * config/aarch64/aarch64-arches.def: Update comment.
12411 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12413         * config/aarch64/aarch64-arches.def: Add a leading "V" to the
12414         ARCH_IDENT fields.
12415         * config/aarch64/aarch64-cores.def: Update accordingly.
12416         * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
12417         * config/aarch64/aarch64.cc (all_cores): Likewise.
12418         * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
12419         leading "V".
12421 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12423         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
12424         (AARCH64_FL_FOR_V8A): ...this.
12425         (AARCH64_FL_FOR_ARCH8_1): Rename to...
12426         (AARCH64_FL_FOR_V8_1A): ...this.
12427         (AARCH64_FL_FOR_ARCH8_2): Rename to...
12428         (AARCH64_FL_FOR_V8_2A): ...this.
12429         (AARCH64_FL_FOR_ARCH8_3): Rename to...
12430         (AARCH64_FL_FOR_V8_3A): ...this.
12431         (AARCH64_FL_FOR_ARCH8_4): Rename to...
12432         (AARCH64_FL_FOR_V8_4A): ...this.
12433         (AARCH64_FL_FOR_ARCH8_5): Rename to...
12434         (AARCH64_FL_FOR_V8_5A): ...this.
12435         (AARCH64_FL_FOR_ARCH8_6): Rename to...
12436         (AARCH64_FL_FOR_V8_6A): ...this.
12437         (AARCH64_FL_FOR_ARCH8_7): Rename to...
12438         (AARCH64_FL_FOR_V8_7A): ...this.
12439         (AARCH64_FL_FOR_ARCH8_8): Rename to...
12440         (AARCH64_FL_FOR_V8_8A): ...this.
12441         (AARCH64_FL_FOR_ARCH8_R): Rename to...
12442         (AARCH64_FL_FOR_V8R): ...this.
12443         (AARCH64_FL_FOR_ARCH9): Rename to...
12444         (AARCH64_FL_FOR_V9A): ...this.
12445         (AARCH64_FL_FOR_ARCH9_1): Rename to...
12446         (AARCH64_FL_FOR_V9_1A): ...this.
12447         (AARCH64_FL_FOR_ARCH9_2): Rename to...
12448         (AARCH64_FL_FOR_V9_2A): ...this.
12449         (AARCH64_FL_FOR_ARCH9_3): Rename to...
12450         (AARCH64_FL_FOR_V9_3A): ...this.
12451         * common/config/aarch64/aarch64-common.cc (all_cores): Update
12452         accordingly.
12453         * config/aarch64/aarch64-arches.def: Likewise.
12454         * config/aarch64/aarch64-cores.def: Likewise.
12455         * config/aarch64/aarch64.cc (all_cores): Likewise.
12457 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12459         * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
12460         (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
12461         (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
12462         (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
12463         (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
12464         (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
12465         (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
12466         (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
12467         (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
12468         (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
12469         (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
12470         (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
12471         (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
12472         (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
12473         (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
12475 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12477         * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
12478         (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
12479         (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
12480         (AARCH64_ISA_V9_3): Add "A" to the end of the name.
12481         (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
12482         (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
12483         accordingly.
12484         * common/config/aarch64/aarch64-common.cc
12485         (aarch64_get_extension_string_for_isa_flags): Likewise.
12486         * config/aarch64/aarch64-c.cc
12487         (aarch64_define_unconditional_macros): Likewise.
12489 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12491         * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
12493 2022-09-29  Jakub Jelinek  <jakub@redhat.com>
12495         PR bootstrap/107059
12496         * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
12497         isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
12498         before FIXED_INCLUDE_DIR entry with multilib flag 0.
12499         * gcc.cc (do_spec_1): If multiarch_dir, add
12500         include-fixed/multiarch_dir paths before include-fixed paths.
12502 2022-09-29  Martin Liska  <mliska@suse.cz>
12504         PR driver/106897
12505         * common.opt: Add -gz=zstd value.
12506         * configure.ac: Detect --compress-debug-sections=zstd
12507         for both linker and assembler.
12508         * configure: Regenerate.
12509         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
12510         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
12512 2022-09-29  Richard Biener  <rguenther@suse.de>
12514         PR tree-optimization/105646
12515         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
12516         the set of fallthru reachable blocks from function entry
12517         and use that to determine wlims.always_executed.
12519 2022-09-29  liuhongt  <hongtao.liu@intel.com>
12521         PR tree-optimization/107055
12522         * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
12523         nonlinear induction variables.
12524         * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
12525         functions.
12526         (vectorizable_nonlinear_induction): Put part codes into
12527         vect_can_peel_nonlinear_iv_p.
12528         * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
12530 2022-09-28  Eugene Rozenfeld  <erozen@microsoft.com>
12532         * basic-block.h: Remove discriminator from basic blocks.
12533         * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
12534         * final.cc (final_start_function_1): Switch from per-bb to per statement
12535         discriminator.
12536         (final_scan_insn_1): Don't keep track of basic block discriminators.
12537         (compute_discriminator): Switch from basic block discriminators to
12538         instruction discriminators.
12539         (insn_discriminator): New function to return instruction discriminator.
12540         (notice_source_line): Use insn_discriminator.
12541         * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
12542         basic block discriminators.
12543         * gimple-streamer-in.cc (input_bb): Remove reading of basic block
12544         discriminators.
12545         * gimple-streamer-out.cc (output_bb): Remove writing of basic block
12546         discriminators.
12547         * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
12548         (location_with_discriminator): New function to combine locus with
12549         a discriminator.
12550         (has_discriminator): New function to check if a location has a discriminator.
12551         (get_discriminator_from_loc): New function to get the discriminator
12552         from a location.
12553         * input.h: Declarations of new functions.
12554         * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
12555         (apply_location_cache): Keep track of current discriminator.
12556         (input_location_and_block): Read discriminator from stream.
12557         * lto-streamer-out.cc (clear_line_info): Set current discriminator to
12558         UINT_MAX.
12559         (lto_output_location_1): Write discriminator to stream.
12560         * lto-streamer.h: Add discriminator to cached_location.
12561         Add current_discr to lto_location_cache.
12562         Add current_discr to output_block.
12563         * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
12564         * rtl.h: Add extern declaration of insn_discriminator.
12565         * tree-cfg.cc (assign_discriminator): New function to assign a unique
12566         discriminator value to all statements in a basic block that have the given
12567         line number.
12568         (assign_discriminators): Assign discriminators to statement locations.
12569         * tree-pretty-print.cc (dump_location): Dump discriminators.
12570         * tree.cc (set_block): Preserve discriminator when setting block.
12571         (set_source_range): Preserve discriminator when setting source range.
12573 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
12575         PR target/107061
12576         * config/i386/predicates.md (encodekey128_operation): Check
12577         XMM4-XMM6 as clobbered.
12578         (encodekey256_operation): Likewise.
12579         * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
12580         (encodekey256u32): Likewise.
12582 2022-09-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
12584         * config.gcc: Add riscv-vector-builtins.o.
12585         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
12586         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
12587         * config/riscv/riscv.cc (ENTRY): New macro.
12588         (riscv_v_ext_enabled_vector_mode_p): New function.
12589         (riscv_mangle_type): Add RVV mangle.
12590         (riscv_vector_mode_supported_p): Adjust RVV machine mode.
12591         (riscv_verify_type_context): Add context check for RVV.
12592         (riscv_vector_alignment): Add RVV alignment target hook support.
12593         (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
12594         (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
12595         (TARGET_VECTOR_ALIGNMENT): Ditto.
12596         * config/riscv/t-riscv: Add riscv-vector-builtins.o
12597         * config/riscv/riscv-vector-builtins.cc: New file.
12598         * config/riscv/riscv-vector-builtins.def: New file.
12599         * config/riscv/riscv-vector-builtins.h: New file.
12600         * config/riscv/riscv-vector-switch.def: New file.
12602 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
12604         * var-tracking.cc (vt_add_function_parameter): Add entry values
12605         up to maximal register mode.
12607 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
12609         * cselib.cc (new_cselib_val): Keep track of further subvalue
12610         relations.
12612 2022-09-28  Andrea Corallo  <andrea.corallo@arm.com>
12614         * config/arm/arm-c.cc (arm_cpu_builtins): Define
12615         __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
12617 2022-09-28  Xi Ruoyao  <xry111@xry111.site>
12619         PR tree-optimization/105414
12620         * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
12621         (UNSPEC_FMIN): Likewise.
12622         (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
12623         (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
12625 2022-09-28  Lulu Cheng  <chenglulu@loongson.cn>
12627         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
12628         Fixed typo in "asan_mapping.h".
12630 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
12632         PR middle-end/58245
12633         * calls.cc: Include "tree-eh.h".
12634         (expand_call): Check stack canary before throwing exception.
12636 2022-09-27  Eugene Rozenfeld  <erozen@microsoft.com>
12638         * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
12640 2022-09-27  Kim Kuparinen  <kim.kuparinen@rightware.com>
12642         * doc/invoke.texi: Update ABI version info.
12644 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
12646         * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
12647         singleton.
12649 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
12651         * value-range.cc (irange::set_nonzero_bits): Set range when known.
12653 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
12655         * value-range.h (irange::set): New version taking wide_int_ref.
12657 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
12659         PR tree-optimization/107029
12660         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
12661         OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
12662         signed and so can trigger even the (b % 4) == 3 case.
12664 2022-09-27  Jeff Law  <jeffreyalaw@gmail.com>
12666         * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
12667         and return are available before trying to use them.
12669 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
12671         PR c++/106652
12672         PR c++/85518
12673         * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
12674         enumerator.
12675         * tree.h (float128t_type_node): Define.
12676         * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
12677         * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
12678         _Float<N> is supported in C++ too.
12679         * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
12680         float128t_type_node.
12681         * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
12682         float128t_type_node for __float128 instead of float128_type_node
12683         and create it if NULL.
12684         * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
12685         _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
12686         0.0f.
12687         * config/ia64/ia64.cc (ia64_init_builtins): Use
12688         float128t_type_node for __float128 instead of float128_type_node
12689         and create it if NULL.
12690         * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
12691         for float128t_type_node if non-NULL.
12692         * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
12693         float128_type_node as "u9__ieee128".
12694         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
12695         float128t_type_node for __float128 instead of float128_type_node
12696         and create it if NULL.
12698 2022-09-26  Martin Liska  <mliska@suse.cz>
12700         * doc/invoke.texi: Add missing dash for
12701         Wanalyzer-exposure-through-uninit-copy.
12703 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
12705         PR tree-optimization/107009
12706         * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
12707         (range_op_bitwise_and_tests): New test.
12709 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
12711         PR tree-optimization/107009
12712         * tree-ssa-dom.cc
12713         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
12714         Iterate over exports.
12716 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
12718         * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
12719         the default.
12720         * config/nvptx/gen-multilib-matches.sh: New.
12721         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
12722         (MULTILIB_EXCEPTIONS): Handle this.
12723         * doc/install.texi (Specific) <nvptx-*-none>: Document this.
12724         * doc/invoke.texi (Nvidia PTX Options): Likewise.
12726 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
12728         * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
12729         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
12730         (MULTILIB_EXCEPTIONS): Handle it.
12732 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
12734         * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
12735         * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
12736         '-misa' appeared.
12737         * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
12738         * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
12740 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
12742         * config/nvptx/nvptx.h (ASM_SPEC): Define.
12744 2022-09-26  Jeff Law  <jeffreyalaw@gmail.com>
12746         * cfgcleanup.cc (bb_is_just_return): No longer static.
12747         * cfgcleanup.h (bb_is_just_return): Add prototype.
12748         * cfgrtl.cc (fixup_reorder_chain): Do not create an
12749         unconditional jump to a return block.  Conditionally
12750         remove unreachable blocks.
12752 2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
12754         PR middle-end/106982
12755         * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
12757 2022-09-26  Martin Liska  <mliska@suse.cz>
12759         * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
12760         and use only dst.
12762 2022-09-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12764         * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
12765         (armv9.2-a): Likewise.
12766         (armv9.3-a): Likewise.
12767         * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
12768         (AARCH64_FL_V9_2): Likewise.
12769         (AARCH64_FL_V9_3): Likewise.
12770         (AARCH64_FL_FOR_ARCH9_1): Likewise.
12771         (AARCH64_FL_FOR_ARCH9_2): Likewise.
12772         (AARCH64_FL_FOR_ARCH9_3): Likewise.
12773         (AARCH64_ISA_V9_1): Likewise.
12774         (AARCH64_ISA_V9_2): Likewise.
12775         (AARCH64_ISA_V9_3): Likewise.
12776         * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
12777         armv9.3-a values to -march.
12779 2022-09-26  Martin Liska  <mliska@suse.cz>
12781         * value-range.cc (tree_compare): Remove unused function.
12783 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
12785         PR target/96072
12786         * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
12787         condition for adding REG_CFA_DEF_CFA reg note with
12788         frame_pointer_needed_indeed.
12790 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
12792         PR target/100645
12793         * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
12794         TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
12796 2022-09-26  Hongtao Liu  <hongtao.liu@intel.com>
12797             Liwei Xu  <liwei.xu@intel.com>
12799         PR target/53346
12800         * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
12801         New function.
12802         (ix86_expand_vec_perm_const_1): Insert
12803         expand_vec_perm_shufps_shufps at the end of 2-instruction
12804         expand sequence.
12806 2022-09-25  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
12808         * doc/sourcebuild.texi: Fix chapter level.
12810 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
12812         PR c/107001
12813         * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
12814         at the end.
12815         * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
12816         is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
12817         update parent.
12818         (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
12819         cur_region back after new_omp_region.
12821 2022-09-23  Vineet Gupta  <vineetg@rivosinc.com>
12823         * config/riscv/riscv.h (LOCAL_SYM_P): New.
12824         (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
12826 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
12828         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
12829         (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
12830         (ADJUST_ALIGNMENT): Adjust alignment.
12831         (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
12832         (RVV_MODES): New macro.
12833         (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
12834         (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
12836 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
12838         * common/config/riscv/riscv-common.cc: Change "static void" to "void".
12839         * config.gcc: Add riscv-selftests.o
12840         * config/riscv/predicates.md: Allow const_poly_int.
12841         * config/riscv/riscv-protos.h (riscv_reinit): New function.
12842         (riscv_parse_arch_string): change as exten function.
12843         (riscv_run_selftests): New function.
12844         * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
12845         into const pool.
12846         (riscv_report_v_required): New function.
12847         (riscv_expand_op): New function.
12848         (riscv_expand_mult_with_const_int): New function.
12849         (riscv_legitimize_poly_move): Ditto.
12850         (riscv_legitimize_move): New function.
12851         (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
12852         vector RA.
12853         (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
12854         -marh no 'v'.
12855         (riscv_reinit): New function.
12856         (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
12857         * config/riscv/t-riscv: Add riscv-selftests.o.
12858         * config/riscv/riscv-selftests.cc: New file.
12860 2022-09-23  Richard Biener  <rguenther@suse.de>
12862         PR tree-optimization/106922
12863         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
12864         an arbitrary number of same valued skipped stores.
12866 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
12868         * value-range.cc (frange::set): Swap setters such that the one
12869         accepting REAL_VALUE_TYPE does all the work.
12871 2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12873         * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
12874         (demeter): Update tunings to neoversev2.
12875         * config/aarch64/aarch64-tune.md: Regenerate.
12876         * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
12877         neoversev2_addrcost_table.
12878         (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
12879         (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
12880         (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
12881         (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
12882         (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
12883         (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
12884         (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
12885         Update references to above.
12886         (demeter_vector_cost): Rename to neoversev2_vector_cost.
12887         (demeter_tunings): Rename to neoversev2_tunings.
12888         (aarch64_vec_op_count::rename_cycles_per_iter): Use
12889         neoversev2_sve_issue_info instead of demeter_sve_issue_info.
12890         * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
12892 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
12894         * range-op-float.cc (build_le): Use vrp_val_*.
12895         (build_lt): Same.
12896         (build_ge): Same.
12897         (build_gt): Same.
12898         * value-range.cc (frange::set): Chop ranges outside of the
12899         representable numbers for -ffinite-math-only.
12900         (frange::normalize_kind): Use vrp_val*.
12901         (frange::verify_range): Same.
12902         (frange::set_nonnegative): Same.
12903         (range_tests_floats): Remove tests that depend on -INF and +INF.
12904         * value-range.h (real_max_representable): Add prototype.
12905         (real_min_representable): Same.
12906         (vrp_val_max): Set max representable number for
12907         -ffinite-math-only.
12908         (vrp_val_min): Same but for min.
12909         (frange::set_varying): Use vrp_val*.
12911 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
12913         * real.cc (debug): New.
12915 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
12917         * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
12918         (vrange_printer::visit): Call print_real_value.
12919         * value-range-pretty-print.h: New print_real_value.
12921 2022-09-23  Martin Liska  <mliska@suse.cz>
12923         * common.opt: Update -flto-compression-level documentation.
12924         * opts.cc (print_filtered_help): Do not append range to an
12925         option that uses \t syntax.
12927 2022-09-23  Jakub Jelinek  <jakub@redhat.com>
12929         * attribs.cc (decl_attributes): Improve diagnostics, instead of
12930         saying expected between 1 and 1, found 2 just say expected 1, found 2.
12932 2022-09-23  Hu, Lin1  <lin1.hu@intel.com>
12934         PR target/94962
12935         * config/i386/constraints.md (BH): New define_constraint.
12936         * config/i386/i386.cc (standard_sse_constant_p): Add return
12937         3/4 when operand matches new predicate.
12938         (standard_sse_constant_opcode): Add new alternative branch to
12939         return "vpcmpeqd".
12940         * config/i386/predicates.md
12941         (vector_all_ones_zero_extend_half_operand): New define_predicate.
12942         (vector_all_ones_zero_extend_quarter_operand): Ditto.
12943         * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
12945 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12947         * gimple-range-fold.cc (range_of_range_op): Handle no operands.
12948         (range_of_call): Do not check for builtins.
12949         (fold_using_range::range_of_builtin_call): Delete.
12950         (fold_using_range::range_of_builtin_int_call): Delete.
12951         * gimple-range-fold.h: Adjust prototypes.
12952         * gimple-range-op.cc (class cfn_parity): New.
12953         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12955 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12957         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12958         for CFN_GOACC_DIM_*.
12959         * gimple-range-op.cc (class cfn_goacc_dim): New.
12960         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12962 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12964         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12965         for CFN_BUILT_IN_STRLEN.
12966         * gimple-range-op.cc (class cfn_strlen): New.
12967         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12969 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12971         * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
12972         (range_of_builtin_int_call): Remove cases for
12973         CFN_BUILT_IN_UBSAN_CHECK.
12974         * gimple-range-op.cc (class cfn_ubsan): New.
12975         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12977 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12979         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12980         for CFN_BUILT_IN_CLRSB.
12981         * gimple-range-op.cc (class cfn_clrsb): New.
12982         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12984 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12986         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12987         for CFN_CTZ.
12988         * gimple-range-op.cc (class cfn_ctz): New.
12989         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12991 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
12993         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12994         for CFN_CLZ.
12995         * gimple-range-op.cc (class cfn_clz): New.
12996         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12998 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13000         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13001         for CFN_FFS and CFN_POPCOUNT.
13002         * gimple-range-op.cc (class cfn_pocount): New.
13003         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13005 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13007         * gimple-range-fold.cc (get_letter_range): Move to new class.
13008         (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
13009         and CFN_BUILT_IN_TOLOWER.
13010         * gimple-range-op.cc (class cfn_toupper_tolower): New.
13011         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13013 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13015         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13016         for CFN_BUILT_IN_SIGNBIT.
13017         * gimple-range-op.cc (class cfn_signbit): New.
13018         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13020 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13022         * gimple-range-fold.cc
13023         (fold_using_range::range_of_builtin_int_call): Remove case for
13024         CFN_BUILT_IN_CONSTANT_P.
13025         * gimple-range-op.cc (gimple_range_op_handler::supported_p):
13026         Check if a call also creates a range-op object.
13027         (gimple_range_op_handler): Also check builtin calls.
13028         (class cfn_constant_float_p): New.  Float CFN_BUILT_IN_CONSTANT_P.
13029         (class cfn_constant_p): New.  Integral CFN_BUILT_IN_CONSTANT_P.
13030         (gimple_range_op_handler::maybe_builtin_call): Set arguments and
13031         handler for supported built-in calls.
13032         * gimple-range-op.h (maybe_builtin_call): New prototype.
13034 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13036         * gimple-range-fold.cc (range_of_range_op): Set result to
13037         VARYING if the call to fold_range fails.
13038         * tree-data-ref.cc (compute_distributive_range): Ditto.
13039         * tree-vrp.cc (range_fold_binary_expr): Ditto.
13040         (range_fold_unary_expr): Ditto.
13041         * value-query.cc (range_query::get_tree_range): Ditto.
13043 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13045         * range-op-float.cc (range_operator_float::fold_range): New base
13046         method for "int = float op int".
13047         * range-op.cc (range_op_handler::fold_range): New case.
13048         * range-op.h: Update prototypes.
13050 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13052         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
13053         operand 1 for second range if there is no operand 2.
13055 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13057         * Makefile.in (OBJS): Add gimple-range-op.o.
13058         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
13059         gimple_range_op_handler.
13060         * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
13061         to a method in gimple_range_op_handler.
13062         (gimple_range_operand1): Ditto.
13063         (gimple_range_operand2): Ditto.
13064         (fold_using_range::fold_stmt): Use gimple_range_op_handler.
13065         (fold_using_range::range_of_range_op): Ditto.
13066         (fold_using_range::relation_fold_and_or): Ditto.
13067         (fur_source::register_outgoing_edges): Ditto.
13068         (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
13069         * gimple-range-fold.h: Adjust prototypes.
13070         * gimple-range-gori.cc (gimple_range_calc_op1): Move
13071         to a method in gimple_range_op_handler.
13072         (gimple_range_calc_op2): Ditto.
13073         (gori_compute::compute_operand_range): Use
13074         gimple_range_op_handler.
13075         (gori_compute::compute_logical_operands): Ditto.
13076         (compute_operand1_range): Ditto.
13077         (gori_compute::compute_operand2_range): Ditto.
13078         (gori_compute::compute_operand1_and_operand2_range): Ditto.
13079         * gimple-range-gori.h: Adjust protoypes.
13080         * gimple-range-op.cc: New.  Supply gimple_range_op_handler methods.
13081         * gimple-range-op.h: New.  Supply gimple_range_op_handler class.
13082         * gimple-range.cc (gimple_ranger::prefill_name): Use
13083         gimple_range_op_handler.
13084         (gimple_ranger::prefill_stmt_dependencies): Ditto.
13085         * gimple-range.h: Include gimple-range-op.h.
13086         * range-op.cc (range_op_handler::range_op_handler): Adjust and
13087         remove gimple * parameter option.
13088         * range-op.h: Adjust prototypes.
13090 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13092         * range-op.cc (range_op_handler::set_op_handler): Set new fields.
13093         (ange_op_handler::range_op_handler): Likewise.
13094         (range_op_handler::operator bool): Remove.
13095         (range_op_handler::fold_range): Use appropriate handler.
13096         (range_op_handler::op1_range): Likewise.
13097         (range_op_handler::op2_range): Likewise.
13098         (range_op_handler::lhs_op1_relation): Likewise.
13099         (range_op_handler::lhs_op2_relation): Likewise.
13100         (range_op_handler::op1_op2_relation): Likewise.
13101         * range-op.h (class range_op_handler): Store handler pointers.
13102         (range_op_handler:: operator bool): Inline.
13104 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13106         * tree-ssa-threadbackward.cc
13107         (back_threader::find_paths_to_names): Replace sequence with
13108         a call to gimple_range_ssa_names.
13110 2022-09-22  Martin Liska  <mliska@suse.cz>
13111             Fangrui Song  <i@maskray.me>
13113         * configure: Regenerate.
13114         * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
13115         and gcc_cv_as_compress_debug={0,1}.
13116         * doc/invoke.texi: Document the removal.
13117         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
13118         zlib-gnu.
13119         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
13121 2022-09-22  Richard Biener  <rguenther@suse.de>
13123         PR tree-optimization/106922
13124         * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
13125         (vn_walk_cb_data::finish): Perform delayed verification of
13126         a skipped may-alias.
13127         (vn_reference_lookup_pieces): Likewise.
13128         (vn_reference_lookup): Likewise.
13129         (vn_reference_lookup_3): When skipping stores of the same
13130         value also handle constant stores that are more than a
13131         single VDEF away by delaying the verification.
13133 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
13135         * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
13136         definition.
13138 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
13140         * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
13141         (xtensa_output_mi_thunk): New functions.
13142         (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
13143         (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
13144         (xtensa_prepare_expand_call): Use fixed register a8 as temporary
13145         when called with reload_completed set to 1.
13147 2022-09-22  Richard Biener  <rguenther@suse.de>
13149         PR tree-optimization/99407
13150         * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
13151         (dse_classify_store): Use data-ref analysis to disambiguate more uses.
13152         (pass_dse::use_dr_analysis_p): New pass parameter.
13153         (pass_dse::set_pass_param): Implement.
13154         (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
13155         * passes.def: Allow DR analysis for the DSE pass before loop.
13157 2022-09-22  Richard Biener  <rguenther@suse.de>
13159         * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
13160         function split out from ...
13161         (vn_nary_op_insert_pieces_predicated): ... here.
13163 2022-09-22  liuhongt  <hongtao.liu@intel.com>
13165         PR target/106994
13166         * config/i386/mmx.md (floorv2sf2): Fix typo, use
13167         register_operand instead of vector_operand for operands[1].
13169 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
13171         PR tree-optimization/106967
13172         * value-range.cc (frange::set): Set known NANs to undefined for
13173         flag_finite_math_only.
13175 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
13177         * value-range.cc (frange::combine_zeros): Call set_undefined.
13178         (frange::intersect_nans): Same.
13179         (frange::intersect): Same.
13180         (frange::verify_range): Undefined ranges do not have a type.
13181         * value-range.h (frange::set_undefined): Clear NAN flags and type.
13183 2022-09-21  Richard Biener  <rguenther@suse.de>
13185         PR tree-optimization/106984
13186         * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
13187         a separate statement.
13189 2022-09-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13191         * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
13192         EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
13193         OPTION_DEFAULT_SPECS.
13194         (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
13195         local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
13196         is given.
13197         (CONFIG_TUNE_SPEC): Define.
13198         (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
13200 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
13202         PR tree-optimization/106967
13203         * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
13204         (foperator_equal::op1_range): Same.
13205         (foperator_not_equal::fold_range): Same.
13206         (foperator_not_equal::op1_range): Same.
13207         (foperator_lt::fold_range): Same.
13208         (foperator_lt::op1_range): Same.
13209         (foperator_lt::op2_range): Same.
13210         (foperator_le::fold_range): Same.
13211         (foperator_le::op1_range): Same.
13212         (foperator_le::op2_range): Same.
13213         (foperator_gt::fold_range): Same.
13214         (foperator_gt::op1_range): Same.
13215         (foperator_gt::op2_range): Same.
13216         (foperator_ge::fold_range): Same.
13217         (foperator_ge::op1_range): Same.
13218         (foperator_ge::op2_range): Same.
13219         (foperator_unordered::op1_range): Same.
13220         (foperator_ordered::fold_range): Same.
13221         (foperator_ordered::op1_range): Same.
13222         (build_le): Assert that we don't have a NAN.
13223         (build_lt): Same.
13224         (build_gt): Same.
13225         (build_ge): Same.
13227 2022-09-21  liuhongt  <hongtao.liu@intel.com>
13229         PR tree-optimization/106963
13230         * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
13231         vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
13233 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
13235         * value-range.h (frange::maybe_isnan): Return false for
13236         undefined ranges.
13238 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
13240         * value-range.cc (frange::set_nonnegative): Set +NAN.
13241         (range_tests_signed_zeros): New test.
13242         * value-range.h (frange::update_nan): New overload to set NAN sign.
13244 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
13246         PR target/106491
13247         * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
13248         (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
13249         markup to (new) extern declarations instead of to the main
13250         definition.
13252 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
13254         PR tree-optimization/106794
13255         PR tree-optimization/106914
13256         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
13257         Only consider loads that already have a permutation.
13258         (vect_optimize_slp_pass::start_choosing_layouts): Assert that
13259         loads with permutations are leaf nodes.  Prevent any kind of grouped
13260         access from changing layout if it doesn't have a load permutation.
13262 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
13264         * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
13265         early-out optimisation to SSA_NAMEs.
13267 2022-09-20  Martin Liska  <mliska@suse.cz>
13269         * ctfc.cc (ctf_add_string): Replace "the the" with "the".
13270         * doc/md.texi: Likewise.
13271         * gimple-range-infer.cc (non_null_loadstore): Likewise.
13273 2022-09-20  liuhongt  <hongtao.liu@intel.com>
13275         PR target/106910
13276         * config/i386/mmx.md (nearbyintv2sf2): New expander.
13277         (rintv2sf2): Ditto.
13278         (ceilv2sf2): Ditto.
13279         (lceilv2sfv2si2): Ditto.
13280         (floorv2sf2): Ditto.
13281         (lfloorv2sfv2si2): Ditto.
13282         (btruncv2sf2): Ditto.
13283         (lrintv2sfv2si2): Ditto.
13284         (roundv2sf2): Ditto.
13285         (lroundv2sfv2si2): Ditto.
13286         (*mmx_roundv2sf2): New define_insn.
13288 2022-09-20  konglin1  <lingling.kong@intel.com>
13290         PR middle-end/105735
13291         * tree-scalar-evolution.cc
13292         (analyze_and_compute_bitop_with_inv_effect): New function.
13293         (final_value_replacement_loop): Enhanced to handle bitop
13294         with inv induction.
13296 2022-09-20  Xi Ruoyao  <xry111@xry111.site>
13298         * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
13299         -static-pie, pass -static -pie --no-dynamic-linker -z text to
13300         the linker, and do not pass --dynamic-linker.
13302 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
13304         * value-range.cc (frange::flush_denormals_to_zero): New.
13305         (frange::set): Call flush_denormals_to_zero.
13306         * value-range.h (class frange): Add flush_denormals_to_zero.
13308 2022-09-20  liuhongt  <hongtao.liu@intel.com>
13310         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
13311         latest Intel processors.
13313 2022-09-20  konglin1  <lingling.kong@intel.com>
13315         PR target/106887
13316         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
13317         Fixed V16BF mode case.
13319 2022-09-19  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
13321         * targhooks.cc (default_zero_call_used_regs): Improve sorry
13322         message.
13324 2022-09-18  Julian Brown  <julian@codesourcery.com>
13326         * gimplify.cc (omp_segregate_mapping_groups): Update comment.
13327         (gimplify_adjust_omp_clauses): Move ATTACH and
13328         ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
13329         for offloaded OpenMP regions.
13331 2022-09-18  Jakub Jelinek  <jakub@redhat.com>
13333         PR middle-end/106831
13334         * value-range.cc (frange::singleton_p): Avoid propagating long
13335         doubles that may have multiple representations.
13337 2022-09-18  Aldy Hernandez  <aldyh@redhat.com>
13339         * range-op-float.cc (frange_add_zeros): Replace set_signbit with
13340         union of zero.
13341         * value-query.cc (range_query::get_tree_range): Remove set_signbit
13342         use.
13343         * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
13344         Remove.
13345         (vrange_printer::print_frange_nan): New.
13346         * value-range-pretty-print.h (print_frange_prop): Remove.
13347         (print_frange_nan): New.
13348         * value-range-storage.cc (frange_storage_slot::set_frange): Set
13349         kind and NAN fields.
13350         (frange_storage_slot::get_frange): Restore kind and NAN fields.
13351         * value-range-storage.h (class frange_storage_slot): Add kind and
13352         NAN fields.
13353         * value-range.cc (frange::update_nan): Remove.
13354         (frange::set_signbit): Remove.
13355         (frange::set): Adjust for NAN fields.
13356         (frange::normalize_kind): Remove m_props.
13357         (frange::combine_zeros): New.
13358         (frange::union_nans): New.
13359         (frange::union_): Handle new NAN fields.
13360         (frange::intersect_nans): New.
13361         (frange::intersect): Handle new NAN fields.
13362         (frange::operator=): Same.
13363         (frange::operator==): Same.
13364         (frange::contains_p): Same.
13365         (frange::singleton_p): Remove special case for signed zeros.
13366         (frange::verify_range): Adjust for new NAN fields.
13367         (frange::set_zero): Handle signed zeros.
13368         (frange::set_nonnegative): Same.
13369         (range_tests_nan): Adjust tests.
13370         (range_tests_signed_zeros): Same.
13371         (range_tests_signbit): Same.
13372         (range_tests_floats): Same.
13373         * value-range.h (class fp_prop): Remove.
13374         (FP_PROP_ACCESSOR): Remove.
13375         (class frange_props): Remove
13376         (frange::lower_bound): NANs don't have endpoints.
13377         (frange::upper_bound): Same.
13378         (frange_props::operator==): Remove.
13379         (frange_props::union_): Remove.
13380         (frange_props::intersect): Remove.
13381         (frange::update_nan): New.
13382         (frange::clear_nan): New.
13383         (frange::undefined_p): New.
13384         (frange::set_nan): New.
13385         (frange::known_finite): Adjust for new NAN representation.
13386         (frange::maybe_isnan): Same.
13387         (frange::known_isnan): Same.
13388         (frange::signbit_p): Same.
13389         * gimple-range-fold.cc (range_of_builtin_int_call): Rename
13390         known_signbit_p into signbit_p.
13392 2022-09-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
13394         * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
13395         to prevent warning.
13397 2022-09-17  Jakub Jelinek  <jakub@redhat.com>
13399         PR tree-optimization/106958
13400         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
13401         id >= l, cast op to type1, otherwise to pointer_sized_int_node.
13402         If type has pointer type, cast exp to pointer_sized_int_node
13403         even when id < l.
13405 2022-09-16  liuhongt  <hongtao.liu@intel.com>
13407         PR target/106910
13408         * config/i386/i386-builtins.cc
13409         (ix86_builtin_vectorized_function): Modernized with
13410         corresponding expanders.
13411         * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
13412         expander.
13413         (floor<mode>2): Ditto.
13414         (lfloor<mode><sseintvecmodelower>2): Ditto.
13415         (ceil<mode>2): Ditto.
13416         (lceil<mode><sseintvecmodelower>2): Ditto.
13417         (btrunc<mode>2): Ditto.
13418         (lround<mode><sseintvecmodelower>2): Ditto.
13419         (exp2<mode>2): Ditto.
13421 2022-09-15  Joseph Myers  <joseph@codesourcery.com>
13423         * ginclude/float.h (INFINITY): Define only if
13424         [__FLT_HAS_INFINITY__].
13426 2022-09-15  Richard Biener  <rguenther@suse.de>
13428         PR tree-optimization/106922
13429         * tree-ssa-pre.cc (translate_vuse_through_block): Only
13430         keep the VUSE if its def dominates PHIBLOCK.
13431         (prune_clobbered_mems): Rewrite logic so we check whether
13432         a value dies in a block when the VUSE def doesn't dominate it.
13434 2022-09-15  Richard Biener  <rguenther@suse.de>
13436         * tree.cc (build_common_tree_nodes): Initialize void_list_node
13437         here.
13439 2022-09-15  Jiufu Guo  <guojiufu@linux.ibm.com>
13441         PR target/106550
13442         * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
13444 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
13446         * range-op-float.cc (frange_add_zeros): New.
13447         (build_le): Call frange_add_zeros.
13448         (build_ge): Same.
13449         (foperator_equal::op1_range): Same.
13450         (foperator_not_equal::op1_range): Same.
13452 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
13454         * range-op-float.cc (build_le): Accept frange instead of number.
13455         (build_lt): Same.
13456         (build_ge): Same.
13457         (build_gt): Same.
13458         (foperator_lt::op1_range): Pass full range to build_*.
13459         (foperator_lt::op2_range): Same.
13460         (foperator_le::op1_range): Same.
13461         (foperator_le::op2_range): Same.
13462         (foperator_gt::op1_range): Same.
13463         (foperator_gt::op2_range): Same.
13464         (foperator_ge::op1_range): Same.
13465         (foperator_ge::op2_range): Same.
13467 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
13469         * value-range.cc (frange::set): Use set_nan.
13470         * value-range.h (frange::set_nan): Inline code originally in
13471         set().
13473 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
13475         * range-op-float.cc (frange_set_nan): Remove.
13476         (build_lt): Use set_nan, update_nan, clear_nan.
13477         (build_gt): Same.
13478         (foperator_equal::op1_range): Same.
13479         (foperator_not_equal::op1_range): Same.
13480         (foperator_lt::op1_range): Same.
13481         (foperator_lt::op2_range): Same.
13482         (foperator_le::op1_range): Same.
13483         (foperator_le::op2_range): Same.
13484         (foperator_gt::op1_range): Same.
13485         (foperator_gt::op2_range): Same.
13486         (foperator_ge::op1_range): Same.
13487         (foperator_ge::op2_range): Same.
13488         (foperator_unordered::op1_range): Same.
13489         (foperator_ordered::op1_range): Same.
13490         * value-query.cc (range_query::get_tree_range): Same.
13491         * value-range.cc (frange::set_nan): Same.
13492         (frange::update_nan): Same.
13493         (frange::union_): Same.
13494         (frange::intersect): Same.
13495         (range_tests_nan): Same.
13496         (range_tests_signed_zeros): Same.
13497         (range_tests_signbit): Same.
13498         (range_tests_floats): Same.
13499         * value-range.h (class frange): Add update_nan and clear_nan.
13500         (frange::set_nan): New.
13502 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
13504         * value-query.cc (range_query::get_tree_range): Remove check for overflow.
13505         * value-range-pretty-print.cc (vrange_printer::visit): Move read
13506         of type until after undefined_p is checked.
13507         * value-range.cc (frange::set): Remove asserts for REAL_CST.
13508         (frange::contains_p): Tidy up.
13509         (range_tests_nan):  Add comment.
13510         * value-range.h (frange::type): Check for undefined_p.
13511         (frange::set_undefined): Remove set of endpoints.
13513 2022-09-14  Julian Brown  <julian@codesourcery.com>
13515         * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
13516         GOMP_MAP_STRUCT (for reindexing).
13517         (omp_gather_mapping_groups): Reimplement using...
13518         (omp_gather_mapping_groups_1): This new function.  Stop processing at
13519         GATHER_SENTINEL.
13520         (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
13521         (omp_index_mapping_groups): Reimplement using...
13522         (omp_index_mapping_groups_1): This new function.  Handle
13523         REINDEX_SENTINEL.
13524         (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
13525         functions.
13526         (omp_tsort_mapping_groups_1): Adjust handling of base group being the
13527         same as current group.  Use omp_mapped_by_containing_struct.
13528         (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
13529         and omp_reindex_mapping_groups.  Robustify group deletion for reordered
13530         lists.
13531         (gimplify_scan_omp_clauses): Update calls to
13532         omp_build_struct_sibling_lists.
13534 2022-09-14  Julian Brown  <julian@codesourcery.com>
13536         * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
13537         (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
13538         (insert_struct_comp_map): Refactor function into...
13539         (build_omp_struct_comp_nodes): This new function.  Remove list handling
13540         and improve self-documentation.
13541         (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters.  Move
13542         code to strip outer parts of address out of function, but strip no-op
13543         conversions.
13544         (omp_mapping_group): Add DELETED field for use during reindexing.
13545         (omp_strip_components_and_deref, omp_strip_indirections): New functions.
13546         (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
13547         (omp_gather_mapping_groups): Initialise DELETED field for new groups.
13548         (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
13549         (omp_siblist_insert_node_after, omp_siblist_move_node_after,
13550         omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
13551         helper functions.
13552         (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
13553         node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
13554         (omp_build_struct_sibling_lists): New function.
13555         (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
13556         struct_seen_clause, struct_deref_set.  Call
13557         omp_build_struct_sibling_lists as pre-pass instead of handling sibling
13558         lists in the function's main processing loop.
13559         (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
13560         handling, unused now.
13561         * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
13562         struct references, and references to pointers to structs also.
13564 2022-09-14  Richard Biener  <rguenther@suse.de>
13566         PR tree-optimization/106938
13567         * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
13568         edges for all last stmts in a block.  Do EH cleanup
13569         only on the last stmt in a block.
13571 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
13573         PR tree-optimization/106936
13574         * value-query.cc (range_query::get_value_range): Remove assert.
13576 2022-09-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
13578         * config/mips/mips.cc (mips_option_override): Drop unused variable.
13580 2022-09-14  Julian Brown  <julian@codesourcery.com>
13582         * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
13583         functions.
13584         (omp_tsort_mark): Add enum.
13585         (omp_mapping_group): Add struct.
13586         (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
13587         omp_group_last, omp_gather_mapping_groups, omp_group_base,
13588         omp_index_mapping_groups, omp_containing_struct,
13589         omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
13590         omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
13591         functions.
13592         (gimplify_scan_omp_clauses): Call above functions instead of
13593         omp_target_reorder_clauses, unless we've seen an error.
13594         * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
13595         sorted mapping groups.
13597 2022-09-14  Jakub Jelinek  <jakub@redhat.com>
13599         PR tree-optimization/106878
13600         * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
13601         reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
13602         the second argument is INTEGER_CST, BIT_AND_EXPR.
13603         * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
13604         (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
13605         POINTER_TYPE_P or OFFSET_TYPE.
13606         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
13607         pointers cast them to pointer sized integers first.
13609 2022-09-14  Richard Biener  <rguenther@suse.de>
13611         PR tree-optimization/106934
13612         * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
13613         of bitfields.
13614         (maybe_rewrite_mem_ref_base): Likewise.
13616 2022-09-14  liuhongt  <hongtao.liu@intel.com>
13618         PR tree-optimization/106905
13619         * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
13620         false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
13621         LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
13623 2022-09-13  Roger Sayle  <roger@nextmovesoftware.com>
13625         PR target/106877
13626         * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
13627         in gcc_assert.
13629 2022-09-13  Max Filippov  <jcmvbkbc@gmail.com>
13631         Revert:
13632         2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
13634         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
13635         New macro definition.
13636         (xtensa_constant_ok_for_cprop_p):
13637         Implement the hook as mentioned above.
13639 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
13641         PR target/104482
13642         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
13643         the equality check for argument number, and move this hunk ahead.
13645 2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
13647         PR target/105485
13648         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
13649         the handling for unresolved overloaded builtin function.
13650         (rs6000_expand_builtin): Likewise.
13652 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
13654         * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
13655         m_nstores, m_reduc_factor, m_gather_load and member function
13656         determine_suggested_unroll_factor.
13657         (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
13658         m_reduc_factor and m_gather_load.
13659         (rs6000_cost_data::determine_suggested_unroll_factor): New function.
13660         (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
13661         * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
13662         (rs6000-vect-unroll-issue): Likewise.
13663         (rs6000-vect-unroll-reduc-threshold): Likewise.
13664         * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
13666 2022-09-13  Richard Biener  <rguenther@suse.de>
13668         PR middle-end/106909
13669         * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
13670         flag of a unreachable call.
13672 2022-09-13  Richard Biener  <rguenther@suse.de>
13674         PR tree-optimization/106913
13675         * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
13676         ft_reachable on EXIT_BLOCK.
13678 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
13680         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
13681         TARGET_FLOAT instead of TARGET_SIMD.
13682         (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
13683         TARGET_SIMD.
13684         (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
13685         in GPRs.
13686         (aarch64_classify_address): Treat little-endian structure moves
13687         like big-endian for TARGET_FLOAT && !TARGET_SIMD.
13688         (aarch64_secondary_memory_needed): New function.
13689         (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
13690         in the same way as TF, TI and TD.
13691         (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
13692         (aarch64_rtx_costs): Likewise.
13693         (aarch64_register_move_cost): Treat a pair of 64-bit vectors
13694         separately from a single 128-bit vector.  Handle the cost implied
13695         by aarch64_secondary_memory_needed.
13696         (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
13697         TARGET_SIMD.
13698         (aarch64_expand_vec_perm_const_1): Likewise.
13699         (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
13700         * config/aarch64/iterators.md (VTX): New iterator.
13701         * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
13702         (arch_enabled): Adjust accordingly.
13703         (@aarch64_reload_mov<TX:mode>): Extend to...
13704         (@aarch64_reload_mov<VTX:mode>): ...this.
13705         * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
13706         rather than TARGET_SIMD.
13707         (movmisalign<mode>): Likewise.
13708         (load_pair<DREG:mode><DREG2:mode>): Likewise.
13709         (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
13710         (load_pair<VQ:mode><VQ2:mode>): Likewise.
13711         (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
13712         (@aarch64_split_simd_mov<mode>): Likewise.
13713         (aarch64_get_low<mode>): Likewise.
13714         (aarch64_get_high<mode>): Likewise.
13715         (aarch64_get_half<mode>): Likewise.  Canonicalize to a move for
13716         lowpart extracts.
13717         (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
13718         TARGET_SIMD.  Use different w<-w and r<-w instructions for
13719         !TARGET_SIMD.  Disable immediate moves for !TARGET_SIMD but
13720         add an alternative specifically for w<-Z.
13721         (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
13722         TARGET_SIMD.  Likewise for the associated define_splits.  Disable
13723         FPR moves and immediate moves for !TARGET_SIMD but add an alternative
13724         specifically for w<-Z.
13725         (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
13726         TARGET_SIMD.  Restrict the existing alternatives to TARGET_SIMD
13727         but add a new r<-w one for !TARGET_SIMD.
13728         (*aarch64_get_high<mode>): New pattern.
13729         (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
13730         (store_pair_lanes<mode>): Likewise.
13731         (*aarch64_combine_internal<mode>): Likewise.  Restrict existing
13732         w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
13733         alternative for !TARGET_SIMD.
13734         (*aarch64_combine_internal_be<mode>): Likewise.
13735         (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
13736         Remove bogus arch attribute.
13737         (*aarch64_combinez_be<mode>): Likewise.
13738         (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
13739         TARGET_SIMD.
13740         (aarch64_combine<mode>): Likewise.
13741         (aarch64_rev_reglist<mode>): Likewise.
13742         (mov<mode>): Likewise.
13743         (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
13744         !TARGET_SIMD, regardless of endianness.  Extend associated
13745         define_splits in the same way, both for this pattern and the
13746         ones below.
13747         (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise.  Restrict w<-w
13748         alternative to TARGET_SIMD.
13749         (*aarch64_be_movoi): Likewise.
13750         (*aarch64_be_movci): Likewise.
13751         (*aarch64_be_movxi): Likewise.
13752         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
13753         && !TARGET_SIMD, regardless of endianness.  Restrict w<-w alternative
13754         to TARGET_SIMD for tuples of 128-bit vectors.
13755         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
13756         * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
13757         from DREG STP peephole.  Change TARGET_SIMD to TARGET_FLOAT in
13758         the VQ and VP_2E LDP and STP peepholes.
13760 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
13762         * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
13763         condition.  Likewise for the related define_split.  Tweak formatting.
13765 2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
13767         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
13768         New macro definition.
13769         (xtensa_constant_ok_for_cprop_p):
13770         Implement the hook as mentioned above.
13772 2022-09-12  Joseph Myers  <joseph@codesourcery.com>
13774         * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
13775         __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
13777 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
13779         * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
13780         a warning + not enabling offloading if -misa=sm_30 prevents
13781         reverse offload.
13782         (main): Use tool_name as progname for diagnostic.
13783         * config/gcn/mkoffload.cc (main): Likewise.
13785 2022-09-12  Aldy Hernandez  <aldyh@redhat.com>
13787         * value-range.cc (frange::set_signbit): Avoid changing sign when
13788         already in the correct sign.
13790 2022-09-12  Max Filippov  <jcmvbkbc@gmail.com>
13792         * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
13793         Recognize all 4 return registers.
13794         * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
13795         * config/xtensa/xtensa.md (untyped_call): New pattern.
13797 2022-09-12  Jonathan Wakely  <jwakely@redhat.com>
13799         * doc/extend.texi (Floating Types): Fix "_float128" typo.
13801 2022-09-10  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
13803         * config/xtensa/xtensa.cc (xtensa_constantsynth):
13804         Add new pattern for the abovementioned case.
13806 2022-09-10  Akari Takahashi  <akaritakahashioss@gmail.com>
13807             Segher Boessenkool  <segher@kernel.crashing.org>
13809         * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
13811 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
13813         * config/xtensa/xtensa.md: Rewrite the split pattern that performs
13814         the abovementioned process so that insns that overwrite clobbered
13815         register no longer need to be contiguous.
13816         (DSC): Remove as no longer needed.
13818 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
13820         * config/xtensa/xtensa.cc (machine_function): New boolean member as
13821         a flag that controls whether to emit the insns for stack pointer
13822         adjustment inside of the pro/epilogue.
13823         (xtensa_emit_adjust_stack_ptr): New function to share the common
13824         codes and to emit insns if not inhibited.
13825         (xtensa_expand_epilogue): Change to use the function mentioned
13826         above when using the CALL0 ABI.
13827         (xtensa_expand_prologue): Ditto.
13828         And also change to set the inhibit flag used by
13829         xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
13830         used for its own adjustment.
13832 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
13834         * doc/invoke.texi (Static Analyzer Options): Add
13835         -Wanalyzer-exposure-through-uninit-copy.
13837 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
13839         * Makefile.in (ANALYZER_OBJS): Add
13840         analyzer/known-function-manager.o.
13842 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
13844         * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
13845         (record_id): Store func name without quotes, store dim separately.
13846         (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
13847         at least sm_35, create '$offload_func_table' global array and init
13848         with reverse-offload function addresses.
13849         * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
13850         force_public attribute to force .visible.
13851         (nvptx_declare_function_name): For "omp target
13852         device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
13854 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
13856         * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
13857         similar to pre-existing .offload_var_table.
13859 2022-09-09  Joseph Myers  <joseph@codesourcery.com>
13861         * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
13862         New macro.
13864 2022-09-09  Kewen Lin  <linkw@linux.ibm.com>
13866         PR middle-end/106833
13867         * tree.cc (verify_opaque_type): New function.
13868         (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
13870 2022-09-09  Kwok Cheung Yeung  <kcy@codesourcery.com>
13872         * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
13873         FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
13874         * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
13875         * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
13876         MATH_UNOP_TRIG): New iterators.
13877         (math_unop): New attributes.
13878         (<math_unop><mode>2, <math_unop><mode>2<exec>,
13879         <math_unop><mode>2, <math_unop><mode>2<exec>,
13880         *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
13881         ldexp<mode>3, ldexp<mode>3<exec>,
13882         frexp<mode>_exp2, frexp<mode>_mant2,
13883         frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
13884         (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
13885         * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
13886         dconst1over2pi.
13887         (gcn_dconst1over2pi): New.
13888         (gcn_builtin_type_index): Add entry for v64df type.
13889         (v64df_type_node): New.
13890         (gcn_init_builtin_types): Initialize v64df_type_node.
13891         (gcn_expand_builtin_1): Expand new builtins to instructions.
13892         (print_operand): Fix assembler output for 1/(2*PI) constant.
13893         * config/gcn/gcn.md (unspec): Add new entries.
13895 2022-09-09  Richard Biener  <rguenther@suse.de>
13897         PR tree-optimization/106722
13898         * tree-predcom.cc (ref_at_iteration): Do not associate the
13899         constant part of the offset into the MEM_REF offset
13900         operand, across a non-zero offset.
13902 2022-09-09  Kito Cheng  <kito.cheng@sifive.com>
13904         * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
13905         Move forward for cover all all necessary functions for suppress
13906         unused function warnings.
13907         (riscv_multi_lib_check): Move forward, and tweak message to suppress
13908         -Werror=format-diag warning.
13910 2022-09-09  Richard Biener  <rguenther@suse.de>
13912         PR tree-optimization/106881
13913         * gimple-predicate-analysis.cc (simple_control_dep_chain):
13914         Add only non-fallthru edges and avoid the same set of edges
13915         as compute_control_dep_chain_pdom does.
13917 2022-09-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
13919         * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
13920         of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
13921         * doc/tm.texi: Regenerate.
13923 2022-09-09  Martin Liska  <mliska@suse.cz>
13925         * optc-save-gen.awk: Always compare array option values with memcmp.
13927 2022-09-08  Jonathan Wakely  <jwakely@redhat.com>
13929         PR c++/106838
13930         * doc/extend.texi (Type Traits): Fix requirements. Document
13931         __is_aggregate and __is_final.
13933 2022-09-08  Tim Lange  <mail@tim-lange.me>
13935         PR analyzer/106625
13936         * doc/invoke.texi:
13937         State that the checker also reasons about symbolic values.
13939 2022-09-08  Richard Sandiford  <richard.sandiford@arm.com>
13941         PR tree-optimization/106886
13942         * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
13943         Fix copying of scalar stmts.
13945 2022-09-08  Chung-Lin Tang  <cltang@codesourcery.com>
13947         * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
13949 2022-09-08  Richard Biener  <rguenther@suse.de>
13951         PR middle-end/106870
13952         * gimple-harden-conditionals.cc (insert_check_and_trap):
13953         Set the control-altering flag on the built IFN_TRAP.
13954         * gimple.cc (gimple_build_builtin_unreachable): Likewise.
13955         * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
13956         flag on the .ABNORMAL_DISPATCHER call.
13957         * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
13958         resetting the control altering flag for ECF_NORETURN calls.
13959         (cleanup_control_flow_bb): Set the control altering flag on
13960         discovered noreturn calls.
13961         * symtab-thunks.cc (expand_thunk): Set the control altering
13962         flag for the noreturn tailcall case.
13963         * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
13964         calls.
13966 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
13968         * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
13969         Add doacross(sink:omp_cur_iteration-1) support.
13970         (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
13971         Adjust expand_omp_ordered_sink caller.
13972         (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
13973         non-NULL, set that variable to true at the start of outermost
13974         non-collapsed loop and set it to false at the end of innermost
13975         ordered loop.
13976         (expand_omp_for_generic): If fd->ordered, allocate
13977         1 + (fd->ordered - fd->collapse) further elements in counts array.
13978         Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
13979         fd->ordered - 1 loop if any.
13981 2022-09-08  Richard Biener  <rguenther@suse.de>
13983         PR tree-optimization/106881
13984         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
13985         Add only non-fallthru edges and avoid the same set of edges
13986         as the caller does.
13988 2022-09-08  Aldy Hernandez  <aldyh@redhat.com>
13990         * gimple-range-fold.cc
13991         (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
13992         * range-op-float.cc (finite_operand_p): Same.
13993         (finite_operands_p): Same.
13994         (foperator_lt::fold_range): Same.
13995         (foperator_le::fold_range): Same.
13996         (foperator_gt::fold_range): Same.
13997         (foperator_ge::fold_range): Same.
13998         (foperator_unordered::fold_range): Same.
13999         (foperator_unordered::op1_range): Same.
14000         (foperator_ordered::fold_range): Same.
14001         * value-range.cc (frange::set_nan): Same.
14002         (frange::set_signbit): Same.
14003         (frange::union_): Same.
14004         (frange::intersect): Same.
14005         (frange::operator==): Same.
14006         (frange::singleton_p): Same.
14007         (frange::verify_range): Same.
14008         (range_tests_nan): Same.
14009         (range_tests_floats): Same.
14010         * value-range.h(frange::known_finite): New.
14011         (frange::maybe_inf): New.
14012         (frange::known_inf): New.
14013         (frange::maybe_nan): New.
14014         (frange::known_nan): New.
14015         (frange::known_signbit): New.
14017 2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
14019         * config/darwin-d.cc: Include tm.h.
14020         * config/dragonfly-d.cc: Likewise.
14021         * config/freebsd-d.cc: Remove memmodel.h.
14022         * config/glibc-d.cc: Likewise.
14023         * config/netbsd-d.cc: Include tm.h.
14024         * config/openbsd-d.cc: Likewise.
14025         * config/sol2-d.cc: Likewise.
14027 2022-09-08  Christophe Lyon  <christophe.lyon@arm.com>
14029         * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
14030         MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
14031         (mve_vqshluq_m_n_s<mode>): Likewise.
14032         (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
14033         instead of mve_imm_8/Rb.
14034         (mve_vqrshrunbq_n_s<mode>): Likewise.
14035         (mve_vqrshrntq_n_<supf><mode>): Likewise.
14036         (mve_vqrshruntq_n_s<mode>): Likewise.
14037         (mve_vrshrnbq_n_<supf><mode>): Likewise.
14038         (mve_vrshrntq_n_<supf><mode>): Likewise.
14039         (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
14040         (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
14041         (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
14042         (mve_vrshrntq_m_n_<supf><mode>): Likewise.
14043         (mve_vqrshrunbq_m_n_s<mode>): Likewise.
14044         (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
14045         of mve_imm_selective_upto_8/Rg.
14046         (mve_vsriq_m_n_<supf><mode>): Likewise.
14048 2022-09-08  Jiufu Guo  <guojiufu@linux.ibm.com>
14050         * config/rs6000/rs6000.md (splitter for set to and_mask constants):
14051         Use int_reg_operand (instead of int_reg_operand_not_pseudo).
14052         (splitter for multi-insn constant loads): Ditto.
14054 2022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14056         * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
14057         -mvrsave is present.
14058         * config/rs6000/t-rtems: Add -mvrsave multilib variants for
14059         -mcpu=e6500.
14061 2022-09-07  Martin Liska  <mliska@suse.cz>
14063         * configure.ac: Restore detection of  HAVE_XCOFF_DWARF_EXTRAS.
14064         * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
14065         * configure: Regenerate.
14066         * config.in: Regenerate.
14068 2022-09-07  Surya Kumari Jangala  <jskumari@linux.ibm.com>
14070         PR rtl-optimization/105586
14071         * sched-rgn.cc (save_state_for_fallthru_edge): New function.
14072         (schedule_region): Use it for all blocks.
14074 2022-09-07  Joseph Myers  <joseph@codesourcery.com>
14076         * ginclude/stdalign.h [defined __STDC_VERSION__ &&
14077         __STDC_VERSION__ > 201710L]: Disable all content.
14078         * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
14079         > 201710L] (bool, true, false): Do not define.
14081 2022-09-07  Martin Liska  <mliska@suse.cz>
14083         PR bootstrap/106855
14084         * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
14085         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
14086         Restore usage of XCOFF_DEBUGGING_INFO.
14087         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
14088         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
14089         XCOFF_DEBUGGING_INFO.
14090         (dw2_asm_output_nstring): Likewise.
14091         (USE_LINKONCE_INDIRECT): Likewise.
14092         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
14093         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14094         (output_fde): Likewise.
14095         (output_call_frame_info): Likewise.
14096         (have_macinfo): Likewise.
14097         (add_AT_loc_list): Likewise.
14098         (add_AT_view_list): Likewise.
14099         (output_compilation_unit_header): Likewise.
14100         (output_pubnames): Likewise.
14101         (output_aranges): Likewise.
14102         (output_line_info): Likewise.
14103         (output_macinfo): Likewise.
14104         (dwarf2out_finish): Likewise.
14105         (dwarf2out_early_finish): Likewise.
14107 2022-09-07  Richard Biener  <rguenther@suse.de>
14109         PR tree-optimization/106866
14110         * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
14111         we changed cfun->calls_setjmp make sure to purge all
14112         abnormal call edges.
14114 2022-09-07  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
14116         * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
14117         float LE comparing with zero for fpuv3.
14118         * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
14119         features are enabled.
14121 2022-09-07  Richard Biener  <rguenther@suse.de>
14123         PR tree-optimization/106860
14124         * tree-ssa-loop-split.cc (split_loop): Find the exit to
14125         latch edge from the loop exit edge instead of from the
14126         latch.  Verify we're going to find it.
14128 2022-09-07  Richard Biener  <rguenther@suse.de>
14130         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
14131         Adjust to take the region exit source as argument.
14132         (uninit_analysis::init_from_phi_def): Adjust.
14133         (uninit_analysis::init_use_preds): Mark the dominating region
14134         before computing control dependences.
14136 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
14138         * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
14139         w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
14140         in that case.  Extend w<-r to w<-Z.
14141         (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
14142         (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
14143         available.
14144         (define_split): Do not apply the floating-point immediate-to-register
14145         split to zeros, even if MOVI is not available.
14147 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
14149         * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
14150         Disallow use of FPRs in register asms for !TARGET_FLOAT.
14152 2022-09-07  Lulu Cheng  <chenglulu@loongson.cn>
14154         PR target/106828
14155         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
14156         (TARGET_ASAN_SHADOW_OFFSET): New.
14158 2022-09-07  Jakub Jelinek  <jakub@redhat.com>
14160         * doc/invoke.texi (-Wno-unicode): Document.
14162 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
14164         * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
14166 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
14168         * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
14169         replacements.
14171 2022-09-07  liuhongt  <hongtao.liu@intel.com>
14173         PR tree-optimization/103144
14174         * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
14175         (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
14176         (vect_create_nonlinear_iv_init): New function.
14177         (vect_peel_nonlinear_iv_init): Ditto.
14178         (vect_create_nonlinear_iv_step): Ditto
14179         (vect_create_nonlinear_iv_vec_step): Ditto
14180         (vect_update_nonlinear_iv): Ditto
14181         (vectorizable_nonlinear_induction): Ditto.
14182         (vectorizable_induction): Call
14183         vectorizable_nonlinear_induction when induction_type is not
14184         vect_step_op_add.
14185         * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
14186         Update nonlinear iv for epilogue loop.
14187         * tree-vectorizer.h (enum vect_induction_op_type): New enum.
14188         (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
14190 2022-09-06  Richard Biener  <rguenther@suse.de>
14192         PR tree-optimization/106754
14193         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
14194         New function, split out from compute_control_dep_chain.  Handle
14195         loop-exit like conditions here by pushing to the control vector.
14196         (compute_control_dep_chain): Adjust and streamline dumping.
14197         In the wrapper perform a post-dominator walk as well.
14198         (uninit_analysis::init_use_preds): Remove premature early exit.
14200 2022-09-06  Max Filippov  <jcmvbkbc@gmail.com>
14202         * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
14204 2022-09-06  Aldy Hernandez  <aldyh@redhat.com>
14206         * range-op-float.cc (build_le): Handle NANs and going past infinity.
14207         (build_lt): Same.
14208         (build_ge): Same.
14209         (build_gt): Same.
14210         (foperator_lt::op1_range): Avoid adjustments to range if build_*
14211         returned false.
14212         (foperator_lt::op2_range): Same.
14213         (foperator_le::op1_range): Same.
14214         (foperator_le::op2_range): Same.
14215         (foperator_gt::op1_range): Same.
14216         (foperator_gt::op2_range): Same.
14218 2022-09-06  Richard Biener  <rguenther@suse.de>
14220         * gimple-predicate-analysis.cc (compute_control_dep_chain):
14221         Add output flag to indicate whether we possibly have dropped
14222         any chains.  Return whether the info is complete from the
14223         wrapping overload.
14224         (uninit_analysis::init_use_preds): Adjust accordingly, with
14225         a workaround for PR106754.
14226         (uninit_analysis::init_from_phi_def): Properly guard the
14227         case where we complete an empty chain.
14229 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14231         * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
14233 2022-09-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
14235         * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
14236         type with same element type as arg0, and length as op2.
14238 2022-09-06  Richard Biener  <rguenther@suse.de>
14240         PR tree-optimization/106844
14241         * gimple-predicate-analysis.cc (compute_control_dep_chain):
14242         Return whether we found a chain.
14244 2022-09-06  Richard Biener  <rguenther@suse.de>
14246         PR tree-optimization/106841
14247         * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
14248         scatter/gather offset.
14250 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14252         * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
14254 2022-09-06  Jakub Jelinek  <jakub@redhat.com>
14256         * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
14257         (gimple_omp_subcode):  Use GIMPLE_OMP_ORDERED instead of
14258         GIMPLE_OMP_TEAMS as upper bound.
14259         (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
14260         inline functions.
14261         * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
14262         NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
14263         (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
14264         with NULL OMP_ORDERED_BODY.
14265         * omp-low.cc (check_omp_nesting_restrictions): Use
14266         gimple_omp_ordered_standalone_p test instead of
14267         omp_find_clause (..., OMP_CLAUSE_DOACROSS).
14268         (lower_omp_ordered): Likewise.
14269         * omp-expand.cc (expand_omp, build_omp_regions_1,
14270         omp_make_gimple_edges): Likewise.
14272 2022-09-06  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
14274         * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
14275         (cskyv2_addcc_invert): Likewise.
14277 2022-09-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
14279         * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
14280         `insn'.
14281         (bpf_expand_epilogue): Likewise.
14283 2022-09-06  liuhongt  <hongtao.liu@intel.com>
14285         * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
14286         Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
14287         * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
14288         (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
14289         (avx512f_vcvtps2ph512_mask_sae): New expander
14291 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
14293         * gimple-range-fold.cc
14294         (fold_using_range::range_of_builtin_int_call): Ignore sign bit
14295         when there's the possibility of a NAN.
14297 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
14299         * gimple-range-fold.cc
14300         (fold_using_range::range_of_builtin_int_call): Fold a set signbit
14301         in __builtin_signbit to nonzero.
14303 2022-09-05  Alexander Monakov  <amonakov@ispras.ru>
14305         PR target/106453
14306         * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
14307         bits of operand 0 are consumed, and the result is zero-extended
14308         to 64 bits.
14310 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
14312         PR middle-end/106831
14313         * value-range.h (frange::supports_p): Disable decimal floats.
14314         * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
14315         check.
14316         (frange_drop_ninf): Same.
14318 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
14320         PR middle-end/106824
14321         * value-range.cc (frange::set_nan): Set undefined when updating a
14322         NAN to a non-NAN.
14324 2022-09-05  Kito Cheng  <kito.cheng@sifive.com>
14326         * config/riscv/riscv.cc (riscv_option_override): Fix wrong
14327         condition for MASK_DIV and simplify incompatible checking.
14328         * config/riscv/riscv.md (muldi3): Adding parentheses.
14330 2022-09-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
14332         * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
14333         string is a valid -mcpu string and emit hint.
14335 2022-09-05  LiaoShihua  <shihua@iscas.ac.cn>
14337         * common/config/riscv/riscv-common.cc: Add Zmmul.
14338         * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
14339         (TARGET_ZMMUL): Ditto.
14340         * config/riscv/riscv.cc (riscv_option_override):Ditto.
14341         * config/riscv/riscv.md: Add Zmmul
14342         * config/riscv/riscv.opt: Ditto.
14344 2022-09-05  Richard Biener  <rguenther@suse.de>
14346         * tree-cfg.h (get_cases_for_edge): Declare.
14347         * tree-cfg.cc (get_cases_for_edge): Export.
14348         * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
14349         Start and end recording case labels.
14350         * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
14351         (predicate::init_from_control_deps): Use get_cases_for_edge.
14353 2022-09-05  Richard Biener  <rguenther@suse.de>
14355         * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
14356         (compute_control_dep_chain): Move uninit-control-dep-attempts
14357         checking where it also counts the post-dominator check
14358         invocations.
14360 2022-09-05  Richard Biener  <rguenther@suse.de>
14362         * gimple-predicate-analysis.h (predicate::debug): New.
14363         (predicate::dump): Add FILE * argument, add base overload.
14364         * gimple-predicate-analysis.cc (debug): New.
14365         (dump_pred_info): Add FILE * argument.
14366         (dump_pred_chain): Likewise.
14367         (predicate::dump): Split out preamble into overload.  Add
14368         FILE * argument.
14369         (predicate::debug): New.
14370         (predicate::simplify): Adjust.
14371         (predicate::normalize): Likewise.
14372         (predicate::init_from_control_deps): Likewise.
14374 2022-09-05  Richard Sandiford  <richard.sandiford@arm.com>
14376         * config/aarch64/aarch64-protos.h
14377         (aarch64_init_simd_builtins): Remove prototype.
14378         * config/aarch64/aarch64-builtins.cc
14379         (aarch64_simd_builtins_initialized_p): Delete.
14380         (aarch64_init_simd_builtins): Make static.  Remove protection
14381         against multiple calls.
14382         * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
14383         lazy SIMD builtin initialization.
14384         * config/aarch64/aarch64.cc
14385         (aarch64_option_valid_attribute_p): Likewise.
14387 2022-09-05  Xi Ruoyao  <xry111@xry111.site>
14389         * config/loongarch/genopts/loongarch.opt.in: Add
14390         -mdirect-extern-access option.
14391         * config/loongarch/loongarch.opt: Regenerate.
14392         * config/loongarch/loongarch.cc
14393         (loongarch_symbol_binds_local_p): Return true if
14394         TARGET_DIRECT_EXTERN_ACCESS.
14395         (loongarch_option_override_internal): Complain if
14396         -mdirect-extern-access is used with -fPIC or -fpic.
14397         * doc/invoke.texi: Document -mdirect-extern-access for
14398         LoongArch.
14400 2022-09-05  Martin Liska  <mliska@suse.cz>
14402         * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
14403         DEBUGGER_REGNO.
14404         * doc/tm.texi: Regenerate.
14406 2022-09-05  Martin Liska  <mliska@suse.cz>
14408         * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
14409         Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
14410         (aarch64_debugger_regno): Likewise.
14411         * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
14412         (aarch64_debugger_regno): Likewise.
14413         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
14414         (DEBUGGER_REGNO): Likewise.
14415         (DWARF_FRAME_REGNUM): Likewise.
14416         * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
14417         * config/arc/arc.cc (arc_init_reg_tables): Likewise.
14418         * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
14419         (DEBUGGER_REGNO): Likewise.
14420         * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
14421         (arm_debugger_regno): Likewise.
14422         * config/arm/arm.cc (arm_dbx_regno): Likewise.
14423         (arm_debugger_regno): Likewise.
14424         * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
14425         (DEBUGGER_REGNO): Likewise.
14426         * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
14427         (DEBUGGER_REGNO): Likewise.
14428         * config/c6x/c6x.cc: Likewise.
14429         * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
14430         (DEBUGGER_REGNO): Likewise.
14431         * config/cris/cris.h (enum reg_class): Likewise.
14432         (DBX_REGISTER_NUMBER): Likewise.
14433         (DEBUGGER_REGNO): Likewise.
14434         * config/csky/csky.cc (enum reg_class): Likewise.
14435         * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
14436         (DBX_REGISTER_NUMBER): Likewise.
14437         (DEBUGGER_REGNO): Likewise.
14438         * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
14439         (DEBUGGER_REGNO): Likewise.
14440         * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
14441         (DEBUGGER_REGNO): Likewise.
14442         * config/gcn/gcn.cc (print_operand): Likewise.
14443         * config/i386/bsd.h (ASM_QUAD): Likewise.
14444         * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
14445         (DEBUGGER_REGNO): Likewise.
14446         (DWARF_FRAME_REGNUM): Likewise.
14447         * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
14448         (DEBUGGER_REGNO): Likewise.
14449         * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
14450         (DEBUGGER_REGNO): Likewise.
14451         * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
14452         (DEBUGGER_REGNO): Likewise.
14453         * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
14454         (DEBUGGER_REGNO): Likewise.
14455         * config/i386/gas.h: Likewise.
14456         * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
14457         (DEBUGGER_REGNO): Likewise.
14458         * config/i386/i386.cc (enum reg_class): Likewise.
14459         * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
14460         (DEBUGGER_REGNO): Likewise.
14461         * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
14462         (DEBUGGER_REGNO): Likewise.
14463         * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
14464         (DEBUGGER_REGNO): Likewise.
14465         * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
14466         (DEBUGGER_REGNO): Likewise.
14467         * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
14468         (DEBUGGER_REGNO): Likewise.
14469         * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
14470         (DEBUGGER_REGNO): Likewise.
14471         * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
14472         (DEBUGGER_REGNO): Likewise.
14473         * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
14474         (DEBUGGER_REGNO): Likewise.
14475         * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
14476         (DEBUGGER_REGNO): Likewise.
14477         * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
14478         (DEBUGGER_REGNO): Likewise.
14479         * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
14480         (ia64_debugger_regno): Likewise.
14481         * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
14482         (ia64_dbx_regno): Likewise.
14483         (ia64_debugger_regno): Likewise.
14484         (process_cfa_adjust_cfa): Likewise.
14485         (process_cfa_register): Likewise.
14486         (ia64_asm_unwind_emit): Likewise.
14487         * config/ia64/ia64.h: Likewise.
14488         * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
14489         (DEBUGGER_REGNO): Likewise.
14490         * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
14491         (DEBUGGER_REGNO): Likewise.
14492         * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
14493         * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
14494         (DEBUGGER_REGNO): Likewise.
14495         * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
14496         (DEBUGGER_REGNO): Likewise.
14497         * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
14498         (DEBUGGER_REGNO): Likewise.
14499         (__transfer_from_trampoline): Likewise.
14500         * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
14501         (DEBUGGER_REGNO): Likewise.
14502         * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
14503         (DBX_REGISTER_NUMBER): Likewise.
14504         (DEBUGGER_REGNO): Likewise.
14505         * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
14506         * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
14507         (DEBUGGER_REGNO): Likewise.
14508         (GP_DBX_FIRST): Likewise.
14509         (GP_DEBUGGER_FIRST): Likewise.
14510         * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
14511         (DEBUGGER_REGNO): Likewise.
14512         * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
14513         (mmix_debugger_regno): Likewise.
14514         * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
14515         (mmix_debugger_regno): Likewise.
14516         * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
14517         (DEBUGGER_REGNO): Likewise.
14518         * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
14519         (nds32_debugger_regno): Likewise.
14520         * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
14521         (nds32_debugger_regno): Likewise.
14522         (nds32_use_blocks_for_constant_p): Likewise.
14523         * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
14524         (DEBUGGER_REGNO): Likewise.
14525         * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
14526         (DEBUGGER_REGNO): Likewise.
14527         * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
14528         (DEBUGGER_REGNO): Likewise.
14529         * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
14530         (DEBUGGER_REGNO): Likewise.
14531         * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
14532         (DEBUGGER_REGNO): Likewise.
14533         * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
14534         (rs6000_debugger_regno): Likewise.
14535         * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
14536         (rs6000_debugger_regno): Likewise.
14537         * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
14538         (DEBUGGER_REGNO): Likewise.
14539         (DWARF2_FRAME_REG_OUT): Likewise.
14540         * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
14541         (DEBUGGER_REGNO): Likewise.
14542         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
14543         (DEBUGGER_REGNO): Likewise.
14544         * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
14545         (DEBUGGER_REGNO): Likewise.
14546         * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
14547         (DEBUGGER_REGNO): Likewise.
14548         (SH_DBX_REGISTER_NUMBER): Likewise.
14549         (SH_DEBUGGER_REGNO): Likewise.
14550         * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
14551         (DEBUGGER_REGNO): Likewise.
14552         * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
14553         (DEBUGGER_REGNO): Likewise.
14554         * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
14555         (DEBUGGER_REGNO): Likewise.
14556         * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
14557         (DEBUGGER_REGNO): Likewise.
14558         * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
14559         (xtensa_debugger_regno): Likewise.
14560         * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
14561         (xtensa_debugger_regno): Likewise.
14562         * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
14563         (DEBUGGER_REGNO): Likewise.
14564         * defaults.h (DBX_REGISTER_NUMBER): Likewise.
14565         (DEBUGGER_REGNO): Likewise.
14566         (DWARF_FRAME_REGNUM): Likewise.
14567         * doc/tm.texi: Likewise.
14568         * doc/tm.texi.in: Likewise.
14569         * dwarf2out.cc (dbx_reg_number): Likewise.
14570         (debugger_reg_number): Likewise.
14571         (reg_loc_descriptor): Likewise.
14572         (multiple_reg_loc_descriptor): Likewise.
14573         (mem_loc_descriptor): Likewise.
14574         * except.cc: Likewise.
14576 2022-09-05  konglin1  <lingling.kong@intel.com>
14578         PR target/106742
14579         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
14580         Handle V8BF mode.
14581         (expand_vec_perm_broadcast_1): Ditto.
14582         * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
14583         (vec_set<mode>_0): Add @ to it.
14584         (@vec_set<mode>_0): Ditto.
14585         (vec_interleave_high<mode><mask_name>): Ditto.
14586         (@vec_interleave_high<mode><mask_name>): Ditto.
14587         (vec_interleave_low<mode><mask_name>): Ditto.
14588         (@vec_interleave_low<mode><mask_name>): Ditto.
14589         * config/i386/subst.md (SUBST_V): Add BF vector mode.
14591 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
14593         * value-range.cc (early_nan_resolve): Remove.
14594         (frange::intersect): Handle NANs.
14596 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
14598         * value-range.cc (frange::union_): Do not drop properties when
14599         unioning a NAN with something else.
14600         (range_tests_signed_zeros): Add tests.
14602 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
14604         * real.cc (encode_ieee_single): Use real_isdenormal.
14605         (encode_ieee_double): Same.
14606         (encode_ieee_extended): Same.
14607         (encode_ieee_quad): Same.
14608         (encode_ieee_half): Same.
14609         (encode_arm_bfloat_half): Same.
14610         * real.h (real_isdenormal): New.
14612 2022-09-03  Aldy Hernandez  <aldyh@redhat.com>
14614         * value-range.cc (frange::singleton_p): Move NAN check to the top.
14616 2022-09-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14618         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
14620 2022-09-03  Jakub Jelinek  <jakub@redhat.com>
14622         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
14623         (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
14624         and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
14625         (enum omp_clause_doacross_kind): New type.
14626         (struct tree_omp_clause): Add subcode.doacross_kind member.
14627         * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
14628         (OMP_CLAUSE_DOACROSS_KIND): Define.
14629         (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
14630         (OMP_CLAUSE_DOACROSS_DEPEND): Define.
14631         (OMP_CLAUSE_ORDERED_DOACROSS): Define.
14632         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
14633         OMP_CLAUSE_DOACROSS entries.
14634         * tree-nested.cc (convert_nonlocal_omp_clauses,
14635         convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
14636         * tree-pretty-print.cc (dump_omp_clause): Don't handle
14637         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.  Handle
14638         OMP_CLAUSE_DOACROSS.
14639         * gimplify.cc (gimplify_omp_depend): Don't handle
14640         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
14641         (gimplify_scan_omp_clauses): Likewise.  Handle OMP_CLAUSE_DOACROSS.
14642         (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
14643         (find_standalone_omp_ordered): New function.
14644         (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
14645         body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
14646         set OMP_CLAUSE_ORDERED_DOACROSS.
14647         (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
14648         OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
14649         diagnostics that presence or absence of ordered clause parameter
14650         is irrelevant.  Handle doacross(sink:omp_cur_iteration-1).  Use
14651         actual user name of the clause - doacross or depend - in diagnostics.
14652         * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
14653         if !OMP_CLAUSE_ORDERED_DOACROSS (t).  If
14654         OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
14655         set fd->ordered to -1 and set it after the loop in that case to
14656         fd->collapse.
14657         * omp-low.cc (check_omp_nesting_restrictions): Don't handle
14658         OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
14659         OMP_CLAUSE_DOACROSS.  Use actual user name of the clause - doacross
14660         or depend - in diagnostics.  Diagnose mixing of stand-alone and
14661         block associated ordered constructs binding to the same loop.
14662         (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
14663         instead handle OMP_CLAUSE_DOACROSS.
14664         (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
14665         OMP_CLAUSE_DEPEND.
14666         (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
14667         OMP_CLAUSE_DEPEND_SINK.
14668         * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
14669         doacross(sink:omp_cur_iteration-1).
14670         (expand_omp_ordered_source_sink): Use
14671         OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
14672         OMP_CLAUSE_DEPEND_SINK_NEGATIVE.  Use actual user name of the clause
14673         - doacross or depend - in diagnostics.
14674         (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
14675         OMP_CLAUSE_DEPEND.
14676         (build_omp_regions_1): Likewise.
14677         (omp_make_gimple_edges): Likewise.
14678         * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
14679         * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
14680         * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
14682 2022-09-02  David Malcolm  <dmalcolm@redhat.com>
14684         PR c/90885
14685         * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
14687 2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
14689         PR d/105659
14690         * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
14691         * config/aarch64/aarch64-d.cc: Include tm_d.h.
14692         * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
14693         config/aarch64/aarch64-d.h.
14694         (aarch64_d_register_target_info): Likewise.
14695         * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
14696         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14697         * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
14698         tm_p.h.
14699         * config/arm/arm-protos.h (arm_d_target_versions): Move to
14700         config/arm/arm-d.h.
14701         (arm_d_register_target_info): Likewise.
14702         * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
14703         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14704         * config/default-d.cc: Remove memmodel.h include.
14705         * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
14706         * config/glibc-d.cc: Likewise.
14707         * config/i386/i386-d.cc: Include tm_d.h.
14708         * config/i386/i386-protos.h (ix86_d_target_versions): Move to
14709         config/i386/i386-d.h.
14710         (ix86_d_register_target_info): Likewise.
14711         (ix86_d_has_stdcall_convention): Likewise.
14712         * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
14713         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14714         (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
14715         * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
14716         * config/mips/mips-d.cc: Include tm_d.h.
14717         * config/mips/mips-protos.h (mips_d_target_versions): Move to
14718         config/mips/mips-d.h.
14719         (mips_d_register_target_info): Likewise.
14720         * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
14721         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14722         * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
14723         * config/openbsd-d.cc: Likewise.
14724         * config/pa/pa-d.cc: Include tm_d.h.
14725         * config/pa/pa-protos.h (pa_d_target_versions): Move to
14726         config/pa/pa-d.h.
14727         (pa_d_register_target_info): Likewise.
14728         * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
14729         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14730         * config/riscv/riscv-d.cc: Include tm_d.h.
14731         * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
14732         config/riscv/riscv-d.h.
14733         (riscv_d_register_target_info): Likewise.
14734         * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
14735         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14736         * config/rs6000/rs6000-d.cc: Include tm_d.h.
14737         * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
14738         config/rs6000/rs6000-d.h.
14739         (rs6000_d_register_target_info): Likewise.
14740         * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
14741         (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
14742         * config/s390/s390-d.cc: Include tm_d.h.
14743         * config/s390/s390-protos.h (s390_d_target_versions): Move to
14744         config/s390/s390-d.h.
14745         (s390_d_register_target_info): Likewise.
14746         * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
14747         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14748         * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
14749         * config/sparc/sparc-d.cc: Include tm_d.h.
14750         * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
14751         config/sparc/sparc-d.h.
14752         (sparc_d_register_target_info): Likewise.
14753         * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
14754         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14755         * configure: Regenerate.
14756         * configure.ac (tm_d_file): Remove defaults.h.
14757         (tm_d_include_list): Remove options.h and insn-constants.h.
14758         * config/aarch64/aarch64-d.h: New file.
14759         * config/arm/arm-d.h: New file.
14760         * config/i386/i386-d.h: New file.
14761         * config/mips/mips-d.h: New file.
14762         * config/pa/pa-d.h: New file.
14763         * config/riscv/riscv-d.h: New file.
14764         * config/rs6000/rs6000-d.h: New file.
14765         * config/s390/s390-d.h: New file.
14766         * config/sparc/sparc-d.h: New file.
14768 2022-09-02  Aldy Hernandez  <aldyh@redhat.com>
14770         * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
14771         (fold_builtin_fpclassify): Same.
14772         * fold-const-call.cc (fold_const_call_cc): Same.
14773         * match.pd: Same.
14774         * omp-low.cc (omp_reduction_init_op): Same.
14775         * realmpfr.cc (real_from_mpfr): Same.
14776         * tree.cc (build_complex_inf): Same.
14778 2022-09-02  Peter Bergner  <bergner@linux.ibm.com>
14780         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
14781         NOP_EXPR for MMA pointer casting.
14783 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
14785         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
14786         Reduce the fallback cost to 1.  Only use it if the number of
14787         input lanes is equal to the number of output lanes.
14789 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
14791         PR tree-optimization/106787
14792         * tree-vect-slp.cc (vect_map_to_instance): New function, split out
14793         from...
14794         (vect_bb_partition_graph_r): ...here.  Replace the visited set
14795         with a map from nodes to instances.  Ensure that a node only
14796         appears in one partition.
14797         (vect_bb_partition_graph): Update accordingly.
14799 2022-09-02  Richard Biener  <rguenther@suse.de>
14801         * timevar.def (TV_TREE_RPO_VN): New.
14802         * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
14803         * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
14804         (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
14805         (pass_fre::execute): Adjust.
14806         * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
14808 2022-09-02  Richard Biener  <rguenther@suse.de>
14810         PR tree-optimization/106809
14811         * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
14812         more than one successor before doing extra work.
14814 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
14816         * common/config/riscv/riscv-common.cc: Include <vector>.
14817         (struct riscv_multi_lib_info_t): New.
14818         (riscv_subset_list::match_score): Ditto.
14819         (find_last_appear_switch): Ditto.
14820         (prefixed_with): Ditto.
14821         (struct multi_lib_info_t): Ditto.
14822         (riscv_current_arch_str): Ditto.
14823         (riscv_current_abi_str): Ditto.
14824         (riscv_multi_lib_info_t::parse): Ditto.
14825         (riscv_check_cond): Ditto.
14826         (riscv_check_conds): Ditto.
14827         (riscv_compute_multilib): Ditto.
14828         (TARGET_COMPUTE_MULTILIB): Defined.
14829         * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
14830         doing link.
14831         (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
14832         * config/riscv/riscv.h (riscv_multi_lib_check): New.
14833         (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
14834         * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
14836 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
14838         * common/common-target.def (compute_multilib): New.
14839         * common/common-targhooks.h (default_compute_multilib): New.
14840         * common/common-targhooks.cc (default_compute_multilib): New.
14841         * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
14842         * doc/tm.texi: Regen.
14843         * gcc.cc: Include common/common-target.h.
14844         (set_multilib_dir) Call targetm_common.compute_multilib.
14845         (SWITCH_LIVE): Move to opts.h.
14846         (SWITCH_FALSE): Ditto.
14847         (SWITCH_IGNORE): Ditto.
14848         (SWITCH_IGNORE_PERMANENTLY): Ditto.
14849         (SWITCH_KEEP_FOR_GCC): Ditto.
14850         (struct switchstr): Ditto.
14851         * opts.h (SWITCH_LIVE): Move from gcc.c.
14852         (SWITCH_FALSE): Ditto.
14853         (SWITCH_IGNORE): Ditto.
14854         (SWITCH_IGNORE_PERMANENTLY): Ditto.
14855         (SWITCH_KEEP_FOR_GCC): Ditto.
14856         (struct switchstr): Ditto.
14858 2022-09-02  Martin Liska  <mliska@suse.cz>
14860         * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
14861         debugging format.
14863 2022-09-02  Martin Liska  <mliska@suse.cz>
14865         * Makefile.in: Remove -gstabs option support, DBX-related
14866         macros and DBX debugging info support.
14867         * collect2.cc (scan_prog_file): Likewise.
14868         * common.opt: Likewise.
14869         * config.gcc: Likewise.
14870         * config.in: Likewise.
14871         * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
14872         * config/alpha/alpha.cc: Likewise.
14873         * config/alpha/elf.h (ASM_SPEC): Likewise.
14874         * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
14875         (DBX_CONTIN_LENGTH): Likewise.
14876         * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
14877         (DBX_CONTIN_LENGTH): Likewise.
14878         * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
14879         * config/darwin.h (DSYMUTIL_SPEC): Likewise.
14880         (ASM_DEBUG_SPEC): Likewise.
14881         (DBX_DEBUGGING_INFO): Likewise.
14882         (DBX_USE_BINCL): Likewise.
14883         (DBX_CONTIN_LENGTH): Likewise.
14884         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
14885         * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
14886         (DBX_CONTIN_LENGTH): Likewise.
14887         * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
14888         (DBX_CONTIN_LENGTH): Likewise.
14889         * config/i386/gas.h (DBX_NO_XREFS): Likewise.
14890         (DBX_CONTIN_LENGTH): Likewise.
14891         * config/ia64/ia64.h: Likewise.
14892         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
14893         * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
14894         * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
14895         (DBX_CONTIN_LENGTH): Likewise.
14896         (DBX_CONTIN_CHAR): Likewise.
14897         * config/mips/mips.cc (mips_output_filename): Likewise.
14898         (mips_option_override): Likewise.
14899         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
14900         (DBX_DEBUGGING_INFO): Likewise.
14901         (DBX_CONTIN_LENGTH): Likewise.
14902         (DBX_REGISTER_NUMBER): Likewise.
14903         (GP_DBX_FIRST): Likewise.
14904         (FP_DBX_FIRST): Likewise.
14905         (MD_DBX_FIRST): Likewise.
14906         * config/nvptx/nvptx.cc: Likewise.
14907         * config/openbsd.h (DBX_NO_XREFS): Likewise.
14908         * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
14909         * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
14910         (DBX_CONTIN_LENGTH): Likewise.
14911         * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
14912         (DBX_USE_BINCL): Likewise.
14913         (DBX_LINES_FUNCTION_RELATIVE): Likewise.
14914         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
14915         * config/pdp11/pdp11.cc: Likewise.
14916         * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
14917         (PREFERRED_DEBUGGING_TYPE): Likewise.
14918         (DBX_CONTIN_LENGTH): Likewise.
14919         * config/rs6000/rs6000-builtin.cc: Likewise.
14920         * config/rs6000/rs6000-call.cc: Likewise.
14921         * config/rs6000/rs6000-logue.cc (defined): Likewise.
14922         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
14923         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14924         (rs6000_xcoff_declare_function_name): Likewise.
14925         * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
14926         (DBX_FUNCTION_FIRST): Likewise.
14927         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
14928         * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
14929         * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
14930         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
14931         * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
14932         * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
14933         * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
14934         * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
14935         * config/vax/vax.cc (vax_file_start): Likewise.
14936         * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
14937         (DBX_CONTIN_LENGTH): Likewise.
14938         (DBX_CONTIN_CHAR): Likewise.
14939         (DBX_NO_XREFS): Likewise.
14940         (DBX_STATIC_STAB_DATA_SECTION): Likewise.
14941         * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
14942         (XCOFF_DEBUGGING_INFO): Likewise.
14943         * configure: Regenerate. Likewise.
14944         * configure.ac: Likewise.
14945         * debug.h: Likewise.
14946         * doc/install.texi: Likewise.
14947         * doc/invoke.texi: Likewise.
14948         * doc/passes.texi: Likewise.
14949         * doc/tm.texi: Likewise.
14950         * doc/tm.texi.in: Likewise.
14951         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
14952         (dw2_asm_output_nstring): Likewise.
14953         (USE_LINKONCE_INDIRECT): Likewise.
14954         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
14955         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14956         (output_fde): Likewise.
14957         (output_call_frame_info): Likewise.
14958         (have_macinfo): Likewise.
14959         (add_AT_loc_list): Likewise.
14960         (add_AT_view_list): Likewise.
14961         (output_compilation_unit_header): Likewise.
14962         (output_pubnames): Likewise.
14963         (output_aranges): Likewise.
14964         (output_line_info): Likewise.
14965         (output_macinfo): Likewise.
14966         (dwarf2out_finish): Likewise.
14967         (dwarf2out_early_finish): Likewise.
14968         * final.cc (final_scan_insn_1): Likewise.
14969         (rest_of_handle_final): Likewise.
14970         * flag-types.h (enum debug_info_type): Likewise.
14971         (DBX_DEBUG): Likewise.
14972         (XCOFF_DEBUG): Likewise.
14973         * function.cc (defined): Likewise.
14974         * gcc.cc (defined): Likewise.
14975         (ASM_DEBUG_SPEC): Likewise.
14976         (ASM_DEBUG_OPTION_SPEC): Likewise.
14977         * opts.cc (common_handle_option): Likewise.
14978         (set_debug_level): Likewise.
14979         * system.h (fancy_abort): Likewise.
14980         * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
14981         (TARGET_ASM_DESTRUCTOR): Likewise.
14982         * toplev.cc (defined): Likewise.
14983         * varasm.cc: Likewise.
14984         * config/dbxcoff.h: Removed.
14985         * config/dbxelf.h: Removed.
14986         * dbxout.cc: Removed.
14987         * dbxout.h: Removed.
14988         * gstab.h: Removed.
14989         * stab.def: Removed.
14990         * xcoffout.cc: Removed.
14991         * xcoffout.h: Removed.
14993 2022-09-02  Simon Rainer  <gcc.gnu@vvalter.com>
14995         PR ipa/106627
14996         * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
14997         Set TREE_NOTHROW correctly for dispatcher declaration.
14998         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
14999         Likewise.
15001 2022-09-01  Tamar Christina  <tamar.christina@arm.com>
15003         PR other/106782
15004         * config/aarch64/aarch64.cc
15005         (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
15006         HOST_WIDE_INT_PRINT_UNSIGNED.
15008 2022-09-01  Richard Sandiford  <richard.sandiford@arm.com>
15010         * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
15011         VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
15012         to the number of vector elements, if that's a known constant.
15013         (vect_optimize_slp_pass::is_compatible_layout): Remove associated
15014         comment about zero SLP_TREE_LANES.
15015         (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
15016         all partition members when looking for potential layouts.
15017         Handle existing permutes of fixed-length vectors.
15019 2022-09-01  Uroš Bizjak  <ubizjak@gmail.com>
15021         PR target/106707
15022         * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
15023         Do not convert a move pattern where both operands are AX_REG.
15025 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15027         * range-op-float.cc (build_le): Convert to dconst*inf.
15028         (build_ge): Same.
15029         * value-range.cc (frange::set_signbit): Same.
15030         (frange::normalize_kind): Same.
15031         (range_tests_floats): Same.
15032         * value-range.h (vrp_val_max): Same.
15033         (vrp_val_min): Same.
15034         (frange::set_varying): Same.
15036 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15038         * emit-rtl.cc (init_emit_once): Initialize dconstinf and
15039         dconstninf.
15040         * real.h: Add dconstinf and dconstninf.
15042 2022-09-01  Richard Biener  <rguenther@suse.de>
15044         * gimple-predicate-analysis.cc (compute_control_dep_chain):
15045         Remove cycle detection, instead avoid walking backedges.
15047 2022-09-01  Richard Biener  <rguenther@suse.de>
15049         * gimple-predicate-analysis.cc (compute_control_dep_chain):
15050         New wrapping overload.
15051         (uninit_analysis::init_use_preds): Simplify.
15052         (uninit_analysis::init_from_phi_def): Likewise.
15054 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15056         * gimple-range-fold.cc
15057         (fold_using_range::range_of_builtin_int_call): Add case for
15058         CFN_BUILT_IN_SIGNBIT.
15060 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15062         * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
15063         bit.
15064         (foperator_not_equal::op1_range): Same.
15065         * value-query.cc (range_query::get_tree_range): Set sign bit.
15066         * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
15067         * value-range.cc (frange::set_signbit): New.
15068         (frange::set): Adjust for sign bit.
15069         (frange::normalize_kind): Same.
15070         (frange::union_): Remove useless comment.
15071         (frange::intersect): Same.
15072         (frange::contains_p): Adjust for sign bit.
15073         (frange::singleton_p): Same.
15074         (frange::verify_range): Same.
15075         (range_tests_signbit): New tests.
15076         (range_tests_floats): Call range_tests_signbit.
15077         * value-range.h (class frange_props): Add signbit
15078         (class frange): Same.
15080 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
15082         PR other/106782
15083         * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
15084         instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
15085         * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
15086         derived types of gimple to gimple * to avoid -Wformat warnings.
15087         * tree-vect-loop-manip.cc (vect_set_loop_condition,
15088         vect_update_ivs_after_vectorizer): Likewise.
15089         * tree-vect-stmts.cc (vectorizable_load): Likewise.
15090         * tree-vect-patterns.cc (vect_split_statement,
15091         vect_recog_mulhs_pattern, vect_recog_average_pattern,
15092         vect_determine_precisions_from_range,
15093         vect_determine_precisions_from_users): Likewise.
15094         * gimple-loop-versioning.cc
15095         (loop_versioning::analyze_term_using_scevs): Likewise.
15096         * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
15097         (vect_build_slp_tree): Cast slp_tree to void * to avoid
15098         -Wformat warnings.
15099         (optimize_load_redistribution_1, vect_match_slp_patterns,
15100         vect_build_slp_instance, vect_optimize_slp_pass::materialize,
15101         vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
15102         vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
15103         (vect_print_slp_tree): Likewise.  Also use
15104         HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
15105         * tree-vect-loop.cc (vect_determine_vectorization_factor,
15106         vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
15107         vectorizable_induction, vect_transform_loop): Cast pointers to derived
15108         types of gimple to gimple * to avoid -Wformat warnings.
15109         (vect_analyze_loop_2): Cast slp_tree to void * to avoid
15110         -Wformat warnings.
15111         (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
15112         instead of %d.
15113         * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
15114         instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
15115         instead of SLP_TREE_DEF_TYPE (node).
15117 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
15119         PR c++/106655
15120         * doc/invoke.texi (-Winvalid-utf8): Document it.
15122 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15124         PR tree-optimization/106785
15125         * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
15126         (range_tests_floats): Same.
15128 2022-09-01  konglin1  <lingling.kong@intel.com>
15130         * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
15131         recognition.
15133 2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
15135         PR target/101322
15136         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
15137         Enforce the use of a valid MMA pointer type.
15139 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15141         * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
15142         registers.
15144 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15146         * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
15147         (riscv_output_move): Add csrr vlenb assembly.
15148         * config/riscv/riscv.md (move_type): Add csrr vlenb type.
15149         (ext): New attribute.
15150         (ext_enabled): Ditto.
15151         (enabled): Ditto.
15153 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15155         * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
15156         "vr" constraint.
15157         (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
15158         (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
15159         (vp): Add poly constraint.
15161 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15163         * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
15165 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15167         * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
15168         configuration according to TARGET_MIN_VLEN.
15169         * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
15171 2022-08-31  Martin Liska  <mliska@suse.cz>
15173         * config.build: Remove deprecated ports.
15174         * config.gcc: Likewise.
15175         * config.host: Likewise.
15176         * configure.ac: Likewise.
15177         * configure: Regenerate.
15178         * config/pa/pa-hpux10.h: Removed.
15179         * config/pa/pa-hpux10.opt: Removed.
15180         * config/pa/t-dce-thr: Removed.
15182 2022-08-31  Martin Liska  <mliska@suse.cz>
15184         * Makefile.in: Always install limits.h and syslimits.h to
15185         include folder.
15186         * configure.ac: Assign STMP_FIXINC blank if
15187         --disable-fixincludes is used.
15188         * configure: Regenerate.
15190 2022-08-31  Richard Biener  <rguenther@suse.de>
15192         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15193         Assert the guard_bb isn't empty and has more than one successor.
15194         Drop appropriate parts of the predicate when an edge fails to
15195         register a predicate.
15196         (predicate::dump): Dump empty predicate as TRUE.
15198 2022-08-31  Richard Biener  <rguenther@suse.de>
15200         PR tree-optimization/90994
15201         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15202         Ignore exceptional control flow and skip the edge for the purpose of
15203         predicate generation also for non-calls.
15205 2022-08-31  Aldy Hernandez  <aldyh@redhat.com>
15207         * value-range-storage.cc (frange_storage_slot::set_frange): Save
15208         endpoints.
15209         (frange_storage_slot::get_frange): Restore endpoints.
15210         * value-range-storage.h (class frange_storage_slot): Add endpoint
15211         fields.
15213 2022-08-31  Martin Liska  <mliska@suse.cz>
15215         PR tree-optimization/106789
15216         * range-op-float.cc (default_frelop_fold_range): Remove the
15217         function.
15219 2022-08-31  Martin Liska  <mliska@suse.cz>
15221         * value-range.h: Add more override keywords.
15223 2022-08-31  Martin Liska  <mliska@suse.cz>
15225         * value-range.h: Add override.
15227 2022-08-31  Richard Biener  <rguenther@suse.de>
15229         PR tree-optimization/65244
15230         * gimple-predicate-analysis.h (predicate::init_from_control_deps):
15231         Add argument to specify whether the predicate is for the USE.
15232         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15233         Also include predicates effective fallthru control edges when
15234         the predicate is for the USE.
15236 2022-08-31  Richard Biener  <rguenther@suse.de>
15238         PR tree-optimization/73550
15239         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15240         Sanitize debug dumping.  Handle case labels with a CASE_HIGH.
15241         (predicate::dump): Adjust for better readability.
15243 2022-08-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
15244             Jakub Jelinek  <jakub@redhat.com>
15246         * omp-simd-clone.cc (simd_clone_adjust_return_type,
15247         simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
15248         instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
15250 2022-08-31  Richard Sandiford  <richard.sandiford@arm.com>
15252         * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
15253         argument.
15255 2022-08-31  zhongjuzhe  <juzhe.zhong@rivai.ai>
15257         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
15258         initialize const_vf to 0.
15260 2022-08-31  Martin Liska  <mliska@suse.cz>
15262         * config.gcc: Remove cr16.
15264 2022-08-30  Martin Jambor  <mjambor@suse.cz>
15266         * vec.h (array_slice): Add constructors for non-const reference to
15267         heap vector and pointers to heap vectors.
15269 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
15271         * value-range.cc (early_nan_resolve): Change comment.
15272         (frange::union_): Handle union when one side is a NAN.
15273         (range_tests_nan): Add tests for NAN union.
15275 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
15277         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
15278         (gcn_simd_clone_adjust): New.
15279         (gcn_simd_clone_usable): New.
15280         (TARGET_SIMD_CLONE_ADJUST): New.
15281         (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
15282         (TARGET_SIMD_CLONE_USABLE): New.
15284 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
15286         * doc/tm.texi: Regenerate.
15287         * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
15288         vecsize.
15289         (simd_clone_adjust_argument_types): Likewise.
15290         * target.def (compute_vecsize_and_simdlen): Document the new
15291         vecsize_int and vecsize_float semantics.
15293 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15295         * expmed.cc (store_bit_field_1): Fix byte offset calculation
15296         for undefined structures.
15298 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15300         * params.opt (-param=vect-max-layout-candidates=): New parameter.
15301         * doc/invoke.texi (vect-max-layout-candidates): Document it.
15302         * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
15303         (auto_load_permutation_t): Likewise.
15304         * tree-vect-slp.cc (vect_slp_node_weight): New function.
15305         (slpg_layout_cost): New class.
15306         (slpg_vertex): Replace perm_in and perm_out with partition,
15307         out_degree, weight and out_weight.
15308         (slpg_partition_info, slpg_partition_layout_costs): New classes.
15309         (vect_optimize_slp_pass): Likewise, cannibalizing some part of
15310         the previous vect_optimize_slp.
15311         (vect_optimize_slp): Use it.
15313 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15315         * hash-traits.h (vec_hash_base): New class.
15316         (vec_free_hash_base): Likewise.
15318 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15320         * hash-traits.h (int_hash_base): New struct, split out from...
15321         (int_hash): ...this class, which now inherits from int_hash_base.
15322         * hash-map-traits.h (unbounded_hashmap_traits): Take a template
15323         parameter for the key that provides hash and equality functions.
15324         (unbounded_int_hashmap_traits): Turn into a type alias of
15325         unbounded_hashmap_traits.
15327 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15329         * graphds.cc (graphds_scc): Add a pass-back parameter for the
15330         final node order.
15331         * graphds.h (graphds_scc): Update prototype accordingly.
15333 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15335         * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
15336         (vect_transform_slp_perm_load): ...here.  Use SLP_TREE_VECTYPE instead
15337         of STMT_VINFO_VECTYPE.
15339 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15341         * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
15342         (vectorizable_slp_permutation): ...here.
15344 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
15346         * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
15347         that the requested number of units is interoperable with the requested
15348         prevailing mode.
15350 2022-08-30  Martin Liska  <mliska@suse.cz>
15352         * config.gcc: Remove the port.
15353         * config/m32c/rtems.h: Removed.
15355 2022-08-30  Richard Biener  <rguenther@suse.de>
15357         PR tree-optimization/73550
15358         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15359         Do not apply MAX_NUM_CHAINS again.
15361 2022-08-30  Richard Biener  <rguenther@suse.de>
15363         * gimple-predicate-analysis.cc (format_edge_vec): Dump
15364         both source and destination.
15365         (dump_dep_chains): Remove.
15366         (uninit_analysis::init_use_preds): Remove redundant
15367         dumping of chains.
15369 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
15371         * value-range-storage.cc (frange_storage_slot::get_frange): Use
15372         frange_nan.
15373         * value-range.cc (frange::set_nan): New.
15374         (frange_nan): Move to header file.
15375         (range_tests_nan): Adjust frange_nan callers to pass type.
15376         New test.
15377         * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
15378         (frange_nan): New.
15380 2022-08-30  Richard Biener  <rguenther@suse.de>
15382         PR tree-optimization/67196
15383         * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
15384         Simplify and normalize use prediates before first use.
15386 2022-08-30  Richard Biener  <rguenther@suse.de>
15388         * gimple-predicate-analysis.cc (dump_pred_chain): Fix
15389         parentizing and AND prepending.
15390         (predicate::dump): Do not dump the GENERIC expanded
15391         predicate, properly parentize and prepend ORs to the
15392         piecewise predicate dump.
15393         (build_pred_expr): Remove.
15395 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
15397         * range-op-float.cc (finite_operand_p): New.
15398         (build_le): New.
15399         (build_lt): New.
15400         (build_ge): New.
15401         (build_gt): New.
15402         (foperator_equal::fold_range): New implementation with endpoints.
15403         (foperator_equal::op1_range): Same.
15404         (foperator_not_equal::fold_range): Same.
15405         (foperator_not_equal::op1_range): Same.
15406         (foperator_lt::fold_range): Same.
15407         (foperator_lt::op1_range): Same.
15408         (foperator_lt::op2_range): Same.
15409         (foperator_le::fold_range): Same.
15410         (foperator_le::op1_range): Same.
15411         (foperator_le::op2_range): Same.
15412         (foperator_gt::fold_range): Same.
15413         (foperator_gt::op1_range): Same.
15414         (foperator_gt::op2_range): Same.
15415         (foperator_ge::fold_range): Same.
15416         (foperator_ge::op1_range): Same.
15417         (foperator_ge::op2_range): Same.
15419 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
15421         * range-op-float.cc (frange_set_nan): New.
15422         (frange_drop_inf): New.
15423         (frange_drop_ninf): New.
15424         (foperator_equal::op1_range): Adjust for endpoints.
15425         (foperator_lt::op1_range): Same.
15426         (foperator_lt::op2_range): Same.
15427         (foperator_gt::op1_range): Same.
15428         (foperator_gt::op2_range): Same.
15429         (foperator_unordered::op1_range): Same.
15430         * value-query.cc (range_query::get_tree_range): Same.
15431         * value-range-pretty-print.cc (vrange_printer::visit): Same.
15432         * value-range-storage.cc (frange_storage_slot::get_frange): Same.
15433         * value-range.cc (frange::set): Same.
15434         (frange::normalize_kind): Same.
15435         (frange::union_): Same.
15436         (frange::intersect): Same.
15437         (frange::operator=): Same.
15438         (early_nan_resolve): New.
15439         (frange::contains_p): New.
15440         (frange::singleton_p): New.
15441         (frange::set_nonzero): New.
15442         (frange::nonzero_p): New.
15443         (frange::set_zero): New.
15444         (frange::zero_p): New.
15445         (frange::set_nonnegative): New.
15446         (frange_float): New.
15447         (frange_nan): New.
15448         (range_tests_nan): New.
15449         (range_tests_signed_zeros): New.
15450         (range_tests_floats): New.
15451         (range_tests): New.
15452         * value-range.h (frange::lower_bound): New.
15453         (frange::upper_bound): New.
15454         (vrp_val_min): Use real_inf with a sign instead of negating inf.
15455         (frange::frange): New.
15456         (frange::set_varying): Adjust for endpoints.
15457         (real_max_representable): New.
15458         (real_min_representable): New.
15460 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
15462         * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
15463         for real zero.
15465 2022-08-30  Martin Liska  <mliska@suse.cz>
15467         * config/s390/s390.cc (s390_rtx_costs): Use proper type as
15468         argument.
15470 2022-08-30  Richard Biener  <rguenther@suse.de>
15472         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
15473         the set of fallthru reachable blocks from function entry
15474         and use that to determine wlims.always_executed.
15476 2022-08-30  Richard Biener  <rguenther@suse.de>
15478         PR tree-optimization/56654
15479         * tree-ssa-uninit.cc (cand_cmp): New.
15480         (find_uninit_use): First process all PHIs and collect candidate
15481         stmts, then sort those after RPO.
15482         (warn_uninitialized_phi): Pass on bb_to_rpo.
15483         (execute_late_warn_uninitialized): Compute and pass on
15484         reverse lookup of RPO number from basic block index.
15486 2022-08-30  Richard Biener  <rguenther@suse.de>
15488         * gimple-predicate-analysis.h (uninit_analysis::operator()):
15489         Remove.
15490         * gimple-predicate-analysis.cc
15491         (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
15492         simplify a bit.
15493         * tree-ssa-uninit.cc (defined_args): New global.
15494         (compute_uninit_opnds_pos): Mask with the recorded set
15495         of guarded maybe-uninitialized uses.
15496         (uninit_undef_val_t::operator()): Remove.
15497         (find_uninit_use): Process all PHI uses, recording the
15498         guarded ones and marking the PHI result as uninitialized
15499         consistently.
15500         (warn_uninitialized_phi): Adjust.
15501         (execute_late_warn_uninitialized): Get rid of the PHI worklist
15502         and instead walk the function in RPO order.
15503         * spellcheck.h (best_match::m_best_candidate_len): Initialize.
15505 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
15507         PR tree-optimization/106744
15508         * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
15510 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
15512         * expmed.cc (store_bit_field_1): Initialize regnum to 0.
15514 2022-08-29  David Faust  <david.faust@oracle.com>
15516         PR target/106745
15517         * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
15518         computation of index for anonymous members.
15520 2022-08-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
15522         * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
15523         target macro.
15525 2022-08-29  H.J. Lu  <hjl.tools@gmail.com>
15527         PR target/106748
15528         * config/i386/i386-expand.cc
15529         (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
15530         * config/i386/sse.md (V_256H): Add V16BF.
15532 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
15534         * config/s390/s390.cc (s390_address_cost): Declare.
15535         (s390_hard_regno_nregs): Declare.
15536         (s390_rtx_costs): Add handling for REG and MEM in SET.
15538 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
15540         * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
15541         (is_reverse_perm_mask): New function.
15542         (expand_perm_with_rot): Recognize reverse pattern.
15543         (expand_perm_with_vstbrq): New function.
15544         (expand_perm_with_vster): Use vler/vster for element reversal on z15.
15545         (vectorize_vec_perm_const_1): Use.
15546         (s390_vectorize_vec_perm_const): Add expand functions.
15547         * config/s390/vx-builtins.md: Prefer vster over vler.
15549 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
15551         * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
15552         * config/s390/vector.md: Rewrite patterns to use vec_select.
15553         * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
15554         Likewise.
15556 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
15558         PR target/100869
15559         * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
15560         (rotl<mode>3_di): New pattern.
15561         * config/s390/vx-builtins.md: Use vpdi and verll for reversing
15562         elements.
15564 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
15566         * config/s390/s390.cc (s390_issue_rate): Add z15.
15568 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
15570         * common/config/s390/s390-common.cc: Enable -funroll-loops and
15571         -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
15572         * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
15573         loops larger than 12 instructions.
15574         (s390_override_options_after_change): Set unroll options.
15575         (s390_option_override_internal): Likewise.
15576         * config/s390/s390.opt: Document munroll-only-small-loops.
15578 2022-08-29  Richard Biener  <rguenther@suse.de>
15580         * gimple-predicate-analysis.cc (is_loop_exit,
15581         find_control_equiv_block): Inline into single caller ...
15582         (uninit_analysis::init_use_preds): ... here and refactor.
15584 2022-08-29  Richard Biener  <rguenther@suse.de>
15586         * gimple-predicate-analysis.cc (compute_control_dep_chain):
15587         Inline is_loop_exit and refactor, add comment about
15588         loop exits.
15590 2022-08-29  Kito Cheng  <kito.cheng@sifive.com>
15592         * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
15593         (riscv_frame_info::reset(void)): New.
15594         (riscv_compute_frame_info): Use riscv_frame_info::reset instead
15595         of memset when clean frame.
15597 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
15599         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
15600         (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
15601         (riscv_address_insns): Add RVV modes condition.
15602         (riscv_binary_cost): Ditto.
15603         (riscv_rtx_costs): Adjust cost for RVV.
15604         (riscv_secondary_memory_needed): Add RVV modes condition.
15605         (riscv_hard_regno_nregs): Add RVV register allocation.
15606         (riscv_hard_regno_mode_ok): Add RVV register allocation.
15607         (riscv_class_max_nregs): Add RVV register allocation.
15608         * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
15609         (UNITS_PER_V_REG): New macro.
15610         (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
15611         (V_REG_FIRST): New macro.
15612         (V_REG_LAST): Ditto.
15613         (V_REG_NUM): Ditto.
15614         (V_REG_P): Ditto.
15615         (VL_REG_P): Ditto.
15616         (VTYPE_REG_P): Ditto.
15617         (RISCV_DWARF_VL): Ditto.
15618         (RISCV_DWARF_VTYPE): Ditto.
15619         (enum reg_class): Add RVV register types.
15620         (REG_CLASS_CONTENTS): Add RVV register types.
15621         * config/riscv/riscv.md: Add VL/VTYPE register number constants.
15623 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
15625         * config/riscv/riscv.md: Add new type for vector instructions.
15627 2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
15629         PR target/106017
15630         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
15631         of MMA pointer conversions.
15633 2022-08-27  Xi Ruoyao  <xry111@xry111.site>
15635         * config/i386/gcc-auto-profile: Regenerate.
15637 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
15639         * real.cc (real_iszero): New.
15640         * real.h (real_iszero): New.
15642 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
15644         * real.cc (real_isinf): New overload.
15645         (real_inf): Add sign argument.
15646         * real.h (real_isinf): New overload.
15647         (real_inf): Add sign argument.
15649 2022-08-26  Marek Polacek  <polacek@redhat.com>
15651         PR c++/81159
15652         * doc/invoke.texi: Document -Wself-move.
15654 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
15656         * value-range.cc (vrange::set): Set varying.
15657         (vrange::set_nonzero): Same.
15658         (vrange::set_zero): Same.
15659         (vrange::set_nonnegative): Same.
15661 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
15663         * range-op-float.cc (foperator_equal::op1_range): Do not blindly
15664         copy op2 range when honoring signed zeros.
15666 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
15668         * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
15669         add newline.
15670         (profitable_path_p): Same.
15672 2022-08-26  Richard Biener  <rguenther@suse.de>
15674         * gimple-predicate-analysis.h
15675         (uninit_analysis::use_cannot_happen): Remove.
15676         * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
15677         (uninit_analysis::use_cannot_happen): Likewise.
15678         (uninit_analysis::is_use_guarded): Do not call
15679         use_cannot_happen.
15680         (dump_predicates): Remove.
15681         (simple_control_dep_chain): Remove edge overload.
15683 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
15685         * internal-fn.cc (expand_GOMP_TARGET_REV): New.
15686         * internal-fn.def (GOMP_TARGET_REV): New.
15687         * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
15688         'omp target device_ancestor_host' as in_other_partition and don't
15689         error if absent.
15690         * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
15691         * omp-expand.cc (expand_omp_target): For reverse offload, remove
15692         sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
15693         empty-body nohost function.
15694         * omp-offload.cc (execute_omp_device_lower): Handle
15695         IFN_GOMP_TARGET_REV.
15696         (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
15697         nullify fn argument for reverse offload
15699 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
15701         * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
15702         * builtins.cc (expand_builtin_issignaling): New function.
15703         (expand_builtin_signbit): Don't overwrite target.
15704         (expand_builtin): Handle BUILT_IN_ISSIGNALING.
15705         (fold_builtin_classify): Likewise.
15706         (fold_builtin_1): Likewise.
15707         * optabs.def (issignaling_optab): New.
15708         * fold-const-call.cc (fold_const_call_ss): Handle
15709         BUILT_IN_ISSIGNALING.
15710         * config/i386/i386.md (issignalingxf2): New expander.
15711         * doc/extend.texi (__builtin_issignaling): Document.
15712         (__builtin_isinf, __builtin_isnan): Clarify behavior with
15713         -ffinite-math-only.
15714         * doc/md.texi (issignaling<mode>2): Likewise.
15716 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
15718         PR tree-optimization/106099
15719         * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
15720         * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
15721         __builtin_trap to avoid the need of vops.
15723 2022-08-26  Richard Biener  <rguenther@suse.de>
15725         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
15726         New helper.
15727         (compute_control_dep_chain): Adjust to honor marked region
15728         if provided.
15729         (uninit_analysis::init_from_phi_def): Pre-mark the dominating
15730         region to improve compute_control_dep_chain walking.
15731         * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
15733 2022-08-26  Richard Biener  <rguenther@suse.de>
15735         * gimple-predicate-analysis.cc
15736         (uninit_analysis::collect_phi_def_edges): Only expand a
15737         PHI def edge when it is possibly undefined.
15739 2022-08-26  Martin Liska  <mliska@suse.cz>
15741         * doc/extend.texi: Remove cr16 related stuff.
15742         * doc/install.texi: Likewise.
15743         * doc/invoke.texi: Likewise.
15744         * doc/md.texi: Likewise.
15745         * function-tests.cc (test_expansion_to_rtl): Likewise.
15746         * common/config/cr16/cr16-common.cc: Removed.
15747         * config/cr16/constraints.md: Removed.
15748         * config/cr16/cr16-protos.h: Removed.
15749         * config/cr16/cr16.cc: Removed.
15750         * config/cr16/cr16.h: Removed.
15751         * config/cr16/cr16.md: Removed.
15752         * config/cr16/cr16.opt: Removed.
15753         * config/cr16/predicates.md: Removed.
15754         * config/cr16/t-cr16: Removed.
15756 2022-08-26  liuhongt  <hongtao.liu@intel.com>
15758         PR target/106704
15759         * config/i386/i386-builtin.def (BDESC): Add
15760         CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
15761         corresponding builtins.
15762         * config/i386/i386.cc (ix86_gimple_fold_builtin):
15763         Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
15764         IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
15766 2022-08-25  Marek Polacek  <polacek@redhat.com>
15768         * ginclude/stddef.h: Define nullptr_t.
15770 2022-08-25  Joseph Myers  <joseph@codesourcery.com>
15772         * gimplify.cc (gimplify_modify_expr): Convert initialization from
15773         a variable-size CONSTRUCTOR to memset before call to
15774         gimplify_modify_expr_rhs.
15776 2022-08-25  Jason Merrill  <jason@redhat.com>
15778         * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
15780 2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
15782         PR target/106101
15783         * config/s390/predicates.md (subreg_register_operand): New
15784         predicate.
15785         * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
15786         function prototype.
15787         * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
15788         (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
15789         gen_lowpart.
15790         * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
15791         ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
15792         ("movstrictqi", "movstricthi", "movstrictsi"): Use the
15793         subreg_register_operand predicate instead of register_operand.
15795 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
15797         * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
15798         Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
15799         * config/loongarch/loongarch.cc (loongarch_attribute_table):
15800         New attribute table.
15801         (TARGET_ATTRIBUTE_TABLE): Define the target hook.
15802         (loongarch_handle_model_attribute): New static function.
15803         (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
15804         model attribute of SYMBOL_REF_DECL into account returning
15805         SYMBOL_PCREL or SYMBOL_PCREL64.
15806         (loongarch_use_anchors_for_symbol_p): New static function.
15807         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
15808         (loongarch_symbol_extreme_p): New static function.
15809         (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
15810         (loongarch_symbol_insns): Likewise.
15811         (loongarch_split_symbol_type): Likewise.
15812         (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
15813         TARGET_CMODEL_EXTREME for PC-relative addressing.
15814         (loongarch_print_operand_reloc): Likewise.
15815         * doc/extend.texi (Variable Attributes): Document new
15816         LoongArch specific attribute.
15818 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
15820         * config/loongarch/loongarch.cc (loongarch_classify_symbol):
15821         Return early if the rtx is not SYMBOL_REF.
15823 2022-08-25  Richard Biener  <rguenther@suse.de>
15825         PR tree-optimization/106737
15826         * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
15827         verify SSA form.
15829 2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
15831         PR target/106459
15832         * config/loongarch/loongarch.cc (loongarch_build_integer):
15833         Use HOST_WIDE_INT.
15834         * config/loongarch/loongarch.h (IMM_REACH): Likewise.
15835         (HWIT_1U): New Defined.
15836         (LU12I_OPERAND): Use HOST_WIDE_INT.
15837         (LU32I_OPERAND): Likewise.
15838         (LU52I_OPERAND): Likewise.
15839         (HWIT_UC_0xFFF): Likwise.
15841 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15843         PR target/106632
15844         PR target/106588
15845         * config/riscv/bitmanip.md (*shNadduw): Use n constraint
15846         instead of i.
15847         (*slliuw): Likewise.
15848         (*bexti): Likewise. Also add a check for operands[2] to be less
15849         than the mode bitsize.
15851 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15853         * config/riscv/constraints.md (DbS): New constraint.
15854         (DnS): New constraint.
15855         * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
15856         (*bclr<mode>): Likewise.
15857         (*binvi<mode>): Likewise.
15859 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15861         PR target/106586
15862         * config/riscv/predicates.md (single_bit_mask_operand):
15863         Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
15864         (not_single_bit_mask_operand): Likewise.
15865         * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
15866         1<<31 for 32bits as it is already handled.
15867         Call trunc_int_for_mode on the upper part after the subtraction.
15868         (riscv_move_integer): Call trunc_int_for_mode before generating
15869         the integer just make sure the constant has been sign extended
15870         corectly.
15871         (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
15872         addition for the new rhs.
15873         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
15874         then mask off the upper 32bits of the HWI as it will be sign extended.
15876 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15878         * config/riscv/constraints.md (DsS): New constraint.
15879         (DsD): New constraint.
15880         * config/riscv/iterators.md (shiftm1c): New iterator.
15881         * config/riscv/bitmanip.md (*bset<mode>_mask):
15882         Use shiftm1c.
15883         (*bset<mode>_1_mask): Likewise.
15885 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15887         * config/riscv/constraints.md (Ds3): New constraint.
15888         * config/riscv/predicates.md (imm123_operand): New predicate.
15889         * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
15890         (*shNadduw): Likewise.
15892 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15894         * config/riscv/riscv.cc (riscv_print_operand):
15895         Handle '~'.
15896         (riscv_print_operand_punct_valid_p): New function
15897         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
15898         * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
15899         Use %~ instead of conditional the pattern on TARGET_64BIT.
15900         (rotrsi3): Likewise.
15901         (rotlsi3): Likewise.
15902         * config/riscv/riscv.md: Add ~ to the list of modifiers.
15903         (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
15904         (subsi3): Likewise.
15905         (negsi2): Likewise.
15906         (mulsi3): Likewise.
15907         (optab>si3/any_div): Likewise.
15908         (*add<mode>hi3): Likewise.
15909         (<optab>si3/any_shift): Likewise.
15911 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15913         * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
15914         keep the list in riscv.md in sync with this list.
15915         * config/riscv/riscv.md: Add list of modifiers as comments.
15917 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15919         * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
15920         * config/riscv/iterators.md: Here.
15922 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15924         * config/riscv/bitmanip.md
15925         (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
15926         tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
15927         * config/riscv/iterators.md: Here.
15929 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15931         * config/riscv/riscv.md (GPR): Move to new file.
15932         (P, X, BR): Likewise.
15933         (MOVE32, MOVE64, SHORT): Likewise.
15934         (HISI, SUPERQI, SUBX): Likewise.
15935         (ANYI, ANYF, SOFTF): Likewise.
15936         (size, load, default_load): Likewise.
15937         (softload, store, softstore): Likewise.
15938         (reg, fmt, ifmt, amo): Likewise.
15939         (UNITMODE, HALFMODE): Likewise.
15940         (RINT, rint_pattern, rint_rm): Likewise.
15941         (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
15942         (any_extend, any_shiftrt, any_shift): Likewise.
15943         (any_bitwise): Likewise.
15944         (any_div, any_mod): Likewise.
15945         (any_gt, any_ge, any_lt, any_le): Likewise.
15946         (u, su): Likewise.
15947         (optab, insn): Likewise.
15948         * config/riscv/iterators.md: New file.
15950 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15952         PR target/106601
15953         * config/riscv/bitmanip.md (bswaphi2): New pattern.
15955 2022-08-24  Andrew Pinski  <apinski@marvell.com>
15957         PR target/106600
15958         * config/riscv/bitmanip.md (bswap<mode>2): Remove
15959         condition on TARGET_64BIT as X is already conditional there.
15961 2022-08-24  Joseph Myers  <joseph@codesourcery.com>
15963         * tree.cc (build_real): Give DFP dconst0 the minimum quantum
15964         exponent for the type.
15966 2022-08-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
15968         PR target/106733
15969         * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
15970         constants as legitimate addresses for functions.
15971         (bpf_small_register_classes_for_mode_p): Define target hook.
15973 2022-08-24  Richard Biener  <rguenther@suse.de>
15975         * gimple-predicate-analysis.cc: Move predicate normalization
15976         after the comment documenting it.
15978 2022-08-24  Richard Biener  <rguenther@suse.de>
15980         * gimple-predicate-analysis.h (predicate): Split out
15981         non-predicate related functionality into ..
15982         (uninit_analysis): .. this new class.
15983         * gimple-predicate-analysis.cc: Refactor into two classes.
15984         * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
15986 2022-08-24  Richard Biener  <rguenther@suse.de>
15988         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
15989         Do simple_control_dep_chain only up to cd_root, add the PHI
15990         operand edge to the chains like init_from_phi_def does.
15991         (predicate::is_use_guarded): Speedup early out, avoid half-way
15992         initializing the PHI def predicate.
15994 2022-08-24  Jakub Jelinek  <jakub@redhat.com>
15996         PR target/106721
15997         * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
15998         Change V32HF, V16HF and V8HF entries from "f" to "i".
15999         (iptr): Add V32BF, V16BF, V8BF and BF entries.
16000         (i128vldq): Add V16HF and V16BF entries.
16001         (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
16002         mask_opernad3 -> mask_operand3.
16004 2022-08-24  Martin Liska  <mliska@suse.cz>
16005             Jørgen Kvalsvik  <j@lambda.is>
16007         * gcov.cc (add_line_counts): Add group functions to coverage
16008         summary.
16009         (accumulate_line_counts): Similarly for files.
16011 2022-08-24  Lulu Cheng  <chenglulu@loongson.cn>
16013         * config/loongarch/genopts/loongarch-strings: Support code model medium.
16014         * config/loongarch/genopts/loongarch.opt.in: Likewise.
16015         * config/loongarch/loongarch-def.c: Likewise.
16016         * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
16017         (CMODEL_EXTREME): Likewise.
16018         (N_CMODEL_TYPES): Likewise.
16019         (CMODEL_MEDIUM): Likewise.
16020         * config/loongarch/loongarch-opts.cc: Likewise.
16021         * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
16022         * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
16023         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16024         Tls symbol Loading support medium mode.
16025         (loongarch_legitimize_call_address): When medium mode, make a symbolic
16026         jump with two instructions.
16027         (loongarch_option_override_internal): Support medium.
16028         * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
16029         (@sibcall_internal_1<mode>): New function call templates added to support
16030         medium mode.
16031         (@sibcall_value_internal_1<mode>): Likewise.
16032         (@sibcall_value_multiple_internal_1<mode>): Likewise.
16033         (@call_internal_1<mode>): Likewise.
16034         (@call_value_internal_1<mode>): Likewise.
16035         (@call_value_multiple_internal_1<mode>): Likewise.
16036         * config/loongarch/loongarch.opt: Support medium.
16037         * config/loongarch/predicates.md: Add processing about medium mode.
16038         * doc/invoke.texi: Document for '-mcmodel=medium'.
16040 2022-08-24  Richard Biener  <rguenther@suse.de>
16042         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16043         Start the compute_control_dep_chain walk from the immediate
16044         dominator of the PHI.
16046 2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
16048         PR target/106714
16049         * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
16050         __PTRDIFF_TYPE__.
16051         (_tile_stream_loadd_internal): Likewise.
16052         (_tile_stored_internal): Likewise.
16054 2022-08-23  Richard Biener  <rguenther@suse.de>
16056         PR tree-optimization/106722
16057         * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
16058         MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
16059         * gimple-predicate-analysis.cc: ... here and document.
16060         (simple_control_dep_chain): New function, factored from
16061         predicate::use_cannot_happen.
16062         (predicate::use_cannot_happen): Adjust.
16063         (predicate::predicate): Use simple_control_dep_chain as fallback.
16065 2022-08-23  Aldy Hernandez  <aldyh@redhat.com>
16067         * range-op-float.cc (foperator_equal::op1_range): Set range to
16068         range of op2.
16070 2022-08-23  Richard Biener  <rguenther@suse.de>
16072         * gimple-predicate-analysis.cc (is_loop_exit): Split out
16073         from ...
16074         (is_non_loop_exit_postdominating): ... here.  Remove after
16075         inlining ...
16076         (find_control_equiv_block): ... here.
16077         (compute_control_dep_chain): ... and here.
16078         (predicate::is_use_guarded): Do not excempt loop exits
16079         from short-cutting the case of the use post-dominating the
16080         PHI definition.
16082 2022-08-23  Andrew MacLeod  <amacleod@redhat.com>
16084         PR tree-optimization/106687
16085         * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
16086         for the VREL_GT case as well.
16088 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
16090         * config/pru/pru.md (pru_<code>di3): New alternative for
16091         two operands but without earlyclobber.
16093 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
16095         * config/pru/pru.md (prumov<mode>, mov<mode>): Add
16096         variants for loading -1 consts.
16098 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
16100         PR target/106564
16101         * config/pru/constraints.md (Um): New constraint for -1.
16102         (Uf): New constraint for IOR fill-bytes constants.
16103         (Uz): New constraint for AND zero-bytes constants.
16104         * config/pru/predicates.md (const_fillbytes_operand): New
16105         predicate for IOR fill-bytes constants.
16106         (const_zerobytes_operand): New predicate for AND zero-bytes
16107         constants.
16108         * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
16109         (struct pru_byterange): New struct to describe a byte range.
16110         (pru_calc_byterange): New declaration.
16111         * config/pru/pru.cc (pru_rtx_costs): Add penalty for
16112         64-bit zero-extend.
16113         (pru_output_sign_extend): Remove.
16114         (pru_calc_byterange): New helper function to extract byte
16115         range info from a constant.
16116         (pru_print_operand): Remove 'y' and 'z' print modifiers.
16117         * config/pru/pru.md (zero_extendqidi2): New pattern.
16118         (zero_extendhidi2): New pattern.
16119         (zero_extendsidi2): New pattern.
16120         (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
16121         (@pru_ior_fillbytes<mode>): New pattern.
16122         (@pru_and_zerobytes<mode>): New pattern.
16123         (<code>di3): Rewrite as an expand and handle ZERO and FILL
16124         special cases.
16125         (pru_<code>di3): New name for <code>di3.
16126         (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
16127         handle bit-test for 64-bit registers.
16129 2022-08-22  Richard Biener  <rguenther@suse.de>
16131         * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
16132         (predicate::def_expr): Likewise.
16133         (predicate::use_expr): Likewise.
16134         (predicate::expr): Likewise.
16135         * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
16136         (predicate::use_expr): Likewise.
16137         (predicate::expr): Likewise.
16138         (predicate::is_use_guarded): Do not build m_use_expr.
16140 2022-08-22  Martin Liska  <mliska@suse.cz>
16142         PR lto/106700
16143         * configure.ac: Detect O_NONBLOCK flag for open.
16144         * config.in: Regenerate.
16145         * configure: Regenerate.
16146         * opts-common.cc (jobserver_info::connect): Set is_connected
16147         properly based on O_NONBLOCK.
16148         * opts-jobserver.h (struct jobserver_info): Add is_connected
16149         member variable.
16151 2022-08-22  zhongjuzhe  <juzhe.zhong@rivai.ai>
16153         * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
16154         and repeat value different.
16156 2022-08-22  Tobias Burnus  <tobias@codesourcery.com>
16158         PR lto/106686
16159         * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
16160         (tool_cleanup): Unlink offload_names.
16161         (compile_offload_image): Take filename argument to set it early.
16162         (compile_images_for_offload_targets): Update call; set
16163         offload_names to NULL after freeing the array.
16165 2022-08-22  Richard Biener  <rguenther@suse.de>
16167         PR tree-optimization/105937
16168         * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
16169         on backedges.
16170         (execute_late_warn_uninitialized): Mark backedges.
16172 2022-08-22  Richard Biener  <rguenther@suse.de>
16174         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16175         If the use is guarded with multiple predicate paths compute
16176         the predicates intersection before going forward.  When
16177         compute_control_dep_chain wasn't able to come up with at
16178         least one path from function entry to the PHI edge compute
16179         a conservative sparse path instead.
16181 2022-08-20  Lulu Cheng  <chenglulu@loongson.cn>
16183         * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
16184         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16185         Add extreme support for TLS GD and LD types.
16186         (loongarch_legitimize_tls_address): Add extreme support for TLS LE
16187         and IE.
16188         (loongarch_split_symbol): When compiling with -mcmodel=extreme,
16189         the symbol address will be obtained through five instructions.
16190         (loongarch_print_operand_reloc): Add support.
16191         (loongarch_print_operand): Add support.
16192         (loongarch_print_operand_address): Add support.
16193         (loongarch_option_override_internal): Set '-mcmodel=extreme' option
16194         incompatible with '-mno-explicit-relocs'.
16195         * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
16196         Loads bits 12-31 of data into registers.
16197         (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
16198         the source register.
16199         (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
16200         the source register.
16201         * config/loongarch/predicates.md: Symbols need to be decomposed
16202         when defining the macro TARGET_CMODEL_EXTREME
16203         * doc/invoke.texi: Modify the description information of cmodel in the document.
16204         Document -W[no-]extreme-plt.
16206 2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
16208         * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
16209         files_to_cleanup.
16210         * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
16211         omp_requires_file to temp_files.
16212         * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
16213         (main): Remove local omp_requires_file var.
16214         (tool_cleanup): Handle omp_requires_file.
16216 2022-08-19  Aldy Hernandez  <aldyh@redhat.com>
16218         * gimple-range-path.cc (path_range_query::path_range_query):
16219         Remove constructor that takes edge.
16220         * gimple-range-path.h (class path_range_query): Same.
16221         * tree-ssa-loop-ch.cc (edge_range_query): New.
16222         (entry_loop_condition_is_static): Call edge_range_query.
16224 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16226         * config/xtensa/xtensa.h
16227         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
16228         Add new register class "ISC_REGS".
16229         * config/xtensa/constraints.md (c): Add new register constraint.
16230         * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
16231         (sibcall_internal, sibcall_value_internal):
16232         Change to use the new register constraint, and remove two split
16233         patterns for fixups that are no longer needed.
16235 2022-08-18  Maciej W. Rozycki  <macro@embecosm.com>
16237         * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
16238         pattern formatting.
16240 2022-08-18  Tim Lange  <mail@tim-lange.me>
16242         PR analyzer/106181
16243         * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
16245 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
16247         * gimple-range-path.cc (path_range_query::path_range_query): Add
16248         various constructors to take a path.
16249         (path_range_query::~path_range_query): Remove m_alloced_ranger.
16250         (path_range_query::range_on_path_entry): Adjust for m_ranger being
16251         a reference.
16252         (path_range_query::set_path): Rename to...
16253         (path_range_query::reset_path): ...this and call compute_ranges.
16254         (path_range_query::ssa_range_in_phi): Adjust for m_ranger
16255         reference.
16256         (path_range_query::range_defined_in_block): Same.
16257         (path_range_query::compute_ranges_in_block): Same.
16258         (path_range_query::adjust_for_non_null_uses): Same.
16259         (path_range_query::compute_exit_dependencies): Use m_path instead
16260         of argument.
16261         (path_range_query::compute_ranges): Remove path argument.
16262         (path_range_query::range_of_stmt): Adjust for m_ranger reference.
16263         (path_range_query::compute_outgoing_relations): Same.
16264         * gimple-range-path.h (class path_range_query): Add various
16265         constructors.
16266         Make compute_ranges and compute_exit_dependencies private.
16267         Rename set_path to reset_path.
16268         Make m_ranger a reference.
16269         Remove m_alloced_ranger.
16270         * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
16271         path_range_query.
16272         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
16273         ranger and instantiate a new path_range_query every time.
16274         (ch_base::copy_headers): Pass ranger instead of path_range_query.
16275         * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
16276         (back_threader::~back_threader): Remove m_solver.
16277         (back_threader::find_taken_edge_switch): Adjust for m_ranger
16278         reference.
16279         (back_threader::find_taken_edge_cond): Same.
16280         (back_threader::dump): Remove m_solver.
16281         (back_threader::back_threader): Move verify_marked_backedges
16282         here from the path_range_query constructor.
16283         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
16284         some code from compute_ranges_from_state here.
16285         (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
16286         (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
16287         * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
16288         compute_ranges_from_state to compute_exit_dependencies.
16289         Remove m_path.
16291 2022-08-18  Richard Biener  <rguenther@suse.de>
16293         PR middle-end/106617
16294         * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
16295         guard, disable on GENERIC to not cause quadratic behavior
16296         with the fold-const.cc implementation and the use of !
16298 2022-08-18  Andrew Pinski  <apinski@marvell.com>
16300         PR gcov-profile/106659
16301         * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
16302         INCLUDE_VECTOR.
16304 2022-08-18  konglin1  <lingling.kong@intel.com>
16306         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
16307         BFmode.
16308         (ix86_expand_vector_init_duplicate): Support vector BFmode.
16309         (ix86_expand_vector_init_one_nonzero): Ditto.
16310         (ix86_expand_vector_init_one_var): Ditto.
16311         (ix86_expand_vector_init_concat): Ditto.
16312         (ix86_expand_vector_init_interleave): Ditto.
16313         (ix86_expand_vector_init_general): Ditto.
16314         (ix86_expand_vector_init): Ditto.
16315         (ix86_expand_vector_set_var): Ditto.
16316         (ix86_expand_vector_set): Ditto.
16317         (ix86_expand_vector_extract): Ditto.
16318         * config/i386/i386.cc (classify_argument): Add BF vector modes.
16319         (function_arg_64): Ditto.
16320         (ix86_gimplify_va_arg): Ditto.
16321         (ix86_get_ssemov): Ditto.
16322         * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
16323         (VALID_AVX512F_REG_MODE): Ditto.
16324         (host_detect_local_cpu): Ditto.
16325         (VALID_SSE2_REG_MODE): Ditto.
16326         * config/i386/i386.md: Add BF vector modes.
16327         (MODE_SIZE): Ditto.
16328         (ssemodesuffix): Add bf suffix for BF vector modes.
16329         (ssevecmode): Ditto.
16330         * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
16331         (VI12HFBF_AVX512VL): Ditto.
16332         (V_256_512): Ditto.
16333         (VF_AVX512HFBF16): Ditto.
16334         (VF_AVX512BWHFBF16): Ditto.
16335         (VIHFBF): Ditto.
16336         (avx512): Ditto.
16337         (VIHFBF_256): Ditto.
16338         (VIHFBF_AVX512BW): Ditto.
16339         (VI2F_256_512):Ditto.
16340         (V8_128):Ditto.
16341         (V16_256): Ditto.
16342         (V32_512): Ditto.
16343         (sseinsnmode): Ditto.
16344         (sseconstm1): Ditto.
16345         (sseintmodesuffix): New mode_attr.
16346         (avx512fmaskmode): Ditto.
16347         (avx512fmaskmodelower): Ditto.
16348         (ssedoublevecmode): Ditto.
16349         (ssehalfvecmode): Ditto.
16350         (ssehalfvecmodelower): Ditto.
16351         (ssescalarmode): Add vector BFmode mapping.
16352         (ssescalarmodelower): Ditto.
16353         (ssexmmmode): Ditto.
16354         (ternlogsuffix): Ditto.
16355         (ssescalarsize): Ditto.
16356         (sseintprefix): Ditto.
16357         (i128): Ditto.
16358         (xtg_mode): Ditto.
16359         (bcstscalarsuff): Ditto.
16360         (<avx512>_blendm<mode>): New define_insn for BFmode.
16361         (<avx512>_store<mode>_mask): Ditto.
16362         (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
16363         (vec_set<mode>_0): New define_insn for BF vector set.
16364         (V8BFH_128): New mode_iterator for BFmode.
16365         (avx512fp16_mov<mode>): Ditto.
16366         (vec_set<mode>): New define_insn for BF vector set.
16367         (@vec_extract_hi_<mode>): Ditto.
16368         (@vec_extract_lo_<mode>): Ditto.
16369         (vec_set_hi_<mode>): Ditto.
16370         (vec_set_lo_<mode>): Ditto.
16371         (*vec_extract<mode>_0): New define_insn_and_split for BF
16372         vector extract.
16373         (*vec_extract<mode>): New define_insn.
16374         (VEC_EXTRACT_MODE): Add BF vector modes.
16375         (PINSR_MODE): Add V8BF.
16376         (sse2p4_1): Ditto.
16377         (pinsr_evex_isa): Ditto.
16378         (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
16379         insert for V8BFmode.
16380         (pbroadcast_evex_isa): Add BF vector modes.
16381         (AVX2_VEC_DUP_MODE): Ditto.
16382         (VEC_INIT_MODE): Ditto.
16383         (VEC_INIT_HALF_MODE): Ditto.
16384         (avx2_pbroadcast<mode>): Adjust to support BF vector mode
16385         broadcast.
16386         (avx2_pbroadcast<mode>_1): Ditto.
16387         (<avx512>_vec_dup<mode>_1): Ditto.
16388         (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
16389         Ditto.
16391 2022-08-18  Martin Liska  <mliska@suse.cz>
16393         * configure: Regenerate.
16395 2022-08-18  Haochen Gui  <guihaoc@gcc.gnu.org>
16397         PR target/103109
16398         * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
16399         (<u>madddi4_highpart): New.
16400         (<u>madddi4_highpart_le): New.
16402 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
16404         * gimple-range-path.cc
16405         (path_range_query::compute_exit_dependencies): Use
16406         gimple_range_ssa_names.
16408 2022-08-18  zhongjuzhe  <juzhe.zhong@rivai.ai>
16410         * config/riscv/predicates.md: Adjust runtime invariant.
16411         * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
16412         (NUM_POLY_INT_COEFFS): New.
16413         * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
16414         runtime invariant.
16415         * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
16416         Adjust runtime invariant.
16417         * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
16418         invariant.
16419         (enum riscv_microarchitecture_type): Ditto.
16420         (riscv_valid_offset_p): Ditto.
16421         (riscv_valid_lo_sum_p): Ditto.
16422         (riscv_address_insns): Ditto.
16423         (riscv_load_store_insns): Ditto.
16424         (riscv_legitimize_move): Ditto.
16425         (riscv_binary_cost): Ditto.
16426         (riscv_rtx_costs): Ditto.
16427         (riscv_output_move): Ditto.
16428         (riscv_extend_comparands): Ditto.
16429         (riscv_flatten_aggregate_field): Ditto.
16430         (riscv_get_arg_info): Ditto.
16431         (riscv_pass_by_reference): Ditto.
16432         (riscv_elf_select_rtx_section): Ditto.
16433         (riscv_stack_align): Ditto.
16434         (riscv_compute_frame_info): Ditto.
16435         (riscv_initial_elimination_offset): Ditto.
16436         (riscv_set_return_address): Ditto.
16437         (riscv_for_each_saved_reg): Ditto.
16438         (riscv_first_stack_step): Ditto.
16439         (riscv_expand_prologue): Ditto.
16440         (riscv_expand_epilogue): Ditto.
16441         (riscv_can_use_return_insn): Ditto.
16442         (riscv_secondary_memory_needed): Ditto.
16443         (riscv_hard_regno_nregs): Ditto.
16444         (riscv_convert_vector_bits): New.
16445         (riscv_option_override): Adjust runtime invariant.
16446         (riscv_promote_function_mode): Ditto.
16447         * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
16448         (BITS_PER_RISCV_VECTOR): New.
16449         (BYTES_PER_RISCV_VECTOR): New.
16450         * config/riscv/riscv.md: Adjust runtime invariant.
16452 2022-08-18  Lulu Cheng  <chenglulu@loongson.cn>
16454         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16455         Get __tls_get_addr address through got table when disable plt.
16457 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16459         * config/xtensa/xtensa.cc (xtensa_expand_prologue):
16460         Use an "addmi" machine instruction for updating the stack pointer
16461         rather than addition/subtraction via hard register A9, if the amount
16462         of change satisfies the literal value conditions of that instruction
16463         when the CALL0 ABI is used.
16464         (xtensa_expand_epilogue): Ditto.
16465         And also inhibit the stack pointer addition of constant zero.
16467 2022-08-17  Roger Sayle  <roger@nextmovesoftware.com>
16469         PR target/106640
16470         * config/i386/i386-features.cc
16471         (timde_scalar_chain::compute_convert_gain): Replace incorrect use
16472         of XINT with INTVAL (XEXP (src, 1)).
16474 2022-08-17  Aldy Hernandez  <aldyh@redhat.com>
16476         * gimple-range-path.cc
16477         (path_range_query::compute_ranges_in_block): Remove
16478         set_root_oracle call.
16479         (path_range_query::compute_ranges): Pass ranger oracle to
16480         reset_path.
16481         * value-relation.cc (path_oracle::reset_path): Set root oracle.
16482         * value-relation.h (path_oracle::reset_path): Add root oracle
16483         argument.
16485 2022-08-17  Marek Polacek  <polacek@redhat.com>
16487         PR c++/89780
16488         * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
16489         OPT_Wpessimizing_move and OPT_Wredundant_move.
16490         * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
16492 2022-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
16493             Jakub Jelinek  <jakub@redhat.com>
16495         PR fortran/46539
16496         * common.opt (static-libquadmath): New option.
16497         * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
16498         * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
16500 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
16502         * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
16503         when filenames come out identically.
16505 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
16507         PR middle-end/106548
16508         * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
16509         for 'simd' linear-step values that are variable.
16511 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
16512             Chung-Lin Tang  <cltang@codesourcery.com>
16514         PR c++/104493
16515         * gimplify.cc (omp_notice_variable): Call omp_mappable_type
16516         instead of removed langhook.
16517         * omp-general.h (omp_mappable_type): New prototype.
16518         * omp-general.cc (omp_mappable_type):  New; moved from ...
16519         * langhooks.cc (lhd_omp_mappable_type): ... here.
16520         * langhooks-def.h (lhd_omp_mappable_type,
16521         LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
16522         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
16523         * langhooks.h (struct lang_hooks_for_types): Remove
16524         omp_mappable_type.
16526 2022-08-17  Christophe Lyon  <christophe.lyon@arm.com>
16528         * config.gcc (arm): Define with_float to hard if target name ends
16529         with 'hf'.
16531 2022-08-17  Richard Biener  <rguenther@suse.de>
16533         * tree-ssa-threadbackward.cc
16534         (back_threader_profitability): Split profitable_path_p
16535         into possibly_profitable_path_p and itself, keep state
16536         as new members.
16537         (back_threader::m_profit): Remove.
16538         (back_threader::find_paths): Likewise.
16539         (back_threader::maybe_register_path): Take profitability
16540         instance as parameter.
16541         (back_threader::find_paths_to_names): Likewise.  Use
16542         possibly_profitable_path_p and avoid the path range query
16543         when the path is currently too large.
16544         (back_threader::find_paths): Fold into ...
16545         (back_threader::maybe_thread_block): ... this.
16546         (get_gimple_control_stmt): Remove.
16547         (back_threader_profitability::possibly_profitable_path_p):
16548         Split out from profitable_path_p, do early profitability
16549         checks.
16550         (back_threader_profitability::profitable_path_p): Do final
16551         profitability path after the taken edge has been determined.
16553 2022-08-17  Xi Ruoyao  <xry111@xry111.site>
16555         * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
16556         (fmin<mode>3): Likewise.
16558 2022-08-17  Andrew MacLeod  <amacleod@redhat.com>
16560         * gimple-range-fold.cc (gimple_range_ssa_names): New.
16561         * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
16562         * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
16563         code to new routine.
16565 2022-08-16  Martin Liska  <mliska@suse.cz>
16567         PR target/106637
16568         * doc/install.texi: Remove link to www.bullfreeware.com
16570 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
16572         * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
16573         zfh and zfhmin.
16574         (riscv_ext_version_table): Ditto.
16575         (riscv_ext_flag_table): Ditto.
16576         * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
16577         (MASK_ZFH): Ditto.
16578         (TARGET_ZFHMIN): Ditto.
16579         (TARGET_ZFH): Ditto.
16580         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
16581         for zfh and zfhmin.
16582         (riscv_emit_float_compare): Handle HFmode.
16583         * config/riscv/riscv.md (ANYF): Add HF.
16584         (SOFTF): Add HF.
16585         (load): Ditto.
16586         (store): Ditto.
16587         (truncsfhf2): New.
16588         (truncdfhf2): Ditto.
16589         (extendhfsf2): Ditto.
16590         (extendhfdf2): Ditto.
16591         (*movhf_hardfloat): Ditto.
16592         (*movhf_softfloat): Make sure not ZFHMIN.
16593         * config/riscv/riscv.opt (riscv_zf_subext): New.
16595 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
16597         * config/riscv/riscv-builtins.cc: include stringpool.h
16598         (riscv_float16_type_node): New.
16599         (riscv_init_builtin_types): Ditto.
16600         (riscv_init_builtins): Call riscv_init_builtin_types.
16601         * config/riscv/riscv-modes.def (HF): New.
16602         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
16603         (riscv_mangle_type): New.
16604         (riscv_scalar_mode_supported_p): Ditto.
16605         (riscv_libgcc_floating_mode_supported_p): Ditto.
16606         (riscv_excess_precision): Ditto.
16607         (riscv_floatn_mode): Ditto.
16608         (riscv_init_libfuncs): Ditto.
16609         (TARGET_MANGLE_TYPE): Ditto.
16610         (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
16611         (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
16612         (TARGET_INIT_LIBFUNCS): Ditto.
16613         (TARGET_C_EXCESS_PRECISION): Ditto.
16614         (TARGET_FLOATN_MODE): Ditto.
16615         * config/riscv/riscv.md (mode): Add HF.
16616         (softload): Add HF.
16617         (softstore): Ditto.
16618         (fmt): Ditto.
16619         (UNITMODE): Ditto.
16620         (movhf): New.
16621         (*movhf_softfloat): New.
16623 2022-08-16  Richard Biener  <rguenther@suse.de>
16625         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
16626         Do not walk further if we are leaving the current loop.
16628 2022-08-16  Sergei Trofimovich  <siarheit@google.com>
16630         PR driver/106624
16631         * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
16632         argument using xstrdup().
16634 2022-08-16  Aldy Hernandez  <aldyh@redhat.com>
16636         * gimple-range-path.cc (path_range_query::import_p): Rename to...
16637         (path_range_query::exit_dependency_p): ...this.
16638         (path_range_query::dump): Rename imports to exit dependencies.
16639         (path_range_query::compute_ranges_in_phis): Same.
16640         (path_range_query::compute_ranges_in_block): Same.
16641         (path_range_query::adjust_for_non_null_uses): Same.
16642         (path_range_query::compute_ranges): Same.
16643         (path_range_query::compute_phi_relations): Same.
16644         (path_range_query::add_to_imports): Rename to...
16645         (path_range_query::add_to_exit_dependencies): ...this.
16646         (path_range_query::compute_imports): Rename to...
16647         (path_range_query::compute_exit_dependencies): ...this.
16648         * gimple-range-path.h (class path_range_query): Rename imports to
16649         exit dependencies.
16651 2022-08-16  Martin Liska  <mliska@suse.cz>
16653         * value-range-storage.h (class obstack_vrange_allocator): Mark
16654         the class as final.
16655         (class ggc_vrange_allocator): Likewise.
16657 2022-08-16  Martin Liska  <mliska@suse.cz>
16659         * value-range-equiv.h (class value_range_equiv): Add virtual
16660         destructor.
16661         * value-range.h: Likewise.
16663 2022-08-16  Richard Biener  <rguenther@suse.de>
16665         PR middle-end/106630
16666         * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
16667         narrowing conversions.
16669 2022-08-16  Martin Liska  <mliska@suse.cz>
16671         * value-range-equiv.h (class value_range_equiv):
16673 2022-08-16  Martin Liska  <mliska@suse.cz>
16675         * config/i386/i386-features.h (class general_scalar_chain): Add
16676         final override for a method.
16677         (class timode_scalar_chain): Likewise.
16679 2022-08-16  Richard Biener  <rguenther@suse.de>
16681         * doc/invoke.texi (max-jump-thread-paths): Adjust.
16683 2022-08-16  Martin Liska  <mliska@suse.cz>
16685         * opts-common.cc (jobserver_info::connect): Open fifo
16686         in non-blocking mode.
16688 2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
16690         PR target/103353
16691         * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
16692         check to preparation statements and add handlings for !TARGET_MMA.
16693         (define_expand movxo): Likewise.
16695 2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
16697         PR tree-optimization/106322
16698         * tree-vect-stmts.cc (vectorizable_call): Don't allow
16699         vect_emulated_vector_p type for both vectype_in and vectype_out.
16701 2022-08-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16703         * common/config/xtensa/xtensa-common.cc
16704         (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
16705         for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
16707 2022-08-15  Andrew MacLeod  <amacleod@redhat.com>
16709         PR tree-optimization/106621
16710         * value-range.cc (irange::set): Check for POLY_INT_CST early.
16712 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
16714         * config/i386/i386-features.cc
16715         (timode_scalar_chain::compute_convert_gain): Provide costs for
16716         shifts and rotates.
16717         (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
16718         and ROTATE just like existing ASHIFT and LSHIFTRT cases.
16719         (timode_scalar_to_vector_candidate_p): Handle all shifts and
16720         rotates by integer constants between 0 and 127.
16722 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
16724         * config/i386/i386-features.cc
16725         (timode_scalar_chain::compute_convert_gain): Provide gains for
16726         comparisons against 0/-1, including "*testti" patterns.
16728 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
16730         PR tree-optimization/64992
16731         PR tree-optimization/98956
16732         * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
16733         when X is zero_one_valued_p and the shift constant C is valid.
16734         (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
16735         when X is zero_one_valued_p and the shift constant C is valid.
16737 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
16738             Richard Biener  <rguenther@suse.de>
16740         PR tree-optimization/71343
16741         * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
16742         expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
16743         (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
16744         to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
16746 2022-08-15  Richard Biener  <rguenther@suse.de>
16748         * gimple-range-path.cc (range_on_path_entry): Just
16749         call range_on_entry.
16751 2022-08-15  Jakub Jelinek  <jakub@redhat.com>
16753         PR rtl-optimization/106590
16754         * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
16755         (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
16756         mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
16757         further conditional moves.
16759 2022-08-15  konglin1  <lingling.kong@intel.com>
16761         * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
16762         * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
16763         (ix86_register_bf16_builtin_type): New function.
16764         (ix86_bf16_type_node): New.
16765         (ix86_bf16_ptr_type_node): Ditto.
16766         (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
16767         * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
16768         (ADJUST_FLOAT_FORMAT): Ditto.
16769         * config/i386/i386.cc (classify_argument): Handle BFmode.
16770         (construct_container): Ditto.
16771         (function_value_32): Return __bf16 by %xmm0.
16772         (function_value_64): Return __bf16 by SSE register.
16773         (ix86_output_ssemov): Handle BFmode.
16774         (ix86_legitimate_constant_p): Disable BFmode constant double.
16775         (ix86_secondary_reload): Require gpr as intermediate register
16776         to store __bf16 from sse register when sse4 is not available.
16777         (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
16778         (ix86_mangle_type): Add manlging for __bf16 type.
16779         (ix86_invalid_conversion): New function for target hook.
16780         (ix86_invalid_unary_op): Ditto.
16781         (ix86_invalid_binary_op): Ditto.
16782         (TARGET_INVALID_CONVERSION): New define for target hook.
16783         (TARGET_INVALID_UNARY_OP): Ditto.
16784         (TARGET_INVALID_BINARY_OP): Ditto.
16785         * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
16786         * config/i386/i386.md ("mode"): Add BFmode.
16787         (MODE_SIZE): Ditto.
16788         (X87MODEFH): Ditto.
16789         (HFBF): Add new define_mode_iterator.
16790         (*pushhf_rex64): Change for BFmode.
16791         (*push<mode>_rex64): Ditto.
16792         (*pushhf): Ditto.
16793         (*push<mode>): Ditto.
16794         (MODESH): Ditto.
16795         (hfbfconstf): Add new define_mode_attr.
16796         (*mov<mode>_internal): Add BFmode.
16798 2022-08-13  Roger Sayle  <roger@nextmovesoftware.com>
16799             Uroš Bizjak  <ubizjak@gmail.com>
16801         * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
16802         New predicate for values between 0/1 and 255, not multiples of 8.
16803         * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
16804         shifts by constant bit counts.
16805         (*ashlvti3_internal): New define_insn_and_split that lowers
16806         logical left shifts by constant bit counts, that aren't multiples
16807         of 8, before reload.
16808         (lshrv1ti3): Delay lowering of logical right shifts by constant.
16809         (*lshrv1ti3_internal): New define_insn_and_split that lowers
16810         logical right shifts by constant bit counts, that aren't multiples
16811         of 8, before reload.
16812         (ashrv1ti3):: Delay lowering of arithmetic right shifts by
16813         constant bit counts.
16814         (*ashrv1ti3_internal): New define_insn_and_split that lowers
16815         arithmetic right shifts by constant bit counts before reload.
16816         (rotlv1ti3): Delay lowering of rotate left by constant.
16817         (*rotlv1ti3_internal): New define_insn_and_split that lowers
16818         rotate left by constant bits counts before reload.
16819         (rotrv1ti3): Delay lowering of rotate right by constant.
16820         (*rotrv1ti3_internal): New define_insn_and_split that lowers
16821         rotate right by constant bits counts before reload.
16823 2022-08-12  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
16825         * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
16827 2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
16829         PR middle-end/106057
16830         * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
16831         function.
16832         (possible_polymorphic_call_targets): Use it.
16834 2022-08-12  Andrew Carlotti  <andrew.carlotti@arm.com>
16836         * tree-ssa-loop.h: Improve comment
16838 2022-08-12  Jakub Jelinek  <jakub@redhat.com>
16840         PR tree-optimization/106506
16841         * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
16842         is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
16844 2022-08-12  Richard Biener  <rguenther@suse.de>
16846         PR tree-optimization/106593
16847         * tree-ssa-threadbackward.cc (back_threader::find_paths):
16848         If the imports from the conditional do not satisfy
16849         gimple_range_ssa_p don't try to thread anything.
16851 2022-08-12  Tamar Christina  <tamar.christina@arm.com>
16853         PR target/106524
16854         * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
16855         *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
16857 2022-08-12  Tim Lange  <mail@tim-lange.me>
16859         PR analyzer/106000
16860         * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
16862 2022-08-12  Andrew Pinski  <apinski@marvell.com>
16864         * config/aarch64/aarch64.md: Remove comment
16865         about MD_INCLUDES as it is out of date and not needed.
16867 2022-08-11  Richard Biener  <rguenther@suse.de>
16869         * gimple-range-path.cc (path_range_query::compute_imports):
16870         Restrict walking SSA defs to blocks inside the path.  Track
16871         the same operands as range_def_chain::get_def_chain does.
16873 2022-08-11  Richard Biener  <rguenther@suse.de>
16875         PR tree-optimization/106514
16876         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
16877         Compute and unwind both m_imports and interesting on the fly during
16878         path discovery.
16879         (back_threader::find_paths): Compute the original m_imports
16880         from just the SSA uses of the exit conditional.  Drop
16881         handling single_succ_to_potentially_threadable_block.
16882         * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
16883         constant PHI arguments without crashing.  Use PHI_ARG_DEF_FROM_EDGE.
16885 2022-08-11  Richard Biener  <rguenther@suse.de>
16887         * gimple-range-path.h (path_range_query::compute_imports):
16888         Take path as argument, not the exit block.
16889         * gimple-range-path.cc (path_range_query::compute_imports):
16890         Likewise, and adjust, avoiding possibly stale m_path.
16891         (path_range_query::compute_outgoing_relations): Register
16892         relations for all conditionals.
16893         * tree-ssa-threadbackward.cc (back_threader::find_paths):
16894         Adjust.
16896 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
16898         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
16899         oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
16900         (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
16902 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
16904         * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
16905         Remove function declaration.
16907 2022-08-10  Richard Biener  <rguenther@suse.de>
16909         PR tree-optimization/106513
16910         * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
16911         for head_marker.
16913 2022-08-10  Martin Liska  <mliska@suse.cz>
16915         PR lto/106328
16916         * opts-jobserver.h (struct jobserver_info): Add pipefd.
16917         (jobserver_info::connect): New.
16918         (jobserver_info::disconnect): Likewise.
16919         (jobserver_info::get_token): Likewise.
16920         (jobserver_info::return_token): Likewise.
16921         * opts-common.cc: Implement the new functions.
16923 2022-08-10  Martin Liska  <mliska@suse.cz>
16925         * opts-jobserver.h: Add one member.
16926         * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
16927         format of --jobserver-auth.
16929 2022-08-10  Martin Liska  <mliska@suse.cz>
16931         * gcc.cc (driver::detect_jobserver): Remove and move to
16932         jobserver.h.
16933         * lto-wrapper.cc (jobserver_active_p): Likewise.
16934         (run_gcc): Likewise.
16935         * opts-jobserver.h: New file.
16936         * opts-common.cc (jobserver_info::jobserver_info): New function.
16938 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
16940         * config/i386/i386-features.cc (scalar_chain::convert_compare):
16941         Create new pseudos only when/if needed.  Add support for TEST,
16942         i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
16943         When broadcasting V2DImode and V4SImode use new pseudo register.
16944         (timode_scalar_chain::convert_op): Do nothing if operand is
16945         already V1TImode.  Avoid generating useless SUBREG conversions,
16946         i.e. (SUBREG:V1TImode (REG:V1TImode) 0).  Handle CONST_WIDE_INT
16947         in addition to CONST_INT by using CONST_SCALAR_INT_P.
16948         (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
16949         CONST_WIDE_INT and CONST_INT.  Recognize new *testti_doubleword
16950         pattern as an STV candidate.
16951         (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
16952         operands in binary logic operations.
16953         * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
16954         for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
16955         as regular PTEST, i.e. cost->sse_op.
16956         * config/i386/i386.md (*testti_doubleword): New pre-reload
16957         define_insn_and_split that recognizes comparison of TI mode AND
16958         against zero.
16959         * config/i386/sse.md (*ptest<mode>_and): New pre-reload
16960         define_insn_and_split that recognizes UNSPEC_PTEST of identical
16961         AND operands.
16963 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
16964             Richard Biener  <rguenther@suse.de>
16966         PR middle-end/21137
16967         PR tree-optimization/98954
16968         * fold-const.cc (fold_binary_loc): Remove optimizations to
16969         optimize ((X >> C1) & C2) ==/!= 0.
16970         * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
16971         check, and handle all values of INTEGER_CSTs @2 and @3.
16972         (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
16973         checks, and handle all values of INTEGER_CSTs @2 and @3.
16975 2022-08-09  David Malcolm  <dmalcolm@redhat.com>
16977         * doc/invoke.texi (Static Analyzer Options): Add notes on which
16978         functions the analyzer has hardcoded knowledge of.
16980 2022-08-09  Andrew Stubbs  <ams@codesourcery.com>
16982         * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
16983         (num_arg_regs): Allow vector arguments.
16984         (gcn_function_arg): Likewise.
16985         (gcn_function_arg_advance): Likewise.
16986         (gcn_arg_partial_bytes): Likewise.
16987         (gcn_return_in_memory): Likewise.
16988         (gcn_expand_epilogue): Get return value from v8.
16989         * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
16990         (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
16991         (FIRST_VPARM_REG): New.
16992         (FUNCTION_ARG_REGNO_P): Allow vector parameters.
16993         (struct gcn_args): Add vnum field.
16994         (LIBCALL_VALUE): All vector return values.
16995         * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
16996         (gcn_call_value_indirect): Likewise.
16998 2022-08-09  Richard Biener  <rguenther@suse.de>
17000         * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
17001         directly.  Avoid update_ssa when in SSA form.
17002         (expand_omp_atomic_store): Likewise.
17003         (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
17004         form.
17005         (expand_omp_atomic_pipeline): Likewise.
17006         (expand_omp_atomic_mutex): Likewise.
17007         * tree-parloops.cc (gen_parallel_loop): Use
17008         TODO_update_ssa_no_phi after loop_version.
17010 2022-08-09  Richard Biener  <rguenther@suse.de>
17012         * doc/invoke.texi (max-fsm-thread-length): Remove.
17013         * params.opt (max-fsm-thread-length): Likewise.
17014         * tree-ssa-threadbackward.cc
17015         (back_threader_profitability::profitable_path_p): Do not
17016         check max-fsm-thread-length.
17018 2022-08-09  Richard Biener  <rguenther@suse.de>
17020         PR tree-optimization/106514
17021         * params.opt (max-jump-thread-paths): New.
17022         * doc/invoke.texi (max-jump-thread-paths): Document.
17023         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
17024         Honor max-jump-thread-paths, take overall_path argument.
17025         (back_threader::find_paths): Pass 1 as initial overall_path.
17027 2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
17029         PR middle-end/106492
17030         * omp-low.cc (lower_rec_input_clauses): Add missing folding
17031         to data type of linear-clause list item.
17033 2022-08-08  Andrew MacLeod  <amacleod@redhat.com>
17035         PR tree-optimization/106556
17036         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
17037         type of the cond_expr operands being evaluted.
17039 2022-08-08  Tom Honermann  <tom@honermann.net>
17041         * ginclude/stdatomic.h (atomic_char8_t,
17042         ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
17044 2022-08-08  Andrew Pinski  <apinski@marvell.com>
17046         PR middle-end/103645
17047         * gimplify.cc (gimplify_init_constructor): Don't build/add
17048         gimple assignment of an empty type.
17050 2022-08-08  Richard Biener  <rguenther@suse.de>
17052         PR lto/106540
17053         PR lto/106334
17054         * dwarf2out.cc (dwarf2out_register_external_die): Restore
17055         original assert.
17056         * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
17057         to input DECL_INITIAL, avoiding to commit drefs.
17059 2022-08-07  Roger Sayle  <roger@nextmovesoftware.com>
17061         * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
17062         for x86_64_hilo_general_operand to general operand.  Call
17063         force_reg on parts that are not x86_64_immediate_operand.
17065 2022-08-05  David Malcolm  <dmalcolm@redhat.com>
17067         PR analyzer/105947
17068         * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
17070 2022-08-05  Roger Sayle  <roger@nextmovesoftware.com>
17072         * expmed.cc (emit_store_flag_1): Move code to expand double word
17073         equality and inequality against zero or -1, using word operations,
17074         to after trying to use the backend's cstore<mode>4 optab/expander.
17076 2022-08-05  Tamar Christina  <tamar.christina@arm.com>
17078         PR middle-end/106534
17079         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
17080         value_replacement and store_elim from diamonds.
17082 2022-08-05  Richard Biener  <rguenther@suse.de>
17084         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
17085         Check whether the registry register_path rejected the path.
17086         (back_threader_registry::register_path): Return whether
17087         register_jump_thread succeeded.
17089 2022-08-05  Aldy Hernandez  <aldyh@redhat.com>
17091         PR tree-optimization/106514
17092         * value-range.cc (unsupported_range::unsupported_range): Move...
17093         * value-range.h (unsupported_range::unsupported_range): ...here.
17094         (unsupported_range::set_undefined): New.
17096 2022-08-05  Richard Biener  <rguenther@suse.de>
17098         PR tree-optimization/106533
17099         * tree-loop-distribution.cc (loop_distribution::execute): Continue
17100         analyzing the inner loops when find_seed_stmts_for_distribution
17101         fails.
17103 2022-08-05  Andrew Pinski  <apinski@marvell.com>
17105         * config/riscv/predicates.md (splittable_const_int_operand):
17106         Remove the check for TARGET_64BIT for single bit const values.
17108 2022-08-04  Andrew MacLeod  <amacleod@redhat.com>
17110         PR tree-optimization/106514
17111         * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
17112         Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
17114 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
17116         * match.pd: New bit_not rule.
17118 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
17120         PR middle-end/106519
17121         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
17122         diamond shapes.
17124 2022-08-04  Sam Feifer  <sfeifer@redhat.com>
17126         PR tree-optimization/106243
17127         * match.pd (-x & 1): New simplification.
17129 2022-08-04  Richard Biener  <rguenther@suse.de>
17131         PR tree-optimization/106521
17132         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
17133         CFG cleanup manually before rewriting into LC SSA.
17135 2022-08-04  Richard Biener  <rguenther@suse.de>
17137         * tree-ssa-threadbackward.cc (populate_worklist): Remove.
17138         (back_threader::resolve_phi): Likewise.
17139         (back_threader::find_paths_to_names): Rewrite greedy search.
17141 2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
17143         * config/s390/vector.md (V_HW_FT): New iterator.
17144         * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
17145         of V_HW.
17147 2022-08-03   Michael Meissner  <meissner@linux.ibm.com>
17149         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
17150         setting -mblock-ops-vector-pair.
17152 2022-08-03  Andrew MacLeod  <amacleod@redhat.com>
17154         PR tree-optimization/106514
17155         * value-relation.cc (path_oracle::killing_def) Do not walk the
17156         equivalence set clearing bits.
17158 2022-08-03  Tamar Christina  <tamar.christina@arm.com>
17160         * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
17161         sequence of a three-way conditional.
17162         (replace_phi_edge_with_variable): Support diamonds.
17163         (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
17164         min/max.
17165         (strip_bit_not, invert_minmax_code): New.
17167 2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
17169         PR rtl-optimization/106187
17170         * alias.h (mems_same_for_tbaa_p): Declare.
17171         * alias.cc (mems_same_for_tbaa_p): New function.
17172         * dse.cc (record_store): Use it instead of open-coding
17173         alias check.
17174         * cselib.h (cselib_redundant_set_p): Declare.
17175         * cselib.cc: Include alias.h
17176         (cselib_redundant_set_p): New function.
17177         * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
17178         of rtx_equal_for_cselib_p.
17179         * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
17180         (reload_cse_noop_set_p): Delete.
17182 2022-08-03  Martin Liska  <mliska@suse.cz>
17184         * doc/gcov-dump.texi: Document the new option.
17185         * gcov-dump.cc (main): Parse the new option.
17186         (print_usage): Show the option.
17187         (tag_counters): Sort key:value pairs of TOP N counter.
17189 2022-08-03  Martin Liska  <mliska@suse.cz>
17191         * profile.cc (compute_branch_probabilities): Do not collect
17192         stats unless TDF_DETAILS.
17194 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17195             Uroš Bizjak  <ubizjak@gmail.com>
17197         PR target/47949
17198         * config/i386/i386.md (peephole2): New peephole2 to convert
17199         SWI48 moves to/from %rax/%eax where the src is dead to xchg,
17200         when optimizing for minimal size with -Oz.
17202 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17204         * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
17205         to split comparisons against -1 using AND and CMP -1 instructions.
17207 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17209         * config/i386/i386-features.cc (compute_convert_gain): Add gain
17210         for converting suitable TImode shift to a V1TImode shift.
17211         (timode_scalar_chain::convert_insn): Add support for converting
17212         suitable ASHIFT and LSHIFTRT.
17213         (timode_scalar_to_vector_candidate_p): Consider logical shifts
17214         by integer constants that are multiples of 8 to be candidates.
17216 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17217             Segher Boessenkool  <segher@kernel.crashing.org>
17218             Richard Sandiford  <richard.sandiford@arm.com>
17220         * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
17221         optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
17222         that are all positive to complement the existing FFS and
17223         idempotent ABS simplifications.
17224         <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
17225         val_signbit_known_clear_p is true of the operand.
17226         Simplify sign extensions of SUBREG truncations of operands
17227         that are already suitably (zero) extended.
17228         <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
17229         of operands that are already suitably zero extended.
17231 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
17233         PR tree-optimization/106510
17234         * gimple-range-fold.cc (fur_source::register_outgoing_edges):
17235         Check for unsupported statements early.
17237 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
17239         PR tree-optimization/106474
17240         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
17241         range of equivalences that may contribute to the range.
17243 2022-08-02  Jose E. Marchesi  <jose.marchesi@oracle.com>
17245         * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
17246         encoding bit in BTF.
17248 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17250         * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
17251         irange check.
17252         (tree_lower_bound): New.
17253         (tree_upper_bound): New.
17254         (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
17255         vrange.
17256         * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
17257         argument to vrange.
17259 2022-08-02  Richard Biener  <rguenther@suse.de>
17261         * tree-ssa-threadbackward.cc
17262         (back_threader_profitability::profitable_path_p): Apply
17263         size constraints to all paths again.
17265 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17267         * range-op-float.cc (finite_operands_p): New.
17268         (frelop_early_resolve): New.
17269         (default_frelop_fold_range): New.
17270         (class foperator_equal): New.
17271         (class foperator_not_equal): New.
17272         (class foperator_lt): New.
17273         (class foperator_le): New.
17274         (class foperator_gt): New.
17275         (class foperator_ge): New.
17276         (class foperator_unordered): New.
17277         (class foperator_ordered): New.
17278         (class foperator_relop_unknown): New.
17279         (floating_op_table::floating_op_table): Add above classes to
17280         floating op table.
17281         * value-range.h (frange::supports_p): Enable.
17283 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17285         * tree-core.h (struct tree_ssa_name): Add frange_info and
17286         reshuffle the rest.
17287         * value-range-storage.cc (vrange_storage::alloc_slot): Add case
17288         for frange.
17289         (vrange_storage::set_vrange): Same.
17290         (vrange_storage::get_vrange): Same.
17291         (vrange_storage::fits_p): Same.
17292         (frange_storage_slot::alloc_slot): New.
17293         (frange_storage_slot::set_frange): New.
17294         (frange_storage_slot::get_frange): New.
17295         (frange_storage_slot::fits_p): New.
17296         * value-range-storage.h (class frange_storage_slot): New.
17298 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17300         * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
17301         query to integrals.
17303 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17305         * value-range.cc (frange::set): Initialize m_props and cleanup.
17307 2022-08-02  Richard Biener  <rguenther@suse.de>
17309         PR tree-optimization/106497
17310         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
17311         Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
17313 2022-08-02  Martin Liska  <mliska@suse.cz>
17315         * profile.cc (compute_branch_probabilities): Dump details only
17316         if TDF_DETAILS.
17317         * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
17318         TDF_ADDRESS is used, it makes comparison harder.
17320 2022-08-02  Richard Biener  <rguenther@suse.de>
17322         PR tree-optimization/106498
17323         * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
17324         SSA update here.
17325         (expand_omp_for): Or here.
17326         (execute_expand_omp): Instead schedule it here together
17327         with CFG cleanup via TODO.
17329 2022-08-02  Richard Biener  <rguenther@suse.de>
17331         PR lto/106334
17332         * dwarf2out.cc (dwarf2out_register_external_die): Adjust
17333         assert.
17335 2022-08-02  Richard Biener  <rguenther@suse.de>
17337         PR tree-optimization/106495
17338         * tree-ssa-threadbackward.cc
17339         (back_threader_profitability::profitable_path_p): If known_edge
17340         is probably never executed avoid threading.
17342 2022-08-01  David Malcolm  <dmalcolm@redhat.com>
17344         * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
17345         error.
17347 2022-08-01  Roger Sayle  <roger@nextmovesoftware.com>
17348             Uroš Bizjak  <ubizjak@gmail.com>
17350         PR target/106481
17351         * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
17352         Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
17353         CONST_VECTOR.
17355 2022-08-01  H.J. Lu  <hjl.tools@gmail.com>
17357         PR target/83782
17358         * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
17359         (TARGET_IFUNC_REF_LOCAL_OK): Use it.
17361 2022-08-01  Jose E. Marchesi  <jose.marchesi@oracle.com>
17363         PR debug/106263
17364         * ctfc.h (struct ctf_dtdef): Add field linkage.
17365         * ctfc.cc (ctf_add_function): Set ctti_linkage.
17366         * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
17367         function types and subprograms.
17368         * btfout.cc (btf_asm_func_type): Emit linkage information for the
17369         function.
17370         (btf_dtd_emit_preprocess_cb): Propagate the linkage information
17371         for functions.
17373 2022-08-01  Andrew Stubbs  <ams@codesourcery.com>
17374             Jakub Jelinek   <jakub@redhat.com>
17376         * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
17377         the mask type.
17379 2022-08-01  Sam Feifer  <sfeifer@redhat.com>
17381         PR tree-optimization/104992
17382         * match.pd (x / y * y == x): New simplification.
17384 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
17386         * value-range.cc (tree_compare): New.
17387         (frange::set): Make more general.
17388         (frange::normalize_kind): Cleanup and return bool.
17389         (frange::union_): Use normalize_kind return value.
17390         (frange::intersect): Same.
17391         (frange::verify_range): Remove unnecessary else.
17392         * value-range.h (vrp_val_max): Move before frange class.
17393         (vrp_val_min): Same.
17394         (frange::frange): Remove set to m_type.
17396 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
17398         * value-range.cc (vrange::supports_type_p): Use const_tree.
17399         (irange::supports_type_p): Same.
17400         (frange::supports_type_p): Same.
17401         * value-range.h (Value_Range::supports_type_p): Same.
17402         (irange::supports_p): Same.
17404 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
17406         * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
17407         query SCEV for integers.
17408         (fold_using_range::range_of_ssa_name_with_loop_info): Remove
17409         irange check.
17411 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
17413         * config/i386/i386.md (define_expand <any_rotate>ti3): For
17414         rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
17415         (rot[lr]64ti2_doubleword): New post-reload splitter.
17417 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
17418             H.J. Lu  <hjl.tools@gmail.com>
17420         PR target/106450
17421         * config/i386/i386-features.cc (timode_check_non_convertible_regs):
17422         Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
17423         (timode_remove_non_convertible_regs): Update comment.
17424         Call timode_check_non_convertible_reg on all TImode register
17425         DEFs and USEs in each instruction.
17427 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17429         * config/xtensa/xtensa.md: Change hard register number used in
17430         the split patterns for indirect sibling call fixups from 10 to 11,
17431         the last free one for the CALL0 ABI.
17433 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17435         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
17436         Add new case for IF_THEN_ELSE.
17438 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
17440         * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
17441         (<expander><mode>3<exec>): Use V_INT_noHI.
17442         (v<expander><mode>3<exec>): Likewise.
17444 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
17446         * config/gcn/gcn.md (one_cmpldi2): New.
17448 2022-07-29  Richard Biener  <rguenther@suse.de>
17450         PR tree-optimization/105679
17451         * tree-ssa-threadbackward.cc
17452         (back_threader_profitability::profitable_path_p): Avoid threading
17453         when the entry edge is probably never executed.
17455 2022-07-29  Richard Biener  <rguenther@suse.de>
17457         PR tree-optimization/106422
17458         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
17459         Check whether we can copy thread blocks and cancel the thread if not.
17461 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
17463         PR middle-end/106449
17464         * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
17465         iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
17466         or n2 before regimplifying it inside of a condition.
17468 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
17470         * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
17471         extract_omp_for_update_vars, expand_omp_for_ordered_loops,
17472         expand_omp_simd): Don't fold_convert second argument to
17473         fold_build_pointer_plus to sizetype.
17475 2022-07-29  Lulu Cheng  <chenglulu@loongson.cn>
17477         * config.in: Regenerate.
17478         * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
17479         Select the value of the macro definition according to whether
17480         HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
17481         * configure: Regenerate.
17482         * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
17484 2022-07-29  Richard Biener  <rguenther@suse.de>
17486         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
17487         Use CONVERT_EXPR_CODE_P.
17489 2022-07-29  Richard Biener  <rguenther@suse.de>
17491         * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
17492         get_vectype_for_scalar_type instead of
17493         vect_get_vector_types_for_stmt.
17495 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
17497         PR analyzer/105893
17498         * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
17500 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
17502         * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
17503         url.
17504         (Static Analyzer Options): Likewise.  Add urefs for all of the
17505         warnings that have associated CWE identifiers.
17507 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
17509         * doc/implement-c.texi (Floating point implementation): Mention
17510         `-fno-trapping-math' in the context of FENV_ACCESS pragma.
17511         * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
17512         implication in the descriptions of `-fno-trapping-math' and
17513         `-frounding-math'.
17515 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
17517         * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
17518         (QUIET_PATTERN): New int attribute.
17519         (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
17520         RTL insns entirely within the preparation statements.
17521         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
17522         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
17523         insns.
17524         (*riscv_fsnvsnan<mode>2): New insn.
17526 2022-07-28  Richard Biener  <rguenther@suse.de>
17528         PR middle-end/106457
17529         * tree.cc (array_at_struct_end_p): Handle array objects
17530         specially.
17532 2022-07-28  Jakub Jelinek  <jakub@redhat.com>
17534         PR tree-optimization/106099
17535         * internal-fn.def (TRAP): New internal fn.
17536         * internal-fn.h (expand_TRAP): Declare.
17537         * internal-fn.cc (expand_TRAP): Define.
17538         * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
17539         use internal fn rather than builtin.
17541 2022-07-27  Andrew Carlotti  <andrew.carlotti@arm.com>
17543         * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
17545 2022-07-27  WANG Xuerui  <i@xen0n.name>
17547         * doc/invoke.texi: Document -m[no-]explicit-relocs for
17548         LoongArch.
17550 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
17552         * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
17553         duplicate backslashes.
17555 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
17557         * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
17558         case.
17560 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
17562         PR debug/106261
17563         * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
17564         output asm thunks for -dx.
17566 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
17568         PR middle-end/106332
17569         * opts-common.cc (candidates_list_and_hint): Add gcc_assert
17570         that candidates is not an empty vector.
17572 2022-07-27  Xi Ruoyao  <xry111@xry111.site>
17574         * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
17575         assembler supports explicit relocation for LoongArch.
17576         * configure: Regenerate.
17577         * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
17578         Define to 0 if not defined.
17579         * config/loongarch/genopts/loongarch.opt.in
17580         (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
17581         * config/loongarch/loongarch.opt: Regenerate.
17583 2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
17585         PR c/106016
17586         * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
17588 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
17590         * config/loongarch/loongarch-opts.cc: Modify the output message string
17591         of the warning.
17593 2022-07-26  Martin Liska  <mliska@suse.cz>
17595         * doc/tm.texi.in: Fix placement of defmac.
17596         * doc/tm.texi: Copy.
17598 2022-07-26  Martin Liska  <mliska@suse.cz>
17600         * doc/tm.texi.in: Fix cross @defmac and @hook.
17601         * doc/tm.texi: Copy.
17603 2022-07-26  Aldy Hernandez  <aldyh@redhat.com>
17605         PR tree-optimization/106444
17606         * value-range-pretty-print.cc (vrange_printer::visit): Handle
17607         legacy ranges.
17608         (vrange_printer::print_irange_bound): Work on wide_int's.
17609         * value-range-pretty-print.h (print_irange_bound): Same.
17610         * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
17612 2022-07-26  Richard Biener  <rguenther@suse.de>
17614         * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
17615         points to a constant continue checking ptr2.
17617 2022-07-26  Andrew Carlotti  <Andrew.Carlotti@arm.com>
17619         * config/aarch64/aarch64-builtins.cc
17620         (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
17621         (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
17622         (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
17623         (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
17624         (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
17625         (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
17626         (MODE_q_p128): Define macro to map to corresponding mode name.
17627         (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
17628         (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
17629         (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
17630         corresponding qualifier name.
17631         (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
17632         (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
17633         functions for the above mappings
17634         (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
17635         (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
17636         (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
17637         (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
17638         for all vreinterpret intrinsics
17639         (enum aarch64_builtins): Add vreinterpret function codes
17640         (aarch64_init_simd_intrinsics): New
17641         (handle_arm_neon_h): Improved comment.
17642         (aarch64_general_fold_builtin): Fold vreinterpret calls
17643         * config/aarch64/arm_neon.h
17644         (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
17645         (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
17646         (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
17647         (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
17648         (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
17649         (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
17650         (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
17651         (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
17652         (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
17653         (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
17654         (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
17655         (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
17656         (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
17657         (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
17658         (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
17659         (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
17660         (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
17661         (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
17662         (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
17663         (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
17664         (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
17665         (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
17666         (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
17667         (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
17668         (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
17669         (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
17670         (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
17671         (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
17672         (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
17673         (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
17674         (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
17675         (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
17676         (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
17677         (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
17678         (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
17679         (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
17680         (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
17681         (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
17682         (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
17683         (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
17684         (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
17685         (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
17686         (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
17687         (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
17688         (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
17689         (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
17690         (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
17691         (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
17692         (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
17693         (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
17694         (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
17695         (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
17696         (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
17697         (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
17698         (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
17699         (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
17700         (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
17701         (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
17702         (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
17703         (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
17704         (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
17705         (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
17706         (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
17707         (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
17708         (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
17709         (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
17710         (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
17711         (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
17712         (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
17713         (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
17714         (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
17715         (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
17716         (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
17717         (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
17718         (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
17719         (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
17720         (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
17721         (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
17722         (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
17723         (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
17724         (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
17725         (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
17726         (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
17727         (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
17728         (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
17729         (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
17730         (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
17731         (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
17732         (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
17733         (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
17734         (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
17735         (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
17736         (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
17737         (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
17738         (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
17739         (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
17740         (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
17741         (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
17742         (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
17743         (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
17744         (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
17745         (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
17746         (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
17747         (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
17748         (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
17749         (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
17750         (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
17751         (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
17752         (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
17753         (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
17754         (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
17755         (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
17756         (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
17757         (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
17758         (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
17759         (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
17760         (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
17761         (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
17762         (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
17763         (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
17764         (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
17765         (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
17766         (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
17767         (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
17768         (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
17769         (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
17770         (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
17771         (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
17772         (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
17773         (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
17774         (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
17775         (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
17776         (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
17777         (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
17778         (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
17779         (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
17780         (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
17781         (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
17782         (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
17783         (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
17784         (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
17785         (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
17786         (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
17787         (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
17788         (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
17789         (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
17790         (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
17791         (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
17792         (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
17793         (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
17794         (vreinterpretq_p128_bf16): Delete
17796 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
17798         * config/aarch64/aarch64-builtins.cc
17799         (aarch64_simd_builtin_std_type): Rename to...
17800         (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
17801         (aarch64_lookup_simd_builtin_type): Rename to...
17802         (aarch64_simd_builtin_type): ...this. Add const/pointer
17803         support, and extract table lookup to...
17804         (aarch64_lookup_simd_type_in_table): ...this function.
17805         (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
17806         (aarch64_init_fcmla_laneq_builtins): Ditto.
17807         (aarch64_init_simd_builtin_functions): Ditto.
17809 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
17811         * config/aarch64/aarch64-builtins.cc
17812         (aarch64_general_gimple_fold_builtin): Add combine.
17814 2022-07-26  Richard Biener  <rguenther@suse.de>
17816         PR tree-optimization/106189
17817         * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
17818         Divide using offset_ints.
17820 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
17822         * common/config/loongarch/loongarch-common.cc:
17823         Enable '-fsection-anchors' when O1 and more advanced optimization.
17824         * config/loongarch/genopts/loongarch.opt.in: Add new option
17825         '-mexplicit-relocs', and enable by default.
17826         * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
17827         Delete function declaration.
17828         (loongarch_split_move_insn): Delete function declaration.
17829         (loongarch_split_symbol_type): Add function declaration.
17830         * config/loongarch/loongarch.cc (enum loongarch_address_type):
17831         Add new address type 'ADDRESS_LO_SUM'.
17832         (loongarch_classify_symbolic_expression): New function definitions.
17833         Classify the base of symbolic expression X, given that X appears in
17834         context CONTEXT.
17835         (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
17836         (loongarch_split_symbol_type): New function definitions.
17837         Determines whether the symbol load should be split into two instructions.
17838         (loongarch_valid_lo_sum_p): New function definitions.
17839         Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
17840         symbol has type SYMBOL_TYPE.
17841         (loongarch_classify_address): Add handling of 'LO_SUM'.
17842         (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
17843         (loongarch_signed_immediate_p): Sort code.
17844         (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
17845         (loongarch_const_insns): Add handling of 'HIGH'.
17846         (loongarch_split_move_insn_p): Add the static attribute to the function.
17847         (loongarch_emit_set): New function definitions.
17848         (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
17849         (loongarch_legitimize_tls_address): Add symbol handling when defining the
17850         TARGET_EXPLICIT_RELOCS macro.
17851         (loongarch_split_symbol): New function definitions. Split symbol.
17852         (loongarch_legitimize_address): Add codes see if the address can split into a high part
17853         and a LO_SUM.
17854         (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
17855         high and low.
17856         (loongarch_split_move_insn): Delete function definitions.
17857         (loongarch_output_move): Add support for HIGH and LO_SUM.
17858         (loongarch_print_operand_reloc): New function definitions.
17859         Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
17860         (loongarch_memmodel_needs_release_fence): Sort code.
17861         (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
17862         and LOW output.
17863         (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
17864         (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
17865         (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
17866         * config/loongarch/loongarch.md (movti): Delete the template.
17867         (*movti): Delete the template.
17868         (movtf): Delete the template.
17869         (*movtf): Delete the template.
17870         (*low<mode>): New template of normal symbol low address.
17871         (@tls_low<mode>): New template of tls symbol low address.
17872         (@ld_from_got<mode>): New template load address from got table.
17873         (@ori_l_lo12<mode>): New template.
17874         * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
17875         * config/loongarch/predicates.md: Add support for symbol_type HIGH.
17877 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
17879         * config/loongarch/constraints.md (a): Delete the constraint.
17880         (b): A constant call not local address.
17881         (h): Delete the constraint.
17882         (t): Delete the constraint.
17883         * config/loongarch/loongarch-opts.cc (loongarch_config_target):
17884         Remove cModel type support other than normal.
17885         * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
17886         Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
17887         (loongarch_split_symbol): Delete useless function declarations.
17888         (loongarch_split_symbol_type): Delete useless function declarations.
17889         * config/loongarch/loongarch.cc (enum loongarch_address_type):
17890         Delete unnecessary comment information.
17891         (loongarch_symbol_binds_local_p): Modified the judgment order of label
17892         and symbol.
17893         (loongarch_classify_symbol): Return symbol type. If symbol is a label,
17894         or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
17895         return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
17896         (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
17897         'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
17898         (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
17899         and 'SYMBOL_PCREL'.
17900         (loongarch_address_insns): Sort code.
17901         (loongarch_12bit_offset_address_p): Sort code.
17902         (loongarch_14bit_shifted_offset_address_p): Sort code.
17903         (loongarch_call_tls_get_addr): Sort code.
17904         (loongarch_legitimize_tls_address): Sort code.
17905         (loongarch_output_move): Remove schema support for cmodel other than normal.
17906         (loongarch_memmodel_needs_release_fence): Sort code.
17907         (loongarch_print_operand): Sort code.
17908         * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
17909         Rename to LARCH_12BIT_OFFSET_P.
17910         (LARCH_12BIT_OFFSET_P): New macro.
17911         * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
17912         support for cmodel other than normal.
17913         * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
17914         (is_const_call_plt_symbol): Delete this predicate.
17915         (is_const_call_global_noplt_symbol): Delete this predicate.
17916         (is_const_call_no_local_symbol): New predicate, determines whether it is a local
17917         symbol or label.
17919 2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
17921         PR target/106091
17922         * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
17923         REG_EH_REGION when replacing one store insn having it.
17924         (replace_swapped_aligned_load): Likewise.
17926 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
17928         * Makefile.in (OBJS): Add range-op-float.o.
17929         * range-op.cc (get_float_handler): New.
17930         (range_op_handler::range_op_handler): Save code and type for
17931         delayed querying.
17932         (range_op_handler::oeprator bool): Move from header file, and
17933         add support for floats.
17934         (range_op_handler::fold_range): Add support for floats.
17935         (range_op_handler::op1_range): Same.
17936         (range_op_handler::op2_range): Same.
17937         (range_op_handler::lhs_op1_relation): Same.
17938         (range_op_handler::lhs_op2_relation): Same.
17939         (range_op_handler::op1_op2_relation): Same.
17940         * range-op.h (class range_operator_float): New.
17941         (class floating_op_table): New.
17942         * value-query.cc (range_query::get_tree_range): Add case for
17943         REAL_CST.
17944         * range-op-float.cc: New file.
17946 2022-07-25  Roger Sayle  <roger@nextmovesoftware.com>
17947             Uroš Bizjak  <ubizjak@gmail.com>
17949         PR target/91681
17950         * config/i386/i386-expand.cc (split_double_concat): A new helper
17951         function for setting a double word value from two word values.
17952         * config/i386/i386-protos.h (split_double_concat): Prototype here.
17953         * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
17954         (*add<dwi>3_doubleword_zext): New define_insn_and_split.
17955         (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
17956         (*concat<mode><dwi>3_1): New define_insn_and_split replacing
17957         previous define_split for implementing DST = (HI<<32)|LO as
17958         pair of move instructions, setting lopart and hipart.
17959         (*concat<mode><dwi>3_2): Likewise.
17960         (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
17961         (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
17963 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
17965         PR middle-end/106432
17966         * gimple-range.cc (gimple_ranger::range_on_edge): Return false
17967         when the result range type is unsupported.
17969 2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
17971         * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
17973 2022-07-25  Richard Biener  <rguenther@suse.de>
17975         PR middle-end/106414
17976         * match.pd (~(x ^ y) -> x == y): Restrict to single bit
17977         precision types.
17979 2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
17981         * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
17982         (@aarch64_rbit<mode>): ... to this and change it in...
17983         (ffs<mode>2,ctz<mode>2): ... here.
17984         (@aarch64_rev16<mode>): New.
17985         * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
17986         Define the following enum AARCH64_REV16, AARCH64_REV16L,
17987         AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
17988         (aarch64_init_data_intrinsics): New.
17989         (aarch64_general_init_builtins): Add call to
17990         aarch64_init_data_intrinsics.
17991         (aarch64_expand_builtin_data_intrinsic): New.
17992         (aarch64_general_expand_builtin): Add call to
17993         aarch64_expand_builtin_data_intrinsic.
17994         * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
17995         __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
17996         __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
17998 2022-07-25  Martin Liska  <mliska@suse.cz>
18000         * doc/extend.texi: Remove trailing whitespaces.
18001         * doc/invoke.texi: Likewise.
18003 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
18005         * value-range-pretty-print.cc (vrange_printer::visit): New.
18006         (vrange_printer::print_frange_prop): New.
18007         * value-range-pretty-print.h (class vrange_printer): Add visit and
18008         print_frange_prop.
18009         * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
18010         (vrange_allocator::alloc_frange): New.
18011         * value-range.cc (vrange::operator=): Handle frange.
18012         (vrange::operator==): Same.
18013         (frange::accept): New.
18014         (frange::set): New.
18015         (frange::normalize_kind): New.
18016         (frange::union_): New.
18017         (frange::intersect): New.
18018         (frange::operator=): New.
18019         (frange::operator==): New.
18020         (frange::supports_type_p): New.
18021         (frange::verify_range): New.
18022         * value-range.h (enum value_range_discriminator): Handle frange.
18023         (class fp_prop): New.
18024         (FP_PROP_ACCESSOR): New.
18025         (class frange_props): New.
18026         (FRANGE_PROP_ACCESSOR): New.
18027         (class frange): New.
18028         (Value_Range::init): Handle frange.
18029         (Value_Range::operator=): Same.
18030         (Value_Range::supports_type_p): Same.
18031         (frange_props::operator==): New.
18032         (frange_props::union_): New.
18033         (frange_props::intersect): New
18034         (frange::frange): New.
18035         (frange::type): New.
18036         (frange::set_varying): New.
18037         (frange::set_undefined): New.
18039 2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
18040             Kewen Lin  <linkw@linux.ibm.com>
18042         PR testsuite/106345
18043         * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
18044         to filter out all -mtune options.
18046 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18048         * value-query.cc (range_query::get_value_range): Add assert.
18049         * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
18050         on unsupported types in vr_values.
18051         (simplify_using_ranges::simplify): Same.
18053 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18055         * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
18056         types.
18057         * value-query.cc (get_ssa_name_range_info): Remove precision check.
18059 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18061         * value-relation.cc (value_relation::set_relation): Remove assert.
18062         (path_oracle::register_relation): Exit when trying to register
18063         same SSA name relations.
18065 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18067         * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
18068         (ranger_cache::range_from_dom): Same.
18069         * tree-ssa-dom.cc
18070         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
18072 2022-07-24  Roger Sayle  <roger@nextmovesoftware.com>
18073             H.J. Lu  <hjl.tools@gmail.com>
18075         PR target/106303
18076         PR target/106347
18077         * config/i386/i386-features.cc (make_vector_copies): Move from
18078         general_scalar_chain to scalar_chain.
18079         (convert_reg): Likewise.
18080         (convert_insn_common): New scalar_chain method split out from
18081         general_scalar_chain convert_insn.
18082         (convert_registers): Move from general_scalar_chain to
18083         scalar_chain.
18084         (scalar_chain::convert): Call convert_insn_common before calling
18085         convert_insn.
18086         (timode_remove_non_convertible_regs): Iterate until there are
18087         no further changes to the candidates.
18088         * config/i386/i386-features.h (scalar_chain::hash_map): Move
18089         from general_scalar_chain.
18090         (scalar_chain::convert_reg): Likewise.
18091         (scalar_chain::convert_insn_common): New shared method.
18092         (scalar_chain::make_vector_copies): Move from general_scalar_chain.
18093         (scalar_chain::convert_registers): Likewise.  No longer virtual.
18094         (general_scalar_chain::hash_map): Delete.  Moved to scalar_chain.
18095         (general_scalar_chain::convert_reg): Likewise.
18096         (general_scalar_chain::make_vector_copies): Likewise.
18097         (general_scalar_chain::convert_registers): Delete virtual method.
18098         (timode_scalar_chain::convert_registers): Likewise.
18100 2022-07-23  Immad Mir  <mirimmad@outlook.com>
18102         * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
18103         "Common Function Attributes" section.
18104         * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
18105         -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
18106         warnings may be emitted through usage of three function attributes used
18107         for static analysis of file descriptors namely fd_arg, fd_arg_read and
18108         fd_arg_write.
18110 2022-07-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18112         * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
18113         Add a new insn_and_split pattern, and a few split patterns for
18114         spacial cases.
18116 2022-07-22  Richard Sandiford  <richard.sandiford@arm.com>
18118         * graphds.cc (graphds_scc): Fix algorithm attribution.
18120 2022-07-22  Richard Biener  <rguenther@suse.de>
18122         PR tree-optimization/106403
18123         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
18124         value valueization after check for IFN_MASKED_STORE or
18125         IFN_LEN_STORE.
18127 2022-07-22  Richard Biener  <rguenther@suse.de>
18129         PR tree-optimization/106397
18130         * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
18131         not update SSA form here.
18132         (mark_nontemporal_stores): Return whether we marked any
18133         non-temporal stores and inserted mfence.
18134         (loop_prefetch_arrays): Note when we need to update SSA.
18135         (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
18136         at the end of the pass.
18138 2022-07-22  Richard Biener  <rguenther@suse.de>
18140         PR tree-optimization/106387
18141         * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
18142         if ptr is not an SSA name.
18144 2022-07-22  liuhongt  <hongtao.liu@intel.com>
18146         PR target/106038
18147         * config/i386/mmx.md (<code><mode>3): New define_expand, it's
18148         original "<code><mode>3".
18149         (*<code><mode>3): New define_insn, it's original
18150         "<code><mode>3" be extended to handle memory and immediate
18151         operand with ix86_binary_operator_ok. Also adjust define_split
18152         after it.
18153         (mmxinsnmode): New mode attribute.
18154         (*mov<mode>_imm): Refactor with mmxinsnmode.
18155         * config/i386/predicates.md
18156         (register_or_x86_64_const_vector_operand): New predicate.
18158 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
18160         * config/rs6000/altivec.md:
18161         (vstrir_code_<mode>): Rename to...
18162         (vstrir_direct_<mode>): ... this.
18163         (vstrir_p_code_<mode>): Rename to...
18164         (vstrir_p_direct_<mode>): ... this.
18165         (vstril_code_<mode>): Rename to...
18166         (vstril_direct_<mode>): ... this.
18167         (vstril_p_code_<mode>): Rename to...
18168         (vstril_p_direct_<mode>): ... this.
18170 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
18172         * config/rs6000/rs6000-c.cc: Update comments.
18173         (rs6000_target_modify_macros): Remove bu_mask references.
18174         (rs6000_define_or_undefine_macro): Replace bu_mask reference
18175         with a rs6000_cpu value check.
18176         (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
18177         parameter from call to rs6000_target_modify_macros.
18178         * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
18179         rs6000_target_modify_macros_ptr): Remove parameter from extern
18180         for the prototype.
18181         * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
18182         parameter from prototype, update calls to this function.
18183         (rs6000_print_builtin_options): Remove prototype, call and function.
18184         (rs6000_builtin_mask_calculate): Remove function.
18185         (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
18186         (rs6000_option_override_internal): Remove rs6000_builtin_mask var
18187         and builtin_mask debug output.
18188         (rs6000_builtin_mask_names): Remove.
18189         (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
18190         diff_bumask references; Update calls to rs6000_target_modify_ptr.
18191         * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
18193 2022-07-21  Sam Feifer  <sfeifer@redhat.com>
18195         PR tree-optimization/94920
18196         * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
18197         (x <= 0 ? -x : 0): New simplification.
18199 2022-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18201         Revert:
18202         2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18204         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
18205         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
18207 2022-07-21  Richard Biener  <rguenther@suse.de>
18209         PR tree-optimization/106379
18210         * match.pd (~(a ^ b) -> a == b): New pattern.
18212 2022-07-21  Richard Biener  <rguenther@suse.de>
18214         PR tree-optimization/106378
18215         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
18216         LEN_STORE, add mode to initialize a may-def and handle
18217         MASK_STORE that way.
18218         (dse_optimize_stmt): Query may-defs.  Handle internal
18219         functions LEN_STORE and MASK_STORE similar to how
18220         we handle memory builtins but without byte tracking.
18222 2022-07-21  Richard Biener  <rguenther@suse.de>
18224         PR tree-optimization/106365
18225         * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
18226         the offset to start encoding of RHS from.
18227         (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
18228         (vn_walk_cb_data::push_partial_def): Allow the first partial
18229         definition to be fully providing the def.  Offset RHS
18230         before encoding if requested.
18231         (vn_reference_lookup_3): Initialize def_rhs everywhere.
18232         Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
18234 2022-07-21  Richard Biener  <rguenther@suse.de>
18236         * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
18237         store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
18238         and IFN_MASK_LOAD_LANES.
18239         (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
18240         IFN_LEN_STORE and IFN_MASK_STORE_LANES.
18242 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
18244         PR rtl-optimization/101347
18245         * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
18246         population of nonlocal_goto_handler_labels from here ...
18247         (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
18248         * rtlanal.cc (remove_node_from_insn_list): Verify that a
18249         duplicate is not present in the remainder of the list.
18251 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
18253         * rtl.h (remove_node_from_expr_list): Remove declaration.
18254         * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
18256 2022-07-20  Richard Biener  <rguenther@suse.de>
18258         * tree-vect-data-refs.cc (bump_vector_ptr): Return an
18259         invariant updated address when the input was invariant.
18261 2022-07-20  liuhongt  <hongtao.liu@intel.com>
18263         * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
18264         and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
18265         * timevar.def (TV_TREE_POWCABS): New timevar.
18266         * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
18267         * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
18268         (class pass_expand_powcabs): Ditto.
18269         (pass_expand_powcabs::execute): Ditto.
18270         (make_pass_expand_powcabs): Ditto.
18271         (pass_cse_sincos::execute): Remove pow/cabs expand part.
18272         (make_pass_cse_sincos): Ditto.
18274 2022-07-20  Richard Biener  <richard.guenther@gmail.com>
18275             Hongtao Liu  <hongtao.liu@intel.com>
18277         PR tree-optimization/106010
18278         * tree-complex.cc (init_dont_simulate_again): Lower complex
18279         type move.
18280         (expand_complex_move): Also expand COMPLEX_CST for rhs.
18282 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
18284         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
18285         for incoming ranges on join nodes and add to worklist.
18287 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
18289         * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
18290         (ranger_cache::range_from_dom): Put all nodes to be calculated
18291         in the worklist and resolve after the dom walk.
18292         * gimple-range-cache.h (resolve_dom): New prototype.
18294 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
18296         * tree-cfg.cc (gimple_verify_flow_info): Check placement of
18297         returns_twice calls.
18299 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
18301         * cfghooks.cc (duplicate_block): Expand comment.
18302         * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
18303         calls that may return twice.
18305 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
18307         * tree-ssa-sink.cc (select_best_block): Punt if selected block
18308         has incoming abnormal edges.
18310 2022-07-19  Martin Liska  <mliska@suse.cz>
18312         * doc/extend.texi: Remove trailing :.
18314 2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18316         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
18317         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
18319 2022-07-19  Richard Biener  <rguenther@suse.de>
18321         PR middle-end/106331
18322         * builtins.cc (get_memory_rtx): Compute alignment from
18323         the original address and set MEM_OFFSET to unknown when
18324         we create a MEM_EXPR from the base object of the address.
18326 2022-07-19  Richard Biener  <rguenther@suse.de>
18328         PR lto/106334
18329         * dwarf2out.cc (dwarf2out_register_external_die): Allow
18330         map entry re-use during WPA.
18332 2022-07-19  Roger Sayle  <roger@nextmovesoftware.com>
18333             Richard Biener  <rguenther@suse.de>
18335         PR c/106264
18336         * builtins.cc (fold_builtin_frexp): Call suppress_warning on
18337         COMPOUND_EXPR to silence spurious warning if result isn't used.
18338         (fold_builtin_modf): Likewise.
18339         (do_mpfr_remquo): Likewise.
18341 2022-07-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18343         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
18344         Change the relative cost of '(set (reg) (const_int N))' where
18345         N fits into signed 12-bit from 4 to 0 if optimizing for size.
18346         And use the appropriate macro instead of the bare number 4.
18348 2022-07-18  Andrew MacLeod  <amacleod@redhat.com>
18350         PR tree-optimization/106280
18351         * value-relation.cc (dom_oracle::register_relation): Register
18352         transitives only when it is possible for there to be one.
18353         (dom_oracle::set_one_relation): Return NULL if this is an
18354         existing relation.
18356 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
18358         * doc/invoke.texi (RISC-V Options): Add index references for
18359         `mrelax' and `mriscv-attribute'.
18361 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
18363         * doc/invoke.texi (Option Summary): Add missing second space
18364         around `-mstack-protector-guard-reg='.
18366 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
18368         * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
18369         (RISC-V Options): Likewise, and `-mriscv-attribute'.
18371 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
18373         * config/arc/arc-arch.h (arc_tune_attr): Add
18374         ARC_TUNE_ARCHS4X_REL31A variant.
18375         * config/arc/arc.cc (arc_override_options): Tune options for
18376         release 310a.
18377         (arc_sched_issue_rate): Use correct enum.
18378         (arc600_corereg_hazard): Textual change.
18379         (arc_hazard): Add release 310a tunning.
18380         * config/arc/arc.md (tune): Update and take into consideration new
18381         tune option.
18382         (tune_dspmpy): Likewise.
18383         (tune_store): New attribute.
18384         * config/arc/arc.opt (mtune): New tune option.
18385         * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
18386         (hs4x_brcc_op): New instruction rezervation.
18387         (hs4x_data_store_1_op): Likewise.
18388         * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
18389         * config/arc/arc-tables.opt: Regenerate.
18390         * config/arc/t-multilib: Likewise.
18391         * doc/invoke.texi (ARC): Update mcpu and tune sections.
18393 2022-07-18  Richard Biener  <rguenther@suse.de>
18395         * tree-loop-distribution.cc (loop_distribution::distribute_loop):
18396         When computing cost-based merging do not disregard builtin
18397         classified partitions in some cases.
18399 2022-07-18  Richard Sandiford  <richard.sandiford@arm.com>
18401         PR target/106253
18402         * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
18403         Delete.
18404         * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
18405         * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
18406         Delete.
18407         * config/arm/arm_neon_builtins.def (copysignf): Delete.
18408         * config/arm/iterators.md (nvrint_pattern): New attribute.
18409         * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
18410         New pattern.
18411         (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
18412         Likewise.
18413         (neon_copysignf<mode>): Rename to...
18414         (copysign<mode>3): ...this.
18416 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
18418         * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
18419         pointer first when in interrupts.
18421 2022-07-18  Richard Biener  <rguenther@suse.de>
18423         * tree-loop-distribution.cc (copy_loop_before): Add
18424         the ability to replace the original LC PHI defs.
18425         (generate_loops_for_partition): Pass through a flag
18426         whether to redirect original LC PHI defs.
18427         (generate_code_for_partition): Likewise.
18428         (loop_distribution::distribute_loop): Compute the partition
18429         that should provide the LC PHI defs for common reductions
18430         and pass that down.
18432 2022-07-18  Richard Ball  <richard.ball@arm.com>
18434         * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
18435         (aarch64_evpc_uzp): Likewise.
18436         (aarch64_evpc_zip): Likewise.
18438 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
18440         PR target/106231
18441         * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
18442         to recognize any_extend:DI of ctz:SI which is implicitly extended.
18443         (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
18444         extended ctz:SI that has preceding xor to break false dependency.
18446 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
18448         * config/i386/predicates.md (x86_64_const_vector_operand):
18449         Check the operand's mode matches the specified mode argument.
18451 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
18453         * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
18454         (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
18455         (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
18456         (vec_pack_trunc_qi): Update to specify the now required
18457         UNSPEC_MASKOP unspec.
18458         (vec_pack_trunc_<mode>): Likewise.
18460 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18462         * config/xtensa/xtensa.md
18463         (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
18464         *masktrue_const_shifted_mask): If the immediate for bitwise AND is
18465         represented as '-(1 << N)', decrease the lower bound of N from 12
18466         to 1.  And the other immediate for conditional branch is now no
18467         longer limited to zero, but also one of some positive integers.
18468         Finally, remove the checks of some conditions, because the comparison
18469         expressions that don't satisfy such checks are determined as
18470         compile-time constants and thus will be optimized away before
18471         RTL expansion.
18473 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18475         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
18476         (xtensa_constantsynth_2insn): Change to try all three synthetic
18477         methods and to use the one that fits the immediate value of
18478         the seed into a Narrow Move Immediate instruction "MOVI.N"
18479         when the Code Density Option is configured.
18481 2022-07-15  H.J. Lu  <hjl.tools@gmail.com>
18483         PR target/85620
18484         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
18485         false if callee has indirect_return attribute and caller
18486         doesn't.
18488 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
18490         PR target/106273
18491         * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
18492         constraints to reflect the output is earlyclobber, unless it is
18493         the same register (pair) as one of the operands.
18495 2022-07-15  David Malcolm  <dmalcolm@redhat.com>
18497         * doc/invoke.texi (Static Analyzer Options): Add the new fd
18498         warnings to the initial gccoptlist, and to the list of those
18499         disabled by -fanalyzer-checker=taint.
18501 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
18503         * config/aarch64/aarch64-builtins.cc
18504         (enum aarch64_type_qualifiers): Remove qualifier_internal.
18505         (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
18507 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
18509         * config/aarch64/aarch64-builtins.cc
18510         (v1di_UP): Add V1DI mode to _UP macros.
18511         * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
18512         * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
18513         * config/aarch64/aarch64-simd.md
18514         (vec_extractv2dfv1df): Replace with...
18515         (vec_extract<mode><V1half>): ...this.
18516         * config/aarch64/aarch64.cc
18517         (aarch64_classify_vector_mode): Add V1DI mode.
18518         * config/aarch64/iterators.md
18519         (VQ_2E, V1HALF, V1half): New.
18520         (nunits): Add V1DI mode.
18522 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
18524         PR target/106278
18525         * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
18526         Fix indentation whitespace.
18527         (timode_scalar_chain::fix_debug_reg_uses): Likewise.
18528         (timode_scalar_chain::convert_insn): Delete dead code.
18529         Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
18530         Fix indentation whitespace.
18531         (convertible_comparison_p): Likewise.
18532         (timode_scalar_to_vector_candidate_p): Likewise.
18534 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
18536         * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
18538 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
18540         * Makefile.in (OBJS): Add value-range-pretty-print.o.
18541         * pretty-print.h (pp_vrange): New.
18542         * value-range.cc (vrange::dump): Call pp version.
18543         (unsupported_range::dump): Move to its own file.
18544         (dump_bound_with_infinite_markers): Same.
18545         (irange::dump): Same.
18546         (irange::dump_bitmasks): Same.
18547         (vrange::debug): Remove.
18548         * value-range.h: Remove virtual designation for dump methods.
18549         Remove dump_bitmasks method.
18550         * value-range-pretty-print.cc: New file.
18551         * value-range-pretty-print.h: New file.
18553 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
18555         * value-range.cc (irange::accept): New.
18556         (unsupported_range::accept): New.
18557         * value-range.h (class vrange_visitor): New.
18558         (class vrange): Add accept method.
18559         (class unsupported_range): Same.
18560         (class Value_Range): Same.
18562 2022-07-15  Jonathan Wakely  <jwakely@redhat.com>
18564         * diagnostic-format-json.cc (json_from_location_range): Adjust
18565         to new label_text API.
18566         * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
18567         Likewise.
18568         * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
18569         (layout::print_any_labels): Likewise.
18570         * tree-diagnostic-path.cc (class path_label): Likewise.
18571         (struct event_range): Likewise.
18572         (default_tree_diagnostic_path_printer): Likewise.
18573         (default_tree_make_json_for_path): Likewise.
18575 2022-07-15  konglin1  <lingling.kong@intel.com>
18577         PR target/106113
18578         * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
18579         comparison due to intrinsics changed over time.
18580         * config/i386/i386-expand.cc (ix86_ssecom_setcc):
18581         Add unordered check and mode for sse comi codegen.
18582         (ix86_expand_sse_comi): Add unordered check and check a different
18583         CCmode.
18584         (ix86_expand_sse_comi_round):Extract unordered check and mode part
18585         in ix86_ssecom_setcc.
18587 2022-07-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18589         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
18590         op_mode instead of vmode in calls to force_reg for op0 and op1.
18592 2022-07-14  H.J. Lu  <hjl.tools@gmail.com>
18594         PR tree-optimization/103798
18595         * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
18596         (simplify_builtin_call): Inline memchr with constant strings of
18597         no more than the bytes of a word.
18598         * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
18599         * tree-ssa-strlen.h (use_in_zero_equality): New.
18601 2022-07-14  Eric Botcazou  <ebotcazou@adacore.com>
18603         * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
18604         and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
18605         (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
18606         pass it in the call to lookup_tmp_var.
18607         (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
18608         (get_initialized_tmp_var): Likewise.
18609         (prepare_gimple_addressable): Call internal_get_tmp_var instead of
18610         get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
18612 2022-07-14  Martin Liska  <mliska@suse.cz>
18614         * doc/gimple.texi: Close properly a deftypefn.
18616 2022-07-14  Martin Liska  <mliska@suse.cz>
18618         * doc/gimple.texi: Close properly a deftypefn.
18620 2022-07-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18622         * config/xtensa/xtensa.md:
18623         In FP constant synthesis split pattern, subcontract to
18624         avoid_constant_pool_reference() as in the case of integer,
18625         because it can handle well too.  And cast to int32_t before
18626         calling xtensa_constantsynth() in order to ignore upper 32-bit.
18628 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
18630         * range-op.cc (operator_lt::fold_range): Use nonzero bits.
18632 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
18634         * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
18635         (irange::legacy_intersect): Clear nonzero mask.
18636         (irange::legacy_union): Same.
18637         (irange::invert): Same.
18639 2022-07-13  Richard Biener  <rguenther@suse.de>
18641         * tree-ssa-dom.h (record_temporary_equivalences): Remove.
18642         * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
18643         (dom_jt_state::get_blocks_on_stack): Likewise.
18644         (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
18645         (back_propagate_equivalences): Remove dominator bitmap
18646         compute and instead use passed in m_blocks_on_stack.
18647         (record_temporary_equivalences): Likewise.
18648         (record_equivalences_from_incoming_edge): Likewise.
18649         (dom_opt_dom_walker::before_dom_children): Maintain and
18650         pass down blocks on stack.
18651         (dom_opt_dom_walker::after_dom_children): Likewise.
18653 2022-07-13  Andrew Carlotti  <andrew.carlotti@arm.com>
18655         * config/aarch64/aarch64-builtins.cc
18656         (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
18658 2022-07-13  Richard Biener  <rguenther@suse.de>
18660         PR tree-optimization/106249
18661         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
18662         Only verify LC SSA of the new_loop if we created it.
18663         Use TODO_update_ssa_nophi for the SSA update after versioning
18664         the loop.
18666 2022-07-12  Aldy Hernandez  <aldyh@redhat.com>
18668         * range-op.cc (unsigned_singleton_p): Remove.
18669         (operator_bitwise_and::remove_impossible_ranges): Remove.
18670         (operator_bitwise_and::fold_range): Set nonzero bits.  *
18671         * value-range.cc (irange::get_nonzero_bits): Remove
18672         legacy_mode_p assert.
18673         (irange::dump_bitmasks): Remove legacy_mode_p check.
18675 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
18677         PR target/106253
18678         * predict.h (insn_optimization_type): Declare.
18679         * predict.cc (insn_optimization_type): New function.
18680         * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
18681         (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
18682         (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
18683         * internal-fn.cc (unary_convert_direct): New macro.
18684         (expand_convert_optab_fn): New function.
18685         (expand_unary_convert_optab_fn): New macro.
18686         (direct_unary_convert_optab_supported_p): Likewise.
18687         * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
18688         convert_optab_handler.
18689         * config/aarch64/aarch64-protos.h
18690         (aarch64_builtin_vectorized_function): Delete.
18691         * config/aarch64/aarch64-builtins.cc
18692         (aarch64_builtin_vectorized_function): Delete.
18693         * config/aarch64/aarch64.cc
18694         (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
18695         * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
18696         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
18697         optimize_insn_for_size_p test.
18699 2022-07-12  Richard Biener  <rguenther@suse.de>
18701         * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
18702         Remove.
18703         (vect_do_peeling): Do not call it, adjust comment.
18705 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
18707         * config/aarch64/aarch64-builtins.cc
18708         (aarch64_builtin_vectorized_function): Remove handling of
18709         floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
18711 2022-07-11  Andrew MacLeod  <amacleod@redhat.com>
18713         PR tree-optimization/106234
18714         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
18715         cache value before recursively resolving it.
18717 2022-07-11  Roger Sayle  <roger@nextmovesoftware.com>
18719         * config/i386/i386-features.h (scalar_chain): Add fields
18720         insns_conv, n_sse_to_integer and n_integer_to_sse to this
18721         parent class, moved from general_scalar_chain.
18722         (scalar_chain::convert_compare): Protected method moved
18723         from general_scalar_chain.
18724         (mark_dual_mode_def): Make protected, not private virtual.
18725         (scalar_chain:convert_op): New private virtual method.
18726         (general_scalar_chain::general_scalar_chain): Simplify constructor.
18727         (general_scalar_chain::~general_scalar_chain): Delete destructor.
18728         (general_scalar_chain): Move insns_conv, n_sse_to_integer and
18729         n_integer_to_sse fields to parent class, scalar_chain.
18730         (general_scalar_chain::mark_dual_mode_def): Delete prototype.
18731         (general_scalar_chain::convert_compare): Delete prototype.
18732         (timode_scalar_chain::compute_convert_gain): Remove simplistic
18733         implementation, convert to a method prototype.
18734         (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
18735         (timode_scalar_chain::convert_op): Prototype new virtual method.
18736         * config/i386/i386-features.cc (scalar_chain::scalar_chain):
18737         Allocate insns_conv and initialize n_sse_to_integer and
18738         n_integer_to_sse fields in constructor.
18739         (scalar_chain::scalar_chain): Free insns_conv in destructor.
18740         (general_scalar_chain::general_scalar_chain): Delete
18741         constructor, now defined in the class declaration.
18742         (general_scalar_chain::~general_scalar_chain): Delete destructor.
18743         (scalar_chain::mark_dual_mode_def): Renamed from
18744         general_scalar_chain::mark_dual_mode_def.
18745         (timode_scalar_chain::mark_dual_mode_def): Delete.
18746         (scalar_chain::convert_compare): Renamed from
18747         general_scalar_chain::convert_compare.
18748         (timode_scalar_chain::compute_convert_gain): New method to
18749         determine the gain from converting a TImode chain to V1TImode.
18750         (timode_scalar_chain::convert_op): New method to convert an
18751         operand from TImode to V1TImode.
18752         (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
18753         on REG_EQUAL notes that were originally TImode (not CONST_INT).
18754         Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
18755         (timode_mem_p): Helper predicate to check where operand is
18756         memory reference with sufficient alignment for TImode STV.
18757         (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
18758         to check whether COMPARE is convertible.  Handle SET_DESTs that
18759         that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
18760         CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
18762 2022-07-11  Richard Sandiford  <richard.sandiford@arm.com>
18764         PR tree-optimization/106250
18765         * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
18766         argument to directly_supported_p.
18768 2022-07-11  Richard Biener  <rguenther@suse.de>
18770         * tree-into-ssa.cc (update_ssa): Do not forcefully
18771         re-compute dominance fast queries for TODO_update_ssa_no_phi.
18773 2022-07-11  Richard Biener  <rguenther@suse.de>
18775         PR tree-optimization/106228
18776         * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
18777         VUSE compute for the non-loop case.
18779 2022-07-11  Richard Biener  <rguenther@suse.de>
18781         * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
18782         (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
18783         (rewrite_update_dom_walker::m_in_region_flag): New.
18784         (rewrite_update_dom_walker::before_dom_children): If the region
18785         to update is marked, STOP at exits.
18786         (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
18787         to be updated.
18788         (dump_update_ssa): Use bitmap_empty_p.
18789         (update_ssa): Likewise.  Use REWRITE_UPDATE_REGION when
18790         TODO_update_ssa_no_phi.
18791         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
18792         pending update_ssa to the caller.
18794 2022-07-11  Richard Biener  <rguenthert@suse.de>
18796         PR target/105459
18797         * config/i386/i386-options.cc (ix86_set_current_function):
18798         Rebuild the target optimization node whenever necessary,
18799         not only when the optimization node didn't change.
18801 2022-07-11  Richard Biener  <rguenther@suse.de>
18803         PR tree-optimization/106228
18804         * tree-vect-data-refs.cc (vect_setup_realignment): Properly
18805         set a VUSE operand on the emitted load.
18807 2022-07-11  Aldy Hernandez  <aldyh@redhat.com>
18809         * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
18810         verification against legacy value_range.
18811         (gimple_ranger::register_inferred_ranges): Same.
18812         (gimple_ranger::export_global_ranges): Rename update_global_range
18813         to set_range_info.
18814         * tree-core.h (struct range_info_def): Remove.
18815         (struct irange_storage_slot): New.
18816         (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
18817         (struct tree_ssa_name): Add vrange_storage support.
18818         * tree-ssanames.cc (range_info_p): New.
18819         (range_info_fits_p): New.
18820         (range_info_alloc): New.
18821         (range_info_free): New.
18822         (range_info_get_range): New.
18823         (range_info_set_range): New.
18824         (set_range_info_raw): Remove.
18825         (set_range_info): Adjust to use vrange_storage.
18826         (set_nonzero_bits): Same.
18827         (get_nonzero_bits): Same.
18828         (duplicate_ssa_name_range_info): Remove overload taking
18829         value_range_kind.
18830         Rewrite tree overload to use vrange_storage.
18831         (duplicate_ssa_name_fn): Adjust to use vrange_storage.
18832         * tree-ssanames.h (struct range_info_def): Remove.
18833         (set_range_info): Adjust prototype to take vrange.
18834         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
18835         duplicate_ssa_name_range_info.
18836         * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
18837         (SSA_NAME_RANGE_TYPE): Remove.
18838         * value-query.cc (get_ssa_name_range_info): Adjust to use
18839         vrange_storage.
18840         (update_global_range): Remove.
18841         (get_range_global): Remove as_a<irange>.
18842         * value-query.h (update_global_range): Remove.
18843         * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
18844         Rename update_global_range to set_range_info.
18845         * value-range-storage.cc (vrange_storage::alloc_slot): Remove
18846         gcc_unreachable.
18848 2022-07-10  Aldy Hernandez  <aldyh@redhat.com>
18850         * value-range.cc (irange::operator=): Call verify_range.
18851         (irange::irange_set): Normalize kind after everything else has
18852         been set.
18853         (irange::irange_set_anti_range): Same.
18854         (irange::set): Same.
18855         (irange::verify_range): Disallow nonzero masks for VARYING.
18856         (irange::irange_union): Call verify_range.
18857         Handle nonzero masks better.
18858         (irange::irange_intersect): Same.
18859         (irange::set_nonzero_bits): Calculate mask if either range has an
18860         explicit mask.
18861         (irange::intersect_nonzero_bits): Same.
18862         (irange::union_nonzero_bits): Same.
18863         (range_tests_nonzero_bits): New.
18864         (range_tests): Call range_tests_nonzero_bits.
18865         * value-range.h (class irange): Remove set_nonzero_bits method
18866         with trees.
18867         (irange::varying_compatible_p): Set nonzero mask.
18869 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
18871         * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
18872         the sign-extend of result in the RTL template.
18873         (<any_div><mode>3): Adjust for <any_div>di3_fake change.
18875 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
18877         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
18878         Remove static, for use in the machine description file.
18879         * config/loongarch/loongarch-protos.h:
18880         (loongarch_check_zero_div_p): Add prototype.
18881         * config/loongarch/loongarch.md (enabled): New attr.
18882         (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
18883         idiv.  Conditionally enable the alternatives using
18884         loongarch_check_zero_div_p.
18885         (<optab>di3_fake): Likewise.
18887 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
18889         * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
18890         instead of mul.d.
18892 2022-07-09  Aldy Hernandez  <aldyh@redhat.com>
18894         * value-range.cc (irange::irange_single_pair_union): Set
18895         VR_VARYING when appropriate.
18897 2022-07-09  Vit Kabele  <vit.kabele@sysgo.com>
18899         * stor-layout.cc (finalize_record_size): Extend warning message.
18901 2022-07-09  Sam Feifer  <sfeifer@redhat.com>
18903         PR tree-optimization/98304
18904         * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
18906 2022-07-09  Jeff Law  <jeffreyalaw@gmail.com>
18908         * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
18909         initializer and use clear_storage rather than copying the
18910         NULs to the destination array.
18912 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
18914         * config/i386/i386.md (define_peephole2): Use match_operand of
18915         flags_reg_operand to capture and preserve the mode of FLAGS_REG.
18916         (define_peephole2): Likewise.
18917         (define_peephole2): Likewise...
18919 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
18921         * config/i386/i386-features.cc (convert_compare): Add support
18922         for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
18923         by generating a pandn followed by ptest.
18924         (convertible_comparison_p): Recognize both *cmpdi_doubleword and
18925         recent *testdi_not_doubleword comparison patterns.
18927 2022-07-09  Tamar Christina  <tamar.christina@arm.com>
18929         * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
18930         indicate that the value is not undefined.
18932 2022-07-09  Andrew Pinski  <apinski@marvell.com>
18934         PR tree-optimization/106087
18935         * tree-ssa-dce.cc (simple_dce_from_worklist): Check
18936         to make sure the statement is only defining one operand.
18938 2022-07-08  Lewis Hyatt  <lhyatt@gmail.com>
18940         PR preprocessor/91733
18941         * input.cc (find_end_of_line): New helper function.
18942         (file_cache_slot::get_next_line): Recognize \r as a line ending.
18943         * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
18944         since \r will now be interpreted as a line-ending.
18946 2022-07-08  Martin Liska  <mliska@suse.cz>
18948         PR sanitizer/106132
18949         * opts.cc (finish_options): Use 2 calls to
18950         report_conflicting_sanitizer_options.
18952 2022-07-08  Richard Biener  <rguenther@suse.de>
18954         PR tree-optimization/106226
18955         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
18956         no SSA update is needed.  Move virtual SSA update ...
18957         * tree-vectorizer.cc (pass_vectorize::execute): ... here,
18958         via forced virtual renaming when TODO_update_ssa_only_virtuals
18959         is queued.
18960         (vect_transform_loops): Return TODO_update_ssa_only_virtuals
18961         when virtual SSA update is required.
18962         (try_vectorize_loop_1): Adjust.
18963         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
18964         virtual renaming if the ABI forces an aggregate return
18965         but the original call did not have a virtual definition.
18967 2022-07-08  Martin Liska  <mliska@suse.cz>
18969         * toplev.cc (init_asm_output): Do not init asm_out_file.
18971 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
18973         PR tree-optimization/106063
18974         * match.pd: Do not apply pattern after veclower is not supported.
18976 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
18978         * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
18979         'fn2' computation.
18981 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
18983         * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
18984         still undefined and if so emit a subreg move instead.
18985         (store_integral_bit_field): Likewise.
18986         (store_bit_field): Likewise.
18987         * expr.h (write_complex_part): Likewise.
18988         * expmed.h (store_bit_field): Add new parameter.
18989         * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
18990         parameter.
18991         (expand_ifn_atomic_compare_exchange): Likewise.
18992         * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
18993         * emit-rtl.cc (validate_subreg): Likewise.
18994         * expr.cc (emit_group_store): Likewise.
18995         (copy_blkmode_from_reg): Likewise.
18996         (copy_blkmode_to_reg): Likewise.
18997         (clear_storage_hints): Likewise.
18998         (write_complex_part):  Likewise.
18999         (emit_move_complex_parts): Likewise.
19000         (expand_assignment): Likewise.
19001         (store_expr): Likewise.
19002         (store_field): Likewise.
19003         (expand_expr_real_2): Likewise.
19004         * ifcvt.cc (noce_emit_move_insn): Likewise.
19005         * internal-fn.cc (expand_arith_set_overflow): Likewise.
19006         (expand_arith_overflow_result_store): Likewise.
19007         (expand_addsub_overflow): Likewise.
19008         (expand_neg_overflow): Likewise.
19009         (expand_mul_overflow): Likewise.
19010         (expand_arith_overflow): Likewise.
19012 2022-07-08  Haochen Jiang  <haochen.jiang@intel.com>
19014         PR target/106180
19015         * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
19016         Rename from *sse2_cvtps2pd<mask_name>_1.
19017         (vec_unpacks_lo_v4sf): Add handler for memory operand.
19019 2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
19021         * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
19022         Modify fp_sp_offset and gp_sp_offset's calculation method,
19023         when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
19024         or UNITS_PER_FP_REG.
19026 2022-07-07  David Malcolm  <dmalcolm@redhat.com>
19028         * diagnostic-format-json.cc (json_from_location_range): Update for
19029         removal of label_text::maybe_free in favor of automatic memory
19030         management.
19031         * diagnostic-format-sarif.cc
19032         (sarif_builder::make_location_object): Likewise.
19033         * diagnostic-show-locus.cc (struct pod_label_text): New.
19034         (class line_label): Convert m_text from label_text to pod_label_text.
19035         (layout::print_any_labels): Move "text" to the line_label.
19036         * tree-diagnostic-path.cc (path_label::get_text): Update for
19037         removal of label_text::maybe_free in favor of automatic memory
19038         management.
19039         (event_range::print): Likewise.
19040         (default_tree_diagnostic_path_printer): Likewise.
19041         (default_tree_make_json_for_path): Likewise.
19043 2022-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19045         * statistics.cc (get_function_name): Add check to see if fn is not NULL.
19047 2022-07-07  Richard Biener  <rguenther@suse.de>
19049         * tree-into-ssa.cc (iterating_old_ssa_names): New.
19050         (add_new_name_mapping): Grow {new,old}_ssa_names separately
19051         and only when actually needed.  Assert we are not growing
19052         the old_ssa_names set when iterating over it.
19053         (update_ssa): Remove old_ssa_names copying and empty_p
19054         query, note we are iterating over it and expect no set changes.
19056 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
19058         * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
19059         (prepare_target_image, main): Handle OpenMP 'requires'.
19060         (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
19061         'GOMP_offload_unregister_ver'.
19063 2022-07-07  Richard Biener  <rguenther@suse.de>
19065         PR target/106219
19066         * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
19067         set DECL_PURE_P.
19069 2022-07-07  Richard Biener  <rguenther@suse.de>
19071         * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
19072         number of LC PHIs inserted.
19073         (add_exit_phis): Return whether any variable required
19074         multiple LC PHI nodes.
19075         (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
19076         when possible.
19078 2022-07-07  Richard Biener  <rguenther@suse.de>
19080         * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
19081         the def loop exit block bitmap as argument instead of
19082         re-computing it here.
19083         (add_exit_phis_var): Adjust.
19084         (loop_name_cmp): New function.
19085         (add_exit_phis): Sort variables to insert LC PHI nodes
19086         after definition loop, for each definition loop compute
19087         the exit block bitmap once.
19088         (get_loops_exit): Remove.
19089         (rewrite_into_loop_closed_ssa_1): Do not pre-record
19090         all loop exit blocks into bitmaps.  Record loop exits
19091         if required.
19093 2022-07-07  Dimitrije Milosevic  <Dimitrije.Milosevic@Syrmia.com>
19095         * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
19096         to handle the N32 ABI.
19097         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
19098         the macro, as it is not needed anymore.
19100 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
19102         * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
19103         '[...]_data'.
19104         * config/nvptx/mkoffload.cc (process): Likewise.
19106 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
19108         * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
19110 2022-07-05  Andrew MacLeod  <amacleod@redhat.com>
19112         * value-relation.cc (relation_to_code): New vector.
19113         (relation_oracle::validate_relation): New.
19114         (set_relation): Allow ssa1 == ssa2 to be registered.
19115         * value-relation.h (validate_relation): New prototype.
19116         (query_relation): Make internal variant protected.
19118 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
19120         * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
19121         for double word comparisons and tests (comparisons against zero).
19122         * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
19123         and;cmp into andn;cmp $0 as a pre-reload splitter.
19124         (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
19125         (*<any_or><dwi>3_doubleword): Likewise.
19127 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
19128             Hongtao Liu  <hongtao.liu@intel.com>
19130         * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
19131         CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
19132         * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
19133         and gen_ssse3_palignv1ti instead of TImode.
19134         * config/i386/sse.md (SSESCALARMODE): Delete.
19135         (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
19136         (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
19137         iterator instead of SSESCALARMODE.
19138         (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
19139         using a single move instruction (if required).
19141 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
19142             Uroš Bizjak  <ubizjak@gmail.com>
19144         PR rtl-optimization/96692
19145         * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
19146         as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
19148 2022-07-05  Richard Biener  <rguenther@suse.de>
19150         PR tree-optimization/106198
19151         * tree-cfgcleanup.cc (repair_loop_structures): Always do a
19152         full LC SSA rewrite but only if any blocks changed loop
19153         depth.
19155 2022-07-05  Richard Biener  <rguenther@suse.de>
19157         * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
19158         (find_uses_to_rename_in_loop): Likewise.
19159         (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
19160         uses.
19161         (rewrite_into_loop_closed_ssa): Adjust.
19163 2022-07-05  Richard Biener  <rguenther@suse.de>
19165         PR tree-optimization/106186
19166         * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
19167         Properly handle virtual PHI nodes.
19169 2022-07-05  Richard Biener  <rguenther@suse.de>
19171         PR tree-optimization/106196
19172         * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
19173         handle aggregate returns of calls for VDEF updates.
19175 2022-07-05  Richard Biener  <rguenther@suse.de>
19177         * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
19178         Maintain LC SSA.
19180 2022-07-05  Richard Sandiford  <richard.sandiford@arm.com>
19182         * tree-vect-patterns.cc (vect_convert_input): Expect the input
19183         type to be signed for optab_vector_mixed_sign.  Update the vectype
19184         at the same time as type.
19185         (vect_recog_dot_prod_pattern): Update accordingly.  If usdot isn't
19186         available, try sdot instead.
19187         * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
19188         (vect_model_reduction_cost): Model the cost of implementing usdot
19189         using sdot.
19190         (vectorizable_reduction): Likewise.  Skip target support test
19191         for lane reductions.
19192         (vect_emulate_mixed_dot_prod): New function.
19193         (vect_transform_reduction): Use it to emulate usdot via sdot.
19195 2022-07-05  Richard Biener  <rguenther@suse.de>
19197         PR tree-optimization/106182
19198         * loop-init.cc (fix_loop_structure): Return the number
19199         of newly discovered plus the number of deleted loops.
19200         * tree-cfgcleanup.cc (repair_loop_structures): Adjust
19201         variable name.
19203 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
19205         * gimple-range-fold.cc
19206         (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
19207         call to SCEV for irange supported types.
19208         (fold_using_range::range_of_builtin_int_call): Convert to vrange.
19209         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
19210         * tree-ssa-dom.cc (cprop_operand): Same.
19212 2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
19214         PR target/104489
19215         * calls.cc (precompute_register_parameters): Allow promotion
19216         of floating point values to be passed in wider integer modes
19217         by calling new convert_float_to_wider_int.
19218         (expand_call): Allow floating point results to be returned in
19219         wider integer modes by calling new convert wider_int_to_float.
19220         * cfgexpand.cc (expand_value_return): Allow backends to promote
19221         a scalar floating point return value to a wider integer mode
19222         by calling new convert_float_to_wider_int.
19223         * expr.cc (convert_float_to_wider_int): New function.
19224         (convert_wider_int_to_float): Likewise.
19225         (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
19226         scalar FP PARM_DECLs to wider integer modes, by calling new
19227         convert_wider_int_to_float.
19228         * expr.h (convert_modes): Name arguments for improved documentation.
19229         (convert_float_to_wider_int): Prototype new function here.
19230         (convert_wider_int_to_float): Likewise.
19231         * function.cc (assign_parm_setup_stack): Allow floating point
19232         values to be passed on the stack as wider integer modes by
19233         calling new convert_wider_int_to_float.
19235 2022-07-04  Martin Jambor  <mjambor@suse.cz>
19237         PR tree-optimization/105860
19238         * tree-sra.cc (build_reconstructed_reference): Start expr
19239         traversal only just below the outermost union.
19241 2022-07-04  Richard Biener  <rguenther@suse.de>
19243         * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
19244         and update virtual SSA form again.  Assert we do so for
19245         a known set of transforms only.
19246         * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
19247         * tree-vect-stmts.cc (vectorizable_load): When vectorizing
19248         using load-lanes allow virtual SSA update.
19250 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
19251             Chung-Lin Tang  <cltang@codesourcery.com>
19252             Thomas Schwinge  <thomas@codesourcery.com>
19254         * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
19255         (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
19256         (main): Ask lto1 to obtain omp_requires_mask and pass it on.
19257         * config/nvptx/mkoffload.cc (process, main): Likewise.
19258         * lto-cgraph.cc (omp_requires_to_name): New.
19259         (input_offload_tables): Save omp_requires_mask.
19260         (output_offload_tables): Read it, check for consistency,
19261         save value for mkoffload.
19262         * omp-low.cc (lower_omp_target): Force output_offloadtables
19263         call for OMP_REQUIRES_TARGET_USED.
19265 2022-07-04  Richard Biener  <rguenther@suse.de>
19267         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
19268         no SSA update is needed instead of updating virtual SSA
19269         form.
19270         * tree-vect-stmts.cc (vectorizable_load): For hoisted
19271         invariant load use the loop entry virtual use.
19272         For emulated gather loads use the virtual use of the
19273         original stmt like vect_finish_stmt_generation would do.
19275 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
19277         * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
19278         for direct circularity.
19280 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
19282         * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
19283         the language for vector types.
19285 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
19287         * value-range-storage.cc (irange_storage_slot::set_irange): Set
19288         nonzero bits in irange.
19289         (irange_storage_slot::get_irange): Get nonzero bits from irange.
19290         * value-range.cc (irange::operator=): Set nonzero bits.
19291         (irange::irange_set): Same.
19292         (irange::irange_set_anti_range): Same.
19293         (irange::set): Same.
19294         (irange::verify_range): Same.
19295         (irange::legacy_equal_p): Check nonzero bits.
19296         (irange::equal_p): Same.
19297         (irange::contains_p): Handle nonzero bits.
19298         (irange::irange_union): Same.
19299         (irange::irange_intersect): Same.
19300         (irange::dump): Same.
19301         (irange::set_nonzero_bits): New.
19302         (irange::get_nonzero_bits): New.
19303         (irange::intersect_nonzero_bits): New.
19304         (irange::union_nonzero_bits): New.
19305         (irange::dump_bitmasks): New.
19306         * value-range.h (class irange): Add m_nonzero_mask.
19307         (gt_ggc_mx): Handle nonzero bits.
19308         (gt_pch_nx): Same.
19309         (irange::set_undefined): Set nonzero bits.
19310         (irange::set_varying): Same.
19311         (irange::normalize_kind): Call set_undefined.
19313 2022-07-04  Richard Biener  <rguenther@suse.de>
19315         * tree-ssa-loop-manip.h
19316         (rewrite_virtuals_into_loop_closed_ssa): Remove.
19317         (rewrite_into_loop_closed_ssa_1): Likewise.
19318         * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
19319         Make static.
19320         (rewrite_into_loop_closed_ssa): Remove loop overload,
19321         always rewrite virtuals into LC SSA.
19322         (check_loop_closed_ssa_bb): Also check virtuals.
19323         * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
19324         LC PHIs when in LC SSA.
19325         * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
19326         loop-closed SSA here, but ...
19327         (tree_loop_unroll_and_jam): ... here once.
19328         * tree-if-conv.cc (version_loop_for_if_conversion): Use
19329         the cheaper TODO_update_ssa_no_phi.
19330         * tree-loop-distribution.cc (version_loop_by_alias_check):
19331         Likewise.
19332         * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
19333         Likewise.
19334         * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
19335         (tree_unswitch_outer_loop): Do not rewrite virtuals into
19336         LC ssa.
19337         * tree-parloops.cc (transform_to_exit_first_loop_alt):
19338         Likewise.
19339         (pass_parallelize_loops::execute): After finishing rewrite
19340         into LC SSA again because we do not maintain it properly.
19342 2022-07-04  Richard Biener  <rguenther@suse.de>
19344         PR tree-optimization/106055
19345         * graphite.cc (canonicalize_loop_closed_ssa): Check whether
19346         we can propagate.
19348 2022-07-04  Haochen Jiang  <haochen.jiang@intel.com>
19350         PR target/43618
19351         * config/i386/sse.md (extendv2sfv2df2): New define_expand.
19352         (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
19353         (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
19355 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
19357         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
19358         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
19359         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
19360         with two arguments.
19361         (find_unswitching_predicates_for_bb): Same.
19362         * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
19363         * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
19364         * value-range.cc (irange::equal_p): Rename to...
19365         (irange::operator==): ...this.
19366         * value-range.h (irange::set): Remove.
19367         (irange::operator==): Remove.
19368         (irange::set_zero): Use set with two arguments.
19369         * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
19370         (vr_values::extract_range_from_unary_expr): Same.
19371         (check_for_binary_op_overflow): Same.
19372         (bounds_of_var_in_loop): Same.
19374 2022-07-03  H.J. Lu  <hjl.tools@gmail.com>
19376         PR target/106022
19377         * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
19378         New.
19379         * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
19380         New.
19381         * config/i386/mmx.md (V_16_32_64): New.
19382         (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
19383         and 64-bit constant vector.
19384         * config/i386/predicates.md (x86_64_const_vector_operand): New.
19386 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
19388         * gimple-range-cache.cc: Include value-range-storage.h.
19389         * gimple-range-cache.h (class block_range_cache): Add "class" to
19390         m_range_allocator.
19391         * gimple-range-edge.cc
19392         (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
19393         (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
19394         (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
19395         * gimple-range-edge.h: Add "class" to m_range_allocator.
19396         * gimple-range-infer.cc
19397         (infer_range_manager::infer_range_manager): Allocate allocator.
19398         (infer_range_manager::~infer_range_manager): Free allocator.
19399         (infer_range_manager::get_nonzero): Dereference allocator.
19400         (infer_range_manager::add_range): Same.
19401         * gimple-range-infer.h (class vrange_allocator): Add "class" to
19402         m_range_allocator.
19403         * value-range-storage.h (class vrange_allocator): Move from
19404         value-range.h.
19405         (class obstack_vrange_allocator): Same.
19406         (class ggc_vrange_allocator): Same.
19407         (vrange_allocator::alloc_vrange): Same.
19408         (vrange_allocator::alloc_irange): Same.
19409         * value-range.h (class vrange_allocator): Move to value-range-storage.h.
19410         (class obstack_vrange_allocator): Same.
19411         (class ggc_vrange_allocator): Same.
19413 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
19415         * Makefile.in (OBJS): Add value-range-storage.o.
19416         (GTFILES): Add value-range-storage.h.
19417         * gengtype.cc (open_base_files): Add value-range-storage.h.
19418         * value-range-storage.cc: New file.
19419         * value-range-storage.h: New file.
19421 2022-07-03  Xi Ruoyao  <xry111@xry111.site>
19422             Lulu Cheng  <chenglulu@loongson.cn>
19424         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
19425         New static function.
19426         (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
19427         of TARGET_CHECK_ZERO_DIV.
19428         (loongarch_output_division): Likewise.
19429         * common/config/loongarch/loongarch-common.cc
19430         (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
19431         * doc/invoke.texi: Update to match the new behavior.
19433 2022-07-03  Ian Lance Taylor  <iant@golang.org>
19435         * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
19436         statement if -fdelete-dead-exceptions.
19438 2022-07-02  Tim Lange  <mail@tim-lange.me>
19440         PR analyzer/105900
19441         * doc/invoke.texi: Added Wanalyzer-allocation-size.
19443 2022-07-02  Immad Mir  <mirimmad17@gmail.com>
19445         PR analyzer/106003
19446         * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
19447         * doc/invoke.texi:  Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
19448         -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
19449         -Wanalyzer-fd-use-after-close.
19451 2022-07-01  Aldy Hernandez  <aldyh@redhat.com>
19453         * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
19454         (trailing_wide_ints::set_precision): Add num_elements argument.
19455         (trailing_wide_ints::extra_size): Same.
19457 2022-07-01  Uroš Bizjak  <ubizjak@gmail.com>
19459         * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
19460         Use "r" constraint for operand 1.
19462 2022-07-01  Richard Biener  <rguenther@suse.de>
19464         * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
19465         Do not look at interesting_blocks which is a copy of
19466         blocks_to_update.
19467         (update_ssa): Do not initialize it.
19468         (pass_build_ssa::execute): Set interesting_blocks to NULL
19469         after releasing it.
19471 2022-07-01  Richard Biener  <rguenther@suse.de>
19473         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
19474         back to using maybe_ne (off, -1).
19476 2022-07-01  Richard Biener  <rguenther@suse.de>
19478         * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
19479         checking dominance check conditional on flag_checking.
19481 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
19483         * config/gcn/gcn-protos.h (print_operand_address): Remove register
19484         keyword on 'rtx addr' argument.
19486 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
19487             Uroš Bizjak  <ubizjak@gmail.com>
19489         * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
19490         to post-reload define_insn_and_split.
19492 2022-07-01  Jakub Jelinek  <jakub@redhat.com>
19494         PR middle-end/106144
19495         * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
19496         emitting element for shift or if shift is 0 first element after start.
19497         (wide_int_cc_tests): Add tests for equivalency of wi::mask and
19498         wi::shifted_mask with 0 start.
19500 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
19502         PR target/106122
19503         * config/i386/i386.md (peephole2): Avoid generating pop %esp
19504         when optimizing for size.
19506 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
19507             Uroš Bizjak  <ubizjak@gmail.com>
19509         * config/i386/i386.md (general_szext_operand): Add TImode
19510         support using x86_64_hilo_general_operand predicate.
19511         (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
19512         (*add<dwi>3_doubleword): Improved optimization of zero addition.
19513         (and<mode>3): Use SDWIM mode iterator to add support for double
19514         word bit-wise AND in TImode.  Use force_reg when double word
19515         immediate operand isn't x86_64_hilo_general_operand.
19516         (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
19517         converted into a post-reload splitter.
19518         (*andndi3_doubleword): Previous define_insn deleted.
19519         (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
19520         TARGET_BMI that splits post-reload.
19521         (*andn<mode>3_doubleword): New define_insn_and_split for
19522         !TARGET_BMI, that lowers/splits before reload.
19523         (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
19524         double word bit-wise XOR and bit-wise IOR in TImode.  Use
19525         force_reg when double word immediate operand isn't
19526         x86_64_hilo_general_operand.
19527         (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
19528         (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
19529         double word bit-wise NOT in TImode.
19530         (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
19531         and converted into a post-reload splitter.
19533 2022-07-01  Eric Botcazou  <ebotcazou@adacore.com>
19535         PR middle-end/105874
19536         * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
19537         EXPAND_MEMORY for the expansion of the inner reference only
19538         in the usual cases where a memory reference is required.
19540 2022-07-01  Richard Biener  <rguenther@suse.de>
19542         PR tree-optimization/106131
19543         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
19544         zero when offsetting the read looking through an aggregate
19545         copy.
19547 2022-07-01  Martin Liska  <mliska@suse.cz>
19549         PR tree-optimization/106126
19550         * gimple-if-to-switch.cc (struct condition_info): Save
19551         has_side_effect.
19552         (find_conditions): Parse all BBs.
19553         (pass_if_to_switch::execute): Allow only side effects for first
19554         BB.
19556 2022-07-01  Haochen Jiang  <haochen.jiang@intel.com>
19558         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
19559         Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
19560         OPTION_MASK_ISA2_AVX512BF16_UNSET and
19561         OPTION_MASK_ISA2_AVX512FP16_UNSET.
19563 2022-06-30  Joseph Myers  <joseph@codesourcery.com>
19565         PR lto/106129
19566         * lto-wrapper.cc (find_option): Add argument start.
19567         (merge_and_complain): Loop over existing_opt_index and
19568         existing_opt2_index for Xassembler check.  Update calls to
19569         find_option.
19570         (find_and_merge_options): Add argument first to determine whether
19571         to merge options with those passed in *opts.
19572         (run_gcc): Update calls to find_and_merge_options.
19574 2022-06-30  Aldy Hernandez  <aldyh@redhat.com>
19576         * gimple-range-cache.cc (block_range_cache::block_range_cache):
19577         Rename vrange_allocator to obstack_vrange_allocator.
19578         (ssa_global_cache::ssa_global_cache): Same.
19579         * gimple-range-edge.h (class gimple_outgoing_range): Same.
19580         * gimple-range-infer.h (class infer_range_manager): Same.
19581         * value-range.h (class vrange_allocator): Make abstract.
19582         (class obstack_vrange_allocator): Inherit from vrange_allocator.
19583         (class ggc_vrange_allocator): New.
19585 2022-06-30  Roger Sayle  <roger@nextmovesoftware.com>
19586             Uroš Bizjak  <ubizjak@gmail.com>
19588         * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
19589         provide gen_swapsi.
19590         (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
19591         via new gen_<insn>32di2_doubleword below.
19592         (<anyrotate>32di2_doubleword): New define_insn_and_split
19593         that splits after reload as either a pair of move instructions
19594         or an xchgl (using gen_swapsi).
19596 2022-06-30  Richard Biener  <rguenther@suse.de>
19598         * domwalk.h (dom_walker::dom_walker): Update comment to
19599         reflect reality and new special argument value for
19600         bb_index_to_rpo.
19601         * domwalk.cc (dom_walker::dom_walker): Recognize -1
19602         bb_index_to_rpo.
19603         * tree-into-ssa.cc
19604         (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
19605         dom_walker to not use RPO.
19607 2022-06-30  Martin Liska  <mliska@suse.cz>
19609         * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
19610         it is unused.
19612 2022-06-30  Andrew MacLeod  <amacleod@redhat.com>
19614         PR tree-optimization/106114
19615         * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
19616         statement operands instead of GORI cache.
19618 2022-06-30  Antoni Boucher  <bouanto@zoho.com>
19620         PR target/106095
19621         * config/i386/sse.md: Fix asm generation.
19623 2022-06-29  Sergei Trofimovich  <siarheit@google.com>
19625         PR c++/106102
19626         * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
19628 2022-06-29  Joseph Myers  <joseph@codesourcery.com>
19630         * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
19631         not gen_const_mem for UNSPEC_PIC_CALL_SYM.
19633 2022-06-29  Richard Biener  <rguenther@suse.de>
19635         PR rtl-optimization/106082
19636         * combine.cc (distribute_notes): Preserve notes when
19637         they indicate a call doesn't perform a non-local goto.
19639 2022-06-29  Richard Biener  <rguenther@suse.de>
19641         PR tree-optimization/106112
19642         * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
19643         a constant operand according to its type.
19645 2022-06-29  Martin Liska  <mliska@suse.cz>
19647         * doc/invoke.texi: Remove removed evrp-mode.
19649 2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
19651         PR target/106097
19652         * config/loongarch/loongarch.cc (loongarch_build_integer):
19653         Remove undefined behavior from code.
19655 2022-06-28  Dimitar Dimitrov  <dimitar@dinux.eu>
19657         * doc/sourcebuild.texi: Document new no_alignment_constraints
19658         effective target check.
19660 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
19662         * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
19663         * flag-types.h (enum evrp_mode): Remove.
19664         * params.opt: Remove --param=evrp-mode.
19665         * tree-vrp.cc (make_pass_early_vrp): New.
19666         (pass_vrp::execute): Call early VRP instance.
19667         * gimple-ssa-evrp-analyze.cc: Removed.
19668         * gimple-ssa-evrp-analyze.h: Removed.
19669         * gimple-ssa-evrp.cc: Removed.
19671 2022-06-28  Alexandre Oliva  <oliva@adacore.com>
19673         * Makefile.in (TFLAGS): New.
19674         (GCC_FOR_TARGET): Add TFLAGS.
19675         (FLAGS_TO_PASS): Pass TFLAGS down.
19677 2022-06-28  Richard Biener  <rguenther@suse.de>
19679         * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
19680         call update_ssa.
19682 2022-06-28  Richard Biener  <rguenther@suse.de>
19684         * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
19685         mark_block_for_update.
19686         (update_ssa): Adjust.
19688 2022-06-28  Xi Ruoyao  <xry111@xry111.site>
19690         PR target/106096
19691         * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
19692         $r13 from SIBCALL_REGS.
19693         * config/loongarch/loongarch.cc (loongarch_regno_to_class):
19694         Change $r13 to JIRL_REGS.
19696 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
19698         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
19699         irange::supports_p.
19701 2022-06-28  Richard Biener  <rguenther@suse.de>
19703         PR middle-end/106053
19704         * match.pd ((T)a == (T)b): Avoid folding away sign
19705         changes in a comparison if we'd truncate to a boolean.
19707 2022-06-28  Kewen Lin  <linkw@linux.ibm.com>
19709         * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
19710         iterator GPR with SImode, adjust the condition and output template,
19711         rename to ...
19712         (*rotlsi3_insert_4): ... this.
19714 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
19716         * genmatch.cc: Add "final" and "override" to various vfunc
19717         implementations, removing redundant "virtual" as appropriate.
19718         * gensupport.cc: Likewise.
19719         * gimple-range-cache.h: Likewise.
19720         * ipa-icf-gimple.h: Likewise.
19721         * ipa-icf.h: Likewise.
19722         * read-md.h: Likewise.
19723         * read-rtl-function.cc: Likewise.
19724         * tree-ssa-loop-ch.cc: Likewise.
19725         * tree-ssa-sccvn.cc: Likewise.
19727 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
19729         * config/i386/i386-features.h: Add "final" and "override" to
19730         scalar_chain vfunc implementations as appropriate.
19732 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
19734         * tree-switch-conversion.h: Add "final" and "override" to cluster
19735         vfunc implementations as appropriate.
19737 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
19739         * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
19740         implementations as appropriate.
19742 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
19744         * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
19745         implementations, removing redundant "virtual" as appropriate.
19746         * gimple-ssa-strength-reduction.cc: Likewise.
19747         * ipa-prop.cc: Likewise.
19748         * rtl-ssa/blocks.cc: Likewise.
19749         * tree-into-ssa.cc: Likewise.
19750         * tree-ssa-dom.cc: Likewise.
19751         * tree-ssa-math-opts.cc: Likewise.
19752         * tree-ssa-phiopt.cc: Likewise.
19753         * tree-ssa-propagate.cc: Likewise.
19754         * tree-ssa-sccvn.cc: Likewise.
19755         * tree-ssa-strlen.cc: Likewise.
19756         * tree-ssa-uncprop.cc: Likewise.
19758 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
19760         * adjust-alignment.cc: Add "final" and "override" to opt_pass
19761         vfunc implementations, removing redundant "virtual" as
19762         appropriate.
19763         * asan.cc: Likewise.
19764         * auto-inc-dec.cc: Likewise.
19765         * auto-profile.cc: Likewise.
19766         * bb-reorder.cc: Likewise.
19767         * cfgcleanup.cc: Likewise.
19768         * cfgexpand.cc: Likewise.
19769         * cfgrtl.cc: Likewise.
19770         * cgraphbuild.cc: Likewise.
19771         * combine-stack-adj.cc: Likewise.
19772         * combine.cc: Likewise.
19773         * compare-elim.cc: Likewise.
19774         * config/i386/i386-features.cc: Likewise.
19775         * coroutine-passes.cc: Likewise.
19776         * cprop.cc: Likewise.
19777         * cse.cc: Likewise.
19778         * dce.cc: Likewise.
19779         * df-core.cc: Likewise.
19780         * dse.cc: Likewise.
19781         * dwarf2cfi.cc: Likewise.
19782         * early-remat.cc: Likewise.
19783         * except.cc: Likewise.
19784         * final.cc: Likewise.
19785         * function.cc: Likewise.
19786         * fwprop.cc: Likewise.
19787         * gcse.cc: Likewise.
19788         * gimple-harden-conditionals.cc: Likewise.
19789         * gimple-if-to-switch.cc: Likewise.
19790         * gimple-isel.cc: Likewise.
19791         * gimple-laddress.cc: Likewise.
19792         * gimple-loop-interchange.cc: Likewise.
19793         * gimple-loop-jam.cc: Likewise.
19794         * gimple-loop-versioning.cc: Likewise.
19795         * gimple-low.cc: Likewise.
19796         * gimple-ssa-backprop.cc: Likewise.
19797         * gimple-ssa-evrp.cc: Likewise.
19798         * gimple-ssa-isolate-paths.cc: Likewise.
19799         * gimple-ssa-nonnull-compare.cc: Likewise.
19800         * gimple-ssa-split-paths.cc: Likewise.
19801         * gimple-ssa-store-merging.cc: Likewise.
19802         * gimple-ssa-strength-reduction.cc: Likewise.
19803         * gimple-ssa-warn-access.cc: Likewise.
19804         * gimple-ssa-warn-alloca.cc: Likewise.
19805         * gimple-ssa-warn-restrict.cc: Likewise.
19806         * gimple-warn-recursion.cc: Likewise.
19807         * graphite.cc: Likewise.
19808         * ifcvt.cc: Likewise.
19809         * init-regs.cc: Likewise.
19810         * ipa-comdats.cc: Likewise.
19811         * ipa-cp.cc: Likewise.
19812         * ipa-devirt.cc: Likewise.
19813         * ipa-fnsummary.cc: Likewise.
19814         * ipa-free-lang-data.cc: Likewise.
19815         * ipa-icf.cc: Likewise.
19816         * ipa-inline.cc: Likewise.
19817         * ipa-modref.cc: Likewise.
19818         * ipa-profile.cc: Likewise.
19819         * ipa-pure-const.cc: Likewise.
19820         * ipa-reference.cc: Likewise.
19821         * ipa-split.cc: Likewise.
19822         * ipa-sra.cc: Likewise.
19823         * ipa-visibility.cc: Likewise.
19824         * ipa.cc: Likewise.
19825         * ira.cc: Likewise.
19826         * jump.cc: Likewise.
19827         * loop-init.cc: Likewise.
19828         * lower-subreg.cc: Likewise.
19829         * mode-switching.cc: Likewise.
19830         * modulo-sched.cc: Likewise.
19831         * multiple_target.cc: Likewise.
19832         * omp-expand.cc: Likewise.
19833         * omp-low.cc: Likewise.
19834         * omp-oacc-kernels-decompose.cc: Likewise.
19835         * omp-oacc-neuter-broadcast.cc: Likewise.
19836         * omp-offload.cc: Likewise.
19837         * omp-simd-clone.cc: Likewise.
19838         * passes.cc: Likewise.
19839         * postreload-gcse.cc: Likewise.
19840         * postreload.cc: Likewise.
19841         * predict.cc: Likewise.
19842         * recog.cc: Likewise.
19843         * ree.cc: Likewise.
19844         * reg-stack.cc: Likewise.
19845         * regcprop.cc: Likewise.
19846         * reginfo.cc: Likewise.
19847         * regrename.cc: Likewise.
19848         * reorg.cc: Likewise.
19849         * sancov.cc: Likewise.
19850         * sanopt.cc: Likewise.
19851         * sched-rgn.cc: Likewise.
19852         * stack-ptr-mod.cc: Likewise.
19853         * store-motion.cc: Likewise.
19854         * tracer.cc: Likewise.
19855         * trans-mem.cc: Likewise.
19856         * tree-call-cdce.cc: Likewise.
19857         * tree-cfg.cc: Likewise.
19858         * tree-cfgcleanup.cc: Likewise.
19859         * tree-complex.cc: Likewise.
19860         * tree-eh.cc: Likewise.
19861         * tree-emutls.cc: Likewise.
19862         * tree-if-conv.cc: Likewise.
19863         * tree-into-ssa.cc: Likewise.
19864         * tree-loop-distribution.cc: Likewise.
19865         * tree-nrv.cc: Likewise.
19866         * tree-object-size.cc: Likewise.
19867         * tree-parloops.cc: Likewise.
19868         * tree-predcom.cc: Likewise.
19869         * tree-profile.cc: Likewise.
19870         * tree-sra.cc: Likewise.
19871         * tree-ssa-ccp.cc: Likewise.
19872         * tree-ssa-copy.cc: Likewise.
19873         * tree-ssa-dce.cc: Likewise.
19874         * tree-ssa-dom.cc: Likewise.
19875         * tree-ssa-dse.cc: Likewise.
19876         * tree-ssa-forwprop.cc: Likewise.
19877         * tree-ssa-ifcombine.cc: Likewise.
19878         * tree-ssa-loop-ch.cc: Likewise.
19879         * tree-ssa-loop-im.cc: Likewise.
19880         * tree-ssa-loop-ivcanon.cc: Likewise.
19881         * tree-ssa-loop-prefetch.cc: Likewise.
19882         * tree-ssa-loop-split.cc: Likewise.
19883         * tree-ssa-loop-unswitch.cc: Likewise.
19884         * tree-ssa-loop.cc: Likewise.
19885         * tree-ssa-math-opts.cc: Likewise.
19886         * tree-ssa-phiopt.cc: Likewise.
19887         * tree-ssa-phiprop.cc: Likewise.
19888         * tree-ssa-pre.cc: Likewise.
19889         * tree-ssa-reassoc.cc: Likewise.
19890         * tree-ssa-sccvn.cc: Likewise.
19891         * tree-ssa-sink.cc: Likewise.
19892         * tree-ssa-strlen.cc: Likewise.
19893         * tree-ssa-structalias.cc: Likewise.
19894         * tree-ssa-uncprop.cc: Likewise.
19895         * tree-ssa-uninit.cc: Likewise.
19896         * tree-ssanames.cc: Likewise.
19897         * tree-stdarg.cc: Likewise.
19898         * tree-switch-conversion.cc: Likewise.
19899         * tree-tailcall.cc: Likewise.
19900         * tree-vect-generic.cc: Likewise.
19901         * tree-vectorizer.cc: Likewise.
19902         * tree-vrp.cc: Likewise.
19903         * tsan.cc: Likewise.
19904         * ubsan.cc: Likewise.
19905         * var-tracking.cc: Likewise.
19906         * vtable-verify.cc: Likewise.
19907         * web.cc: Likewise.
19909 2022-06-27  Andrew Stubbs  <ams@codesourcery.com>
19911         * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
19912         (jump): Likewise.
19913         (movdi_symbol_save_scc): Likewise.
19915 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
19917         PR rtl-optimization/7061
19918         * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
19920 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
19922         PR tree-optimization/94026
19923         * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
19924         (((X >> C1) & C2) eq/ne C3): Likewise.
19926 2022-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19928         * statistics.cc: Include tree.h.
19929         (get_function_name): New function.
19930         (statistics_fini_pass_2): Call get_function_name instead of
19931         current_function_name.
19932         (statistics_counter_event): Call get_function_name instead of
19933         function_name.
19934         (statistics_histogram_event): Likewise.
19936 2022-06-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19938         * config/xtensa/xtensa.md:
19939         Suppress unnecessary emitting nop insn in the split patterns for
19940         integer/FP constant synthesis, and add new peephole2 pattern that
19941         folds such synthesized additions.
19943 2022-06-25  Aldy Hernandez  <aldyh@redhat.com>
19945         * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
19946         instead of evrp.
19947         (dom_jt_state::push): Remove m_evrp.
19948         (dom_jt_state::pop): Same.
19949         (dom_jt_state::record_ranges_from_stmt): Remove.
19950         (dom_jt_state::register_equiv): Remove updating of evrp ranges.
19951         (class dom_jt_simplifier): Pass ranger to constructor.
19952         Inherit from hybrid_jt_simplifier.
19953         (dom_jt_simplifier::simplify): Convert to ranger.
19954         (pass_dominator::execute): Same.
19955         (all_uses_feed_or_dominated_by_stmt): New.
19956         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
19957         (dom_opt_dom_walker::before_dom_children): Call
19958         set_global_ranges_from_unreachable_edges.
19959         Do not call record_ranges_from_stmt.
19960         (dom_opt_dom_walker::after_dom_children): Remove evrp use.
19961         (cprop_operand): Use int_range<> instead of value_range.
19962         (dom_opt_dom_walker::fold_cond): New.
19963         (dom_opt_dom_walker::optimize_stmt): Pass ranger to
19964         cprop_into_stmt.
19965         Use fold_cond() instead of vrp_visit_cond_stmt().
19966         * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
19967         pass state to simplifier.
19968         * vr-values.h (class vr_values): Make fold_cond public.
19970 2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>
19972         * common/config/tilegx/tilegx-common.cc: Removed.
19973         * common/config/tilepro/tilepro-common.cc: Removed.
19974         * config.gcc: Remove tilegx and tilepro entries.
19975         * config/tilegx/constraints.md: Removed.
19976         * config/tilegx/feedback.h: Removed.
19977         * config/tilegx/linux.h: Removed.
19978         * config/tilegx/mul-tables.cc: Removed.
19979         * config/tilegx/predicates.md: Removed.
19980         * config/tilegx/sync.md: Removed.
19981         * config/tilegx/t-tilegx: Removed.
19982         * config/tilegx/tilegx-builtins.h: Removed.
19983         * config/tilegx/tilegx-c.cc: Removed.
19984         * config/tilegx/tilegx-generic.md: Removed.
19985         * config/tilegx/tilegx-modes.def: Removed.
19986         * config/tilegx/tilegx-multiply.h: Removed.
19987         * config/tilegx/tilegx-opts.h: Removed.
19988         * config/tilegx/tilegx-protos.h: Removed.
19989         * config/tilegx/tilegx.cc: Removed.
19990         * config/tilegx/tilegx.h: Removed.
19991         * config/tilegx/tilegx.md: Removed.
19992         * config/tilegx/tilegx.opt: Removed.
19993         * config/tilepro/constraints.md: Removed.
19994         * config/tilepro/feedback.h: Removed.
19995         * config/tilepro/gen-mul-tables.cc: Removed.
19996         * config/tilepro/linux.h: Removed.
19997         * config/tilepro/mul-tables.cc: Removed.
19998         * config/tilepro/predicates.md: Removed.
19999         * config/tilepro/t-tilepro: Removed.
20000         * config/tilepro/tilepro-builtins.h: Removed.
20001         * config/tilepro/tilepro-c.cc: Removed.
20002         * config/tilepro/tilepro-generic.md: Removed.
20003         * config/tilepro/tilepro-modes.def: Removed.
20004         * config/tilepro/tilepro-multiply.h: Removed.
20005         * config/tilepro/tilepro-protos.h: Removed.
20006         * config/tilepro/tilepro.cc: Removed.
20007         * config/tilepro/tilepro.h: Removed.
20008         * config/tilepro/tilepro.md: Removed.
20009         * config/tilepro/tilepro.opt: Removed.
20010         * configure.ac: Remove tilegx and tilepro entries.
20011         * configure: Rebuilt.
20012         * doc/extend.texi: Remove tilegx and tilepro entries.
20013         * doc/install.texi: Remove tilegx and tilepro entries.
20014         * doc/invoke.texi: Remove tilegx and tilepro entries.
20015         * doc/md.texi: Remove tilegx and tilepro entries.
20017 2022-06-25  Roger Sayle  <roger@nextmovesoftware.com>
20018             Richard Biener  <rguenther@suse.de>
20020         * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
20021         iteration over each basic block that was updated by the second
20022         iteration.
20024 2022-06-24  Jason Merrill  <jason@redhat.com>
20026         PR c++/87729
20027         PR c++/20423
20028         * doc/invoke.texi: Document changes.
20030 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
20032         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
20033         condition to avoid overflow.
20035 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20037         * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
20038         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
20039         * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
20040         OPTION_MASK_PPC_GFXOPT.
20041         * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
20042         * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
20043         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
20044         * config/rs6000/rs6000-c.cc: Update comment.
20045         * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
20046         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
20047         MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
20048         (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
20049         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
20050         * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
20051         MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
20052         MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
20053         MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
20055 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20057         * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
20058         OPTION_MASK_MFCRF.
20059         * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
20060         OPTION_MASK_MULTIPLE.
20061         * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
20062         * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
20063         OPTION_MASK_MFCRF.
20064         * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
20065         OPTION_MASK_EABI.
20066         * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
20067         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
20068         MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
20069         * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
20070         MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
20071         MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
20072         MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
20073         MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
20074         Replace with
20075         OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
20076         OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
20077         OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
20078         OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
20079         OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
20080         OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
20081         OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
20082         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
20083         MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
20084         * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
20085         with OPTION_MASK_MULTIPLE.
20086         (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
20087         MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
20088         MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
20089         MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
20090         MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
20091         * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
20092         with OPTION_MASK_EABI.
20094 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20096         * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
20097         RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
20098         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
20099         RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
20100         OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
20101         OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
20102         OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
20103         * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
20104         RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
20105         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
20106         RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
20108 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20110         * config/rs6000/rs6000-c.cc: Update comments.
20111         * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
20112         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
20113         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
20114         RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
20115         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
20116         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
20117         OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
20118         OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
20119         OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
20120         OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
20121         OPTION_MASK_MMA, OPTION_MASK_POWER10.
20122         * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
20123         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
20124         RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
20125         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
20126         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
20128 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20130         * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
20131         MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
20132         OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
20134 2022-06-24  Richard Biener  <rguenther@suse.de>
20136         PR middle-end/106070
20137         * match.pd (a != b ? a : b): Fix translation of
20138         operand_equal_for_comparison_p.
20140 2022-06-24  Jan Hubicka  <jh@suse.cz>
20142         PR ipa/106057
20143         * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
20145 2022-06-24  Martin Liska  <mliska@suse.cz>
20147         PR middle-end/106059
20148         * profile-count.h: *= and /= operators need to modify this
20149         object.
20151 2022-06-24  Roger Sayle  <roger@nextmovesoftware.com>
20152             Uroš Bizjak  <ubizjak@gmail.com>
20154         PR target/105930
20155         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
20156         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
20157         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
20159 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
20161         * common.opt (nostdlib++): New.
20162         * doc/invoke.texi (-nostdlib++): Document it.
20164 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
20166         * doc/sourcebuild.texi (Environment attributes): Document
20167         two_plus_gigs.
20169 2022-06-23  David Malcolm  <dmalcolm@redhat.com>
20171         * common.opt (fdiagnostics-show-rules): New option.
20172         * diagnostic-format-json.cc (diagnostic_output_format_init_json):
20173         Fix up context->show_rules.
20174         * diagnostic-format-sarif.cc
20175         (diagnostic_output_format_init_sarif): Likewise.
20176         * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
20177         (diagnostic_metadata::precanned_rule): New class.
20178         (diagnostic_metadata::add_rule): New.
20179         (diagnostic_metadata::get_num_rules): New.
20180         (diagnostic_metadata::get_rule): New.
20181         (diagnostic_metadata::m_rules): New field.
20182         * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
20183         (print_any_rules): New.
20184         (diagnostic_report_diagnostic): Call it.
20185         * diagnostic.h (diagnostic_context::show_rules): New field.
20186         * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
20187         * opts.cc (common_handle_option): Handle
20188         OPT_fdiagnostics_show_rules.
20189         * toplev.cc (general_init): Set up global_dc->show_rules.
20191 2022-06-23  Martin Liska  <mliska@suse.cz>
20193         PR c++/106062
20194         * ubsan.cc (sanitize_unreachable_fn): Change order of calls
20195         in order to initialize UBSAN built-ins.
20197 2022-06-23  Martin Liska  <mliska@suse.cz>
20199         PR ipa/105600
20200         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
20201         Skip variables with body_removed.
20203 2022-06-23  liuhongt  <hongtao.liu@intel.com>
20205         * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
20206         reg_or_subregno.
20207         (sse4_2_pcmpistr): Ditto.
20209 2022-06-23  Xionghu Luo  <xionghuluo@tencent.com>
20211         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
20212         typo.
20213         * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
20214         * tree-switch-conversion.h: Likewise.
20216 2022-06-22  Jason Merrill  <jason@redhat.com>
20218         PR c++/104642
20219         * common.opt: Add -funreachable-traps.
20220         * doc/invoke.texi (-funreachable-traps): Document it.
20221         * opts.cc (finish_options): Enable at -O0 or -Og.
20222         * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
20223         (builtin_decl_unreachable, build_builtin_unreachable): New.
20224         * tree.h: Declare them.
20225         * ubsan.cc (sanitize_unreachable_fn): Factor out.
20226         (ubsan_instrument_unreachable): Use
20227         gimple_build_builtin_unreachable.
20228         * ubsan.h (sanitize_unreachable_fn): Declare.
20229         * gimple.cc (gimple_build_builtin_unreachable): New.
20230         * gimple.h: Declare it.
20231         * builtins.cc (expand_builtin_unreachable): Add assert.
20232         (fold_builtin_0): Call build_builtin_unreachable.
20233         * sanopt.cc: Don't run for just SANITIZE_RETURN
20234         or SANITIZE_UNREACHABLE when trapping.
20235         * cgraphunit.cc (walk_polymorphic_call_targets): Use new
20236         unreachable functions.
20237         * gimple-fold.cc (gimple_fold_call)
20238         (gimple_get_virt_method_for_vtable)
20239         * ipa-fnsummary.cc (redirect_to_unreachable)
20240         * ipa-prop.cc (ipa_make_edge_direct_to_target)
20241         (ipa_impossible_devirt_target)
20242         * ipa.cc (walk_polymorphic_call_targets)
20243         * tree-cfg.cc (pass_warn_function_return::execute)
20244         (execute_fixup_cfg)
20245         * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
20246         (unloop_loops)
20247         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
20248         Likewise.
20250 2022-06-22  Richard Sandiford  <richard.sandiford@arm.com>
20252         PR tree-optimization/106019
20253         * tree-data-ref.cc (dr_may_alias_p): Try using the
20254         innermost_loop_behavior to disambiguate non-loop queries.
20256 2022-06-22  Palmer Dabbelt  <palmer@rivosinc.com>
20258         * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
20260 2022-06-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20262         * config/xtensa/xtensa.md (bswapsi2_internal):
20263         Enlarge the buffer that is obviously smaller than the template
20264         string given to sprintf().
20266 2022-06-21  Roger Sayle  <roger@nextmovesoftware.com>
20267             Marek Polacek  <polacek@redhat.com>
20268             Segher Boessenkool  <segher@kernel.crashing.org>
20269             Kewen Lin  <linkw@linux.ibm.com>
20271         PR target/105991
20272         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
20273         exact_log2 doesn't return -1 (or zero).
20274         (plus_xor): New code iterator.
20275         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
20277 2022-06-21  Nathan Sidwell  <nathan@acm.org>
20279         * doc/invoke.texi (C++ Modules): Remove language-linkage
20280         as missing feature.
20282 2022-06-21  Arjun Shankar  <arjun@redhat.com>
20284         PR tree-optimization/94899
20285         * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
20286         0x80000000): New simplification.
20288 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
20290         PR rtl-optimization/106032
20291         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
20292         t may_trap_or_fault_p, even if it is cheap.
20294 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
20296         PR middle-end/106030
20297         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
20298         temp to expand_operands if mode has been promoted.
20300 2022-06-21  Xionghu Luo  <xionghuluo@tencent.com>
20302         PR target/105740
20303         * gimple-if-to-switch.cc (find_conditions): Don't skip the first
20304         condition bb.
20306 2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
20308         PR tree-optimization/105736
20309         * tree-object-size.cc (addr_object_size): Return size_unknown
20310         when object offset computation returns an error.
20312 2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
20314         PR target/105960
20315         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
20316         false if PIC register is used when calling ifunc functions.
20318 2022-06-20  Richard Biener  <rguenther@suse.de>
20320         PR middle-end/106027
20321         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
20322         type of the prevailing comparison for the new comparison type.
20323         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
20324         to A < X && A >= Y folding.
20326 2022-06-20  Kewen Lin  <linkw@linux.ibm.com>
20328         PR tree-optimization/105940
20329         * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
20330         slp_done_for_suggested_uf and adjust with it accordingly.
20331         (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
20332         pass it down to vect_analyze_loop_2 for the initial analysis and
20333         applying suggested unroll factor.
20334         (vect_is_simple_reduction): Add parameter slp and adjust with it.
20335         (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
20336         (vect_analyze_scalar_cycles): Likewise.
20338 2022-06-20  Martin Liska  <mliska@suse.cz>
20340         * bb-reorder.cc (find_traces_1_round): Add operators / and * and
20341         use them.
20342         (better_edge_p): Likewise.
20343         * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
20344         * cfgloopmanip.cc (scale_loop_profile): Likewise.
20345         * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
20346         * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
20347         * config/sh/sh.cc (expand_cbranchdi4): Likewise.
20348         * dojump.cc (do_compare_rtx_and_jump): Likewise.
20349         * final.cc (compute_alignments): Likewise.
20350         * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
20351         (decide_about_value): Likewise.
20352         * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
20353         * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
20354         * modulo-sched.cc (sms_schedule): Likewise.
20355         * omp-expand.cc (extract_omp_for_update_vars): Likewise.
20356         (expand_omp_ordered_sink): Likewise.
20357         (expand_omp_for_ordered_loops): Likewise.
20358         (expand_omp_for_static_nochunk): Likewise.
20359         * predict.cc (maybe_hot_count_p): Likewise.
20360         (probably_never_executed): Likewise.
20361         (set_even_probabilities): Likewise.
20362         (handle_missing_profiles): Likewise.
20363         (expensive_function_p): Likewise.
20364         * profile-count.h: Likewise.
20365         * profile.cc (compute_branch_probabilities): Likewise.
20366         * stmt.cc (emit_case_dispatch_table): Likewise.
20367         * symtab-thunks.cc (expand_thunk): Likewise.
20368         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
20369         * tree-ssa-sink.cc (select_best_block): Likewise.
20370         * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
20371         (switch_decision_tree::balance_case_nodes): Likewise.
20372         (switch_decision_tree::emit_case_nodes): Likewise.
20373         * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
20375 2022-06-20  yulong  <shiyulong@iscas.ac.cn>
20377         * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
20378         * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
20379         of RISCV_BUILTIN.
20380         * config/riscv/riscv-ftypes.def (0): Remove unused.
20381         (1): New.
20383 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20385         * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
20386         Consider relaxed MOVI instructions as L32R.
20388 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20390         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
20391         Use can_create_pseudo_p(), instead of using individual
20392         reload_in_progress and reload_completed.
20393         (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
20394         the existing predicate function.
20395         (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
20396         Use the standard RTX code predicate macros such as MEM_P,
20397         SYMBOL_REF_P and/or CONST_INT_P.
20398         * config/xtensa/xtensa.md: Avoid using numeric literals to determine
20399         if callee-saved register, at the split patterns for indirect sibcall
20400         fixups.
20402 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
20404         * common.opt (flag_sanitize_trap): New variable.
20405         (fsanitize-trap=, fsanitize-trap): New options.
20406         (fsanitize-undefined-trap-on-error): Change into deprecated alias
20407         for -fsanitize-trap=all.
20408         * opts.h (struct sanitizer_opts_s): Add can_trap member.
20409         * opts.cc (finish_options): Complain about unsupported
20410         -fsanitize-trap= options.
20411         (sanitizer_opts): Add can_trap values to all entries.
20412         (get_closest_sanitizer_option): Ignore -fsanitize-trap=
20413         options which have can_trap false.
20414         (parse_sanitizer_options): Add support for -fsanitize-trap=.
20415         For -fsanitize-trap=all, enable
20416         SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT.  Disallow
20417         -fsanitize-trap=vptr here.
20418         (common_handle_option): Handle OPT_fsanitize_trap_ and
20419         OPT_fsanitize_trap.
20420         * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
20421         flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
20422         flag_sanitize_undefined_trap_on_error.
20423         * gcc.cc (sanitize_spec_function): Use
20424         flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
20425         and drop use of flag_sanitize_undefined_trap_on_error in
20426         "undefined" handling.
20427         * ubsan.cc (ubsan_instrument_unreachable): Use
20428         flag_sanitize_trap & SANITIZE_??? instead of
20429         flag_sanitize_undefined_trap_on_error.
20430         (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
20431         ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
20432         ubsan_build_overflow_builtin, instrument_bool_enum_load,
20433         ubsan_instrument_float_cast, instrument_nonnull_arg,
20434         instrument_nonnull_return, instrument_builtin): Likewise.
20435         * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
20436         (-fsanitize-undefined-trap-on-error): Document as deprecated
20437         alias of -fsanitize-trap.
20439 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
20441         PR middle-end/105998
20442         * varasm.cc (narrowing_initializer_constant_valid_p): Check
20443         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
20444         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
20446 2022-06-18  Roger Sayle  <roger@nextmovesoftware.com>
20448         PR tree-optimization/105835
20449         * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
20450         Narrow integer multiplication by a zero_one_valued_p operand.
20451         (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
20452         conversions inside COND_EXPR where both data operands are
20453         integer constants.
20455 2022-06-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20457         * config/xtensa/constraints.md (Y):
20458         Change to include integer constants until reload begins.
20459         * config/xtensa/predicates.md (move_operand): Ditto.
20460         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
20461         Change to allow storing integer constants into litpool only after
20462         reload begins.
20464 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
20466         PR target/105209
20467         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
20468         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
20469         (alpha_store_data_bypass_p_1): Ditto.
20470         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
20471         of generic store_data_bypass_p.
20472         (ev4_ist_c): Remove insn reservation.
20474 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
20476         PR target/105970
20477         * config/i386/i386.cc (ix86_function_arg): Assert that
20478         the mode of pointer argumet is equal to ptr_mode, not Pmode.
20480 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
20482         PR target/105993
20483         * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
20484         instead of REGNO comparisons in combine splitter.
20486 2022-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
20488         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
20489         types.
20491 2022-06-17  Kito Cheng  <kito.cheng@sifive.com>
20493         * config/riscv/bitmanip.md: Supress warning.
20495 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
20497         PR target/106004
20498         * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
20499         Clear bits in the mask above bit 31.
20501 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
20503         * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
20504         to avoid spilling trivial literals to the constant pool.
20506 2022-06-16  David Malcolm  <dmalcolm@redhat.com>
20508         * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
20509         auto_diagnostic_group to group any warning with its note.
20510         (maybe_warn_for_bound): Likewise.
20511         (check_access): Likewise.
20512         (warn_dealloc_offset): Likewise.
20513         (pass_waccess::maybe_warn_memmodel): Likewise.
20514         (pass_waccess::maybe_check_dealloc_call): Likewise.
20515         (pass_waccess::warn_invalid_pointer): Likewise.
20516         (pass_waccess::check_dangling_stores): Likewise.
20518 2022-06-16  Jason Merrill  <jason@redhat.com>
20520         * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
20521         opts_set->x_flag_sanitize.
20523 2022-06-16  Jason Merrill  <jason@redhat.com>
20525         * flags.h (issue_strict_overflow_warning): Comment #endif.
20527 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
20529         * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
20530         was invaraint before, clear the invariant bit.
20531         * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
20532         * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
20534 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
20536         * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
20538 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
20540         PR tree-optimization/105983
20541         * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
20542         y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
20543         on non-equality comparisons.
20545 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
20547         PR tree-optimization/105984
20548         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
20549         x > stype_max / cst || x < stype_min / cst): fold_convert @1
20550         to TREE_TYPE (@0) just once and test for negative divisor
20551         also on that folded constant instead of on @1.
20553 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
20555         PR middle-end/105951
20556         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
20557         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
20558         as last argument to the internal functions.
20559         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
20560         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
20561         lhs == NULL_TREE case, fall through into the optab code with
20562         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
20563         fails, construct a CALL_EXPR and expand that.
20564         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
20565         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
20566         expand that.
20568 2022-06-16  Haochen Gui  <guihaoc@gcc.gnu.org>
20570         PR target/103316
20571         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
20572         gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
20573         RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
20574         RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
20575         * config/rs6000/vector.md (VEC_IC): New mode iterator.  Add support
20576         for new Power10 V1TI instructions.
20577         (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
20578         (vec_cmpu<mode><mode>): Likewise.
20579         (vector_nlt<mode>): Set mode iterator to VEC_IC.
20580         (vector_nltv1ti): Remove.
20581         (vector_gtu<mode>): Set mode iterator to VEC_IC.
20582         (vector_gtuv1ti): Remove.
20583         (vector_nltu<mode>): Set mode iterator to VEC_IC.
20584         (vector_nltuv1ti): Remove.
20585         (vector_geu<mode>): Set mode iterator to VEC_IC.
20586         (vector_ngt<mode>): Likewise.
20587         (vector_ngtv1ti): Remove.
20588         (vector_ngtu<mode>): Set mode iterator to VEC_IC.
20589         (vector_ngtuv1ti): Remove.
20590         (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
20591         (vector_gtu_v1ti_p): Remove.
20592         (vrotl<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
20593         (vrotlv1ti3): Remove.
20594         (vashr<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
20595         (vashrv1ti3): Remove.
20597 2022-06-16  Martin Liska  <mliska@suse.cz>
20599         * gengtype-state.cc (read_a_state_token): Do not skip extra
20600         character after escaped sequence.
20602 2022-06-16  Martin Liska  <mliska@suse.cz>
20604         PR driver/105564
20605         * spellcheck.cc (test_find_closest_string): Add new test.
20606         * spellcheck.h (class best_match): Prefer a difference in
20607         trailing sign symbol.
20609 2022-06-16  liuhongt  <hongtao.liu@intel.com>
20611         PR tree-optimization/53533
20612         * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
20613         (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
20614         and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
20616 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20618         * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
20620 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20622         * config/xtensa/predicates.md (reload_operand):
20623         New predicate.
20624         * config/xtensa/xtensa.md: New peephole2 pattern.
20626 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20628         * config/xtensa/xtensa.md (*round_up_to_even):
20629         New insn-and-split pattern.
20630         (*signed_ge_zero): Ditto.
20632 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20634         * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
20635         xtensa_emit_sibcall): New prototypes.
20636         (xtensa_expand_epilogue): Add new argument that specifies whether
20637         or not sibling call.
20638         * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
20639         New macro definition.
20640         (xtensa_prepare_expand_call): New function in order to share
20641         the common code.
20642         (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
20643         New functions.
20644         (xtensa_expand_epilogue): Add new argument sibcall_p and use it
20645         for sibling call handling.
20646         * config/xtensa/xtensa.md (call, call_value):
20647         Use xtensa_prepare_expand_call.
20648         (call_internal, call_value_internal):
20649         Add the condition in order to be disabled if sibling call.
20650         (sibcall, sibcall_value, sibcall_epilogue): New expansions.
20651         (sibcall_internal, sibcall_value_internal): New insn patterns,
20652         and split ones in order to take care of the indirect sibcalls.
20654 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20656         * doc/invoke.texi: Document -mextra-l32r-costs= option.
20658 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
20660         PR analyzer/105962
20661         * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
20662         * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
20663         Extend -fdiagnostics-path-format=separate-events so that with
20664         -fdiagnostics-show-path-depths it prints fndecls as well as stack
20665         depths.
20667 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
20669         * value-relation.h: Add "final" and "override" to relation_oracle
20670         vfunc implementations as appropriate.
20672 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
20674         PR middle-end/105975
20675         Revert everything apart from the expand_fn_using_insn and
20676         expand_direct_optab_fn changes from:
20677         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
20678         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
20679         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
20680         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
20681         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
20682         member variable.
20683         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
20684         (direct_internal_fn_p): Also return true for internal functions
20685         that map directly to instructions defined target-insns.def.
20686         (direct_internal_fn): Adjust comment accordingly.
20687         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
20688         (vectorizable_optab2): New local macros.
20689         (not_direct): Initialize directly_mapped.
20690         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
20691         (gather_load_direct, len_load_direct, mask_store_direct)
20692         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
20693         (vec_cond_direct, scatter_store_direct, len_store_direct)
20694         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
20695         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
20696         (while_direct, fold_extract_direct, fold_left_direct)
20697         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
20698         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
20699         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
20700         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
20701         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
20702         (direct_internal_fn_types): Handle functions that map to instructions
20703         defined in target-insns.def.
20704         (direct_internal_fn_types): Likewise.
20705         (direct_internal_fn_supported_p): Likewise.
20706         (internal_fn_expanders): Likewise.
20707         (expand_fn_using_insn): New function,
20708         split out and adapted from...
20709         (expand_direct_optab_fn): ...here.
20710         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
20711         (expand_GOMP_SIMT_EXIT): Likewise.
20712         (expand_GOMP_SIMT_LANE): Likewise.
20713         (expand_GOMP_SIMT_LAST_LANE): Likewise.
20714         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
20715         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
20716         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
20717         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
20719 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
20721         PR target/105981
20722         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
20723         to first_reg and second_reg respectively.  Initialize them correctly
20724         when generating big-endian code.
20726 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
20728         PR target/105974
20729         * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
20731 2022-06-15  Richard Biener  <rguenther@suse.de>
20733         PR tree-optimization/105971
20734         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
20735         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
20736         to leak less surprising alias results.
20738 2022-06-15  Richard Biener  <rguenther@suse.de>
20740         PR tree-optimization/105969
20741         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
20742         by zero in overflow check.
20744 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
20746         PR tree-optimization/105254
20747         PR tree-optimization/105940
20748         Revert:
20749         * config/aarch64/aarch64.cc
20750         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
20751         loop_vec_info as argument.  Restrict the unroll factor to values
20752         that divide the VF.
20753         (aarch64_vector_costs::finish_cost): Update call accordingly.
20755 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
20757         * read-rtl.cc (find_int): Substitute symbolic constants
20758         before converting the string to an integer.
20760 2022-06-15  Roger Sayle  <roger@nextmovesoftware.com>
20761             Richard Biener  <rguenther@suse.de>
20763         * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
20764         left shifts by a constant when the result is truncated, and the
20765         shift constant is well-defined.
20766         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
20767         support for rotations of signed integer types, by lowering
20768         using unsigned vector shifts.
20770 2022-06-15  liuhongt  <hongtao.liu@intel.com>
20772         PR target/105953
20773         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
20774         operands[3].
20776 2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
20778         PR rtl-optimization/105041
20779         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
20781 2022-06-14  Segher Boessenkool  <segher@kernel.crashing.org>
20783         * config/rs6000/vsx.md (VS_scalar): Delete.
20784         (rest of file): Adjust.
20786 2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
20788         PR ipa/105739
20789         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
20791 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
20793         * config/riscv/bitmanip.md: Add split to handle opportunities
20794         for slli + sh[123]add.uw
20796 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
20798         * config/riscv/predicates.md (consecutive_bits_operand):
20799         Implement new predicate.
20801 2022-06-14  Richard Biener  <rguenther@suse.de>
20803         PR tree-optimization/105946
20804         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
20805         Do not look at arguments not specified in the function call.
20807 2022-06-14  Richard Biener  <rguenther@suse.de>
20809         PR middle-end/105965
20810         * match.pd (view_convert CONSTRUCTOR): Handle single-element
20811         CTOR case.
20813 2022-06-14  Eric Botcazou  <ebotcazou@adacore.com>
20815         * warning-control.cc (copy_warning) [generic version]: Do not erase
20816         the warning data of the destination location when the no-warning
20817         bit is not set on the source.
20818         (copy_warning) [tree version]: Return early if TO is equal to FROM.
20819         (copy_warning) [gimple version]: Likewise.
20821 2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
20823         PR tree-optimization/105940
20824         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
20825         applying suggested_unroll_factor after start_over.
20827 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20829         * config/xtensa/predicates.md (shifted_mask_operand):
20830         New predicate.
20831         * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
20832         New insn-and-split pattern.
20833         (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
20834         *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
20835         *masktrue_const_shifted_mask): Ditto.
20837 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20839         * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
20841 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20843         * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
20844         Remove the first argument.
20845         (xtensa_emit_bit_branch): Remove it because now called only from the
20846         output statement of *bittrue insn pattern.
20847         * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
20848         argument 'p_invert', and make so that the condition is reversed by
20849         itself as needed.
20850         (xtensa_expand_conditional_branch): Share the common path, and remove
20851         condition inversion code.
20852         (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
20853         "false side" pattern.
20854         (xtensa_emit_bit_branch): Remove it because of the abovementioned
20855         reason, and move the function body to *bittrue insn pattern.
20856         * config/xtensa/xtensa.md (*bittrue): Transplant the output
20857         statement from removed xtensa_emit_bit_branch().
20858         (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
20859         insn patterns.
20861 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20863         * config/xtensa/predicates.md (logical_shift_operator,
20864         xtensa_shift_per_byte_operator): New predicates.
20865         * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
20866         New prototype.
20867         * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
20868         New helper function for funnel shift patterns.
20869         * config/xtensa/xtensa.md (ior_op): New code iterator.
20870         (*ashlsi3_1): Replace with new split pattern.
20871         (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
20872         (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
20873         New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
20874         in order to omit unnecessary bitwise AND operation.
20875         (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
20876         *shlrd_per_byte_<code>_omit_AND):
20877         New insn patterns for funnel shifts.
20879 2022-06-13  Jason Merrill  <jason@redhat.com>
20881         * tree-cfg.cc (pass_warn_function_return::execute): Also check
20882         BUILT_IN_TRAP.
20884 2022-06-13  Maciej W. Rozycki  <macro@embecosm.com>
20886         * config/riscv/riscv.md (length): Remove the explicit setting
20887         for "fcmp".
20889 2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
20891         * common/config/i386/cpuinfo.h (get_available_features): Require
20892         AVX for F16C and VAES.
20894 2022-06-13  Uroš Bizjak  <ubizjak@gmail.com>
20896         PR target/105927
20897         * config/i386/predicates.md (register_no_elim_operand):
20898         Return true for subreg of a memory operand.
20900 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
20902         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
20903         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
20904         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
20905         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
20906         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
20907         member variable.
20908         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
20909         (direct_internal_fn_p): Also return true for internal functions
20910         that map directly to instructions defined target-insns.def.
20911         (direct_internal_fn): Adjust comment accordingly.
20912         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
20913         (vectorizable_optab2): New local macros.
20914         (not_direct): Initialize directly_mapped.
20915         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
20916         (gather_load_direct, len_load_direct, mask_store_direct)
20917         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
20918         (vec_cond_direct, scatter_store_direct, len_store_direct)
20919         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
20920         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
20921         (while_direct, fold_extract_direct, fold_left_direct)
20922         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
20923         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
20924         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
20925         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
20926         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
20927         (direct_internal_fn_types): Handle functions that map to instructions
20928         defined in target-insns.def.
20929         (direct_internal_fn_types): Likewise.
20930         (direct_internal_fn_supported_p): Likewise.
20931         (internal_fn_expanders): Likewise.
20933 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
20935         * internal-fn.cc (expand_fn_using_insn): New function,
20936         split out and adapted from...
20937         (expand_direct_optab_fn): ...here.
20938         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
20939         (expand_GOMP_SIMT_EXIT): Likewise.
20940         (expand_GOMP_SIMT_LANE): Likewise.
20941         (expand_GOMP_SIMT_LAST_LANE): Likewise.
20942         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
20943         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
20944         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
20945         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
20947 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
20949         * omp-expand.cc (expand_omp_target): Remap user provided
20950         device clause arguments, -1 to -2 and -2 to -3, either
20951         at compile time if constant, or at runtime.
20953 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
20955         * common.opt (finstrument-functions): Set explicit value.
20956         (-finstrument-functions-once): New option.
20957         * doc/invoke.texi (Program Instrumentation Options): Document it.
20958         * gimplify.cc (build_instrumentation_call): New static function.
20959         (gimplify_function_tree): Call it to emit the instrumentation calls
20960         if -finstrument-functions[-once] is specified.
20962 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
20964         * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
20965         * gimple.h (gimple_set_location): Do not copy warning data from
20966         the previous location when it is UNKNOWN_LOCATION.
20967         * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
20969 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
20971         PR target/105911
20972         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
20973         *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
20974         (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
20975         operands[3] unmodified.
20977 2022-06-12  Simon Wright  <simon@pushface.org>
20979         PR target/104871
20980         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
20981         version is darwin20 (macOS 11) or greater, truncate the version to the
20982         major number.
20984 2022-06-12  Mark Mentovai  <mark@mentovai.com>
20986         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
20988 2022-06-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
20990         PR target/96463
20991         * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
20992         (svld1rq_impl::fold): Define.
20993         * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
20994         op_mode and op_vec_flags.
20995         (aarch64_evpc_reencode): Initialize newd.op_mode and
20996         newd.op_vec_flags.
20997         (aarch64_evpc_sve_dup): New function.
20998         (aarch64_expand_vec_perm_const_1): Gate existing calls to
20999         aarch64_evpc_* functions under d->vmode == d->op_mode,
21000         and call aarch64_evpc_sve_dup.
21001         (aarch64_vectorize_vec_perm_const): Remove assert
21002         d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
21003         * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
21004         vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
21005         constant.
21007 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21009         * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
21010         New prototype.
21011         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
21012         xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
21013         xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
21014         New backend functions that process the abovementioned logic.
21015         (xtensa_emit_move_sequence): Revert the previous changes.
21016         * config/xtensa/xtensa.md: New split patterns for integer
21017         and floating-point, as the frontend part.
21019 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21021         * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
21022         for ABS and NEG, add missing case for BSWAP and CLRSB, and
21023         double the costs for integer divisions using libfuncs if
21024         optimizing for speed, in order to take advantage of fast constant
21025         division by multiplication.
21026         (TARGET_INSN_COST): New macro definition.
21027         (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
21028         calculating relative costs of a RTL insns, for both of speed and
21029         size.
21030         * config/xtensa/xtensa.md (return, nop, trap): Correct values of
21031         the attribute "length" that depends on TARGET_DENSITY.
21032         (define_asm_attributes, blockage, frame_blockage): Add missing
21033         attributes.
21034         * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
21035         dependent option, however, preparatory work for now.
21037 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21039         * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
21040         Pass through the block length / loop count conditions if
21041         zero-overhead looping is configured and active,
21043 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21045         * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
21046         Split into individual signedness, in order to use libcall
21047         "__umulsidi3" but not the other.
21048         (<u>mulhisi3): Merge into one by using code iterator.
21049         (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
21051 2022-06-11   Michael Meissner  <meissner@linux.ibm.com>
21053         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
21054         not generate block copies with vector pair instructions if we are
21055         tuning for power10.
21057 2022-06-10  Roger Sayle  <roger@nextmovesoftware.com>
21059         PR rtl-optimization/7061
21060         * expr.cc (emit_group_store): For groups that consist of a single
21061         scalar integer register that hold a complex mode value, use
21062         gen_lowpart to generate a SUBREG to "view_convert" to the complex
21063         mode.  For modes of different sizes, first convert to an integer
21064         mode of the appropriate size.
21066 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21068         * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
21070 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21072         * config/xtensa/xtensa.md (*andsi3_bitcmpl):
21073         New insn_and_split pattern.
21075 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21077         * config/xtensa/xtensa.md (one_cmplsi2):
21078         Rearrange as an insn_and_split pattern.
21080 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21082         * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
21084 2022-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
21086         * config/rs6000/rs6000.md (FP_ISA3): Delete.
21087         (float<QHI:mode><FP_ISA3:mode>2): Rename to...
21088         (float<QHI:mode><SFDF:mode>2): ... this.  Adjust.
21089         (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
21090         (*float<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
21091         (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
21092         (floatuns<QHI:mode><SFDF:mode>2): ... this.  Adjust.
21093         (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
21094         (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
21096 2022-06-09  Maciej W. Rozycki  <macro@embecosm.com>
21098         * config/riscv/riscv.md
21099         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
21100         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
21101         rather than space with FSFLAGS.
21103 2022-06-09  Tobias Burnus  <tobias@codesourcery.com>
21105         * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
21106         omp_discover_declare_target_fn_r): Don't walk reverse-offload
21107         target regions.
21109 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
21111         * doc/invoke.texi (-Waddress): Fix a typo in small example.
21112         Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
21114 2022-06-09  Cui,Lili  <lili.cui@intel.com>
21116         PR target/105493
21117         * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
21118         from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
21119         unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
21120         (icelake_cost): Ditto.
21121         (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
21122         stores and unaligned stores cost from {6, 6, 6, 10, 15} to
21123         {8, 8, 8, 10, 15}.
21125 2022-06-09  Haochen Gui  <guihaoc@gcc.gnu.org>
21127         * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
21128         and ior insns to one rotate and mask insn.
21129         (define_split for bswapdi register): Likewise.
21131 2022-06-08  Roger Sayle  <roger@nextmovesoftware.com>
21133         PR middle-end/105874
21134         * expr.cc (expand_expr_real_1) <normal_inner_ref>:  New local
21135         variable tem_modifier for calculating the expand_modifier enum to
21136         use for expanding tem.  If tem is a VAR_DECL, use EXPAND_MEMORY.
21138 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
21140         PR target/105879
21141         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
21142         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
21143         'gen_highpart' bitwise semantics and fix order of highpart and
21144         lowpart depending on target endianness.
21146 2022-06-08  Chung-Ju Wu  <jasonwucj@gmail.com>
21148         * config/arm/arm-cpus.in (star-mc1): New cpu.
21149         * config/arm/arm-tables.opt: Regenerate.
21150         * config/arm/arm-tune.md: Regenerate.
21151         * doc/invoke.texi: Update docs.
21153 2022-06-08  liuhongt  <hongtao.liu@intel.com>
21155         PR target/105513
21156         PR target/105504
21157         * config/i386/i386.md (*movsi_internal): Change alternative
21158         from *v to ?v.
21159         (*movdi_internal): Ditto.
21160         * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
21161         to ?r.
21162         (*vec_extractv4sf_mem): Ditto.
21163         (*vec_extracthf): Ditto.
21165 2022-06-07  Richard Earnshaw  <rearnsha@arm.com>
21167         PR target/105090
21168         * config/arm/arm.cc (arm_bfi_1_p): New function.
21169         (arm_bfi_p): New function.
21170         (arm_rtx_costs_internal): Add costs for BFI idioms.
21171         (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
21172         * config/arm/constraints.md (Dj): New constraint.
21173         * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
21174         (insv_zero): Convert to an insn with a split.
21175         (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
21177 2022-06-07  liuhongt  <hongtao.liu@intel.com>
21179         PR target/105854
21180         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
21181         from Yv to Yw.
21183 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
21185         PR middle-end/105853
21186         PR target/105856
21187         * calls.cc (load_register_parameters): Call store_constructor
21188         and int_expr_size directly instead of expanding via expand_expr.
21189         * expr.cc (static void store_constructor): Don't prototype here.
21190         (static HOST_WIDE_INT int_expr_size): Likewise.
21191         (store_constructor): No longer static.
21192         (int_expr_size): Likewise, no longer static.
21193         * expr.h (store_constructor): Prototype here.
21194         (int_expr_size): Prototype here.
21196 2022-06-07  Jan Beulich  <jbeulich@suse.com>
21198         Revert:
21199         2022-06-03  Jan Beulich  <jbeulich@suse.com>
21201         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21202         * configure.ac: Check for objcopy, producing
21203         ORIGINAL_OBJCOPY_FOR_TARGET.
21204         * configure: Update accordingly.
21205         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21206         Handle objcopy.
21208 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
21210         * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
21211         * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
21212         Adjust clause printing style depending on
21213         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
21215 2022-06-07  Jan Beulich  <jbeulich@suse.com>
21217         * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
21218         Change type.
21219         * config/i386/i386-builtin-types.def: New function type
21220         (V4DI, V32QI, V32QI).
21221         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
21222         V4DI_FTYPE_V32QI_V32QI.
21224 2022-06-07  Jan Beulich  <jbeulich@suse.com>
21226         * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
21227         into account for reg-only insns.
21229 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
21231         * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
21232         IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
21233         TARGET_CMOVE's (scalar integer) conditional moves.
21234         * config/i386/sse.md (define_split): Recognize XOP's vpcmov
21235         from its equivalent (canonical) pxor;pand;pxor sequence.
21237 2022-06-07  Kewen Lin  <linkw@linux.ibm.com>
21239         * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
21240         parameter ORDER.
21242 2022-06-06  Andrew Stubbs  <ams@codesourcery.com>
21244         * config.in: Regenerate.
21245         * configure: Regenerate.
21246         * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
21248 2022-06-04  Roger Sayle  <roger@nextmovesoftware.com>
21250         PR middle-end/95126
21251         * calls.cc (load_register_parameters): When loading a suitable
21252         immediate_const_ctor_p VAR_DECL into a single word_mode register,
21253         construct it directly in a pseudo rather than read it (by parts)
21254         from memory.
21255         * expr.cc (int_expr_size): Make tree argument a const_tree.
21256         (immediate_const_ctor_p): Helper predicate.  Return true for
21257         simple constructors that may be materialized in a register.
21258         (expand_expr_real_1) [VAR_DECL]: When expanding a constant
21259         VAR_DECL with a suitable immediate_const_ctor_p constructor
21260         use store_constructor to materialize it directly in a pseudo.
21261         * expr.h (immediate_const_ctor_p): Prototype here.
21262         * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
21263         VALUE argument from tree to const_tree.
21264         * varasm.h (initializer_constant_valid_for_bitfield_p): Update
21265         prototype.
21267 2022-06-04  Jakub Jelinek  <jakub@redhat.com>
21269         PR target/105825
21270         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
21271         *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
21272         bits of mask aren't all set, use operands[2] mode for the AND
21273         operation instead of always SImode.
21275 2022-06-03  Jakub Jelinek  <jakub@redhat.com>
21277         PR middle-end/30314
21278         PR middle-end/105777
21279         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
21280         x > stype_max / cst || x < stype_min / cst): New simplification.
21282 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
21284         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
21285         Value_Range.
21286         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
21287         * value-range.h (Value_Range::Value_Range): Implement copy
21288         constructor for Value_Range.
21290 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
21292         * value-range.h (struct vrange_traits): Remove.
21293         (is_a): Rewrite without vrange_traits.
21294         (as_a): Same.
21296 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
21298         * value-range.cc (vrange::contains_p): Implement.
21299         (vrange::type): Return void.
21300         (vrange::supports_type_p): Implement.
21301         (irange::fits_p): Same.
21302         (vrange::set_undefined): Same.
21303         (irange::set_nonnegative): Same.
21304         (vrange::set_varying): Same.
21305         (vrange::union_): Same.
21306         (unsupported_range::set): Move to vrange.
21307         (unsupported_range::type): Move to vrange.
21308         (vrange::intersect): Implement for varying and undefined.
21309         (vrange::zero_p): Implement.
21310         (unsupported_range::supports_type_p): Move to vrange.
21311         (vrange::nonzero_p): Implement.
21312         (unsupported_range::set_undefined): Move to vrange.
21313         (unsupported_range::set_varying): Same.
21314         (unsupported_range::dump): Same.
21315         (unsupported_range::union_): Same.  Implement for varying and
21316         undefined.
21317         (unsupported_range::intersect): Move to vrange.
21318         (unsupported_range::zero_p): Same.
21319         (unsupported_range::nonzero_p): Same.
21320         (unsupported_range::set_nonzero): Same.
21321         (unsupported_range::set_zero): Same.
21322         (unsupported_range::set_nonnegative): Same.
21323         (unsupported_range::fits_p): Same.
21324         * value-range.h (class vrange): Remove abstract markers for most
21325         methods.
21326         (class unsupported_range): Remove most methods as they will now be
21327         inherited from vrange.
21329 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
21331         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
21332         an object level supports_type_p for irange and a static
21333         Value_Range::supports_type_p.
21334         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
21335         (fold_using_range::range_of_address): Same.
21336         (fold_using_range::range_of_builtin_call): Same.
21337         * gimple-range-fold.h (gimple_range_type): Same.
21338         (gimple_range_ssa_p): Same.
21339         * gimple-range-path.cc (path_range_query::internal_range_of_expr):
21340         Same.
21341         (path_range_query::range_of_stmt): Same.
21342         (path_range_query::add_to_imports): Same.
21343         * gimple-range.cc (gimple_ranger::range_on_edge): Same.
21344         (gimple_ranger::export_global_ranges): Same.
21345         * gimple-ssa-evrp-analyze.cc
21346         (evrp_range_analyzer::record_ranges_from_phis):  Same.
21347         * range-op.cc (range_operator::wi_fold): Same.
21348         (range_operator::fold_range): Same.
21349         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
21350         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
21351         (evaluate_control_stmt_using_entry_checks): Same.
21352         * tree-ssa-threadedge.cc
21353         (hybrid_jt_simplifier::compute_ranges_from_state): Same.
21354         * tree-vrp.cc (supported_types_p): Same.
21355         * value-query.cc (range_query::value_of_expr): Same.
21356         (range_query::value_on_edge): Same.
21357         (range_query::value_of_stmt): Same.
21358         (range_query::get_tree_range): Same.
21359         (get_range_global): Same.
21360         (global_range_query::range_of_expr): Same.
21361         * value-range-equiv.h (class value_range_equiv): Same.
21362         * value-range.cc (irange::supports_type_p): Same.
21363         (unsupported_range::supports_type_p): Same.
21364         * value-range.h (enum value_range_discriminator): Same.
21365         (Value_Range::init): Same.
21366         (Value_Range::supports_type_p): Same.
21367         (irange::supports_type_p): Same.
21368         (irange::supports_p): Same.
21369         (vrange::supports_type_p): Same.
21370         (vrange_allocator::alloc_vrange): Same.
21372 2022-06-03  Jan Beulich  <jbeulich@suse.com>
21374         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21375         * configure.ac: Check for objcopy, producing
21376         ORIGINAL_OBJCOPY_FOR_TARGET.
21377         * configure: Update accordingly.
21378         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21379         Handle objcopy.
21381 2022-06-03  Jan Beulich  <jbeulich@suse.com>
21383         * config/i386/mmx.md (mmx_psadbw): Convert to expander.
21384         (*mmx_psadbw): New. Mark as commutative.
21385         * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
21386         (*<sse2_avx2>_psadbw): New. Mark as commutative.
21388 2022-06-03  Alexandre Oliva  <oliva@adacore.com>
21390         PR tree-optimization/105665
21391         PR tree-optimization/100810
21392         * tree-ssa-loop-ivopts.cc
21393         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
21394         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
21395         (find_ssa_undef): Check precomputed flag and intervening uses.
21396         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
21398 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
21400         * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
21401         tree-logical-location.o.
21402         (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
21403         (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
21404         * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
21405         (sarif-stderr, sarif-file): New enum values.
21406         * diagnostic-client-data-hooks.h: New file.
21407         * diagnostic-format-sarif.cc: New file.
21408         * diagnostic-path.h (enum diagnostic_event::verb): New enum.
21409         (enum diagnostic_event::noun): New enum.
21410         (enum diagnostic_event::property): New enum.
21411         (struct diagnostic_event::meaning): New struct.
21412         (diagnostic_event::get_logical_location): New vfunc.
21413         (diagnostic_event::get_meaning): New vfunc.
21414         (simple_diagnostic_event::get_logical_location): New vfunc impl.
21415         (simple_diagnostic_event::get_meaning): New vfunc impl.
21416         * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
21417         (diagnostic_initialize): Initialize m_client_data_hooks.
21418         (diagnostic_finish): Clean up m_client_data_hooks.
21419         (diagnostic_event::meaning::dump_to_pp): New.
21420         (diagnostic_event::meaning::maybe_get_verb_str): New.
21421         (diagnostic_event::meaning::maybe_get_noun_str): New.
21422         (diagnostic_event::meaning::maybe_get_property_str): New.
21423         (get_cwe_url): Make non-static.
21424         (diagnostic_output_format_init): Handle
21425         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
21426         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
21427         * diagnostic.h (enum diagnostics_output_format): Add
21428         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
21429         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
21430         (class diagnostic_client_data_hooks): New forward decl.
21431         (class logical_location): New forward decl.
21432         (diagnostic_context::m_client_data_hooks): New field.
21433         (diagnostic_output_format_init_sarif_stderr): New decl.
21434         (diagnostic_output_format_init_sarif_file): New decl.
21435         (get_cwe_url): New decl.
21436         * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
21437         sarif-file.
21438         * doc/sourcebuild.texi (Scan a particular file): Add
21439         scan-sarif-file and scan-sarif-file-not.
21440         * langhooks-def.h (lhd_get_sarif_source_language): New decl.
21441         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
21442         (LANG_HOOKS_INITIALIZER): Add
21443         LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
21444         * langhooks.cc (lhd_get_sarif_source_language): New.
21445         * langhooks.h (lang_hooks::get_sarif_source_language): New field.
21446         * logical-location.h: New file.
21447         * plugin.cc (struct for_each_plugin_closure): New.
21448         (for_each_plugin_cb): New.
21449         (for_each_plugin): New.
21450         * plugin.h (for_each_plugin): New decl.
21451         * tree-diagnostic-client-data-hooks.cc: New file.
21452         * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
21453         (tree_diagnostics_defaults): Populate m_client_data_hooks.
21454         * tree-logical-location.cc: New file.
21455         * tree-logical-location.h: New file.
21457 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
21459         * common.opt (fdiagnostics-format=): Add json-stderr and json-file
21460         to description.
21461         (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
21462         (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
21463         (diagnostics_output_format): Add json-stderr and json-file.
21464         * diagnostic-format-json.cc (json_flush_to_file): New.
21465         (json_final_cb): Convert to...
21466         (json_flush_to_file): ...this, ...
21467         (json_stderr_final_cb): ...this, and...
21468         (json_file_final_cb): ...this.
21469         (diagnostic_output_format_init): Move to diagnostic.cc.
21470         (json_output_base_file_name): New.
21471         (diagnostic_output_format_init_json): New.
21472         (diagnostic_output_format_init_json_stderr): New.
21473         (diagnostic_output_format_init_json_file): New.
21474         * diagnostic.cc (diagnostic_output_format_init): Move here from
21475         diagnostic-format-json.cc; update for changes to enum.
21476         * diagnostic.h (enum diagnostics_output_format): Rename
21477         DIAGNOSTICS_OUTPUT_FORMAT_JSON to
21478         DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
21479         DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
21480         (diagnostic_output_format_init): Add base_file_name param.
21481         (diagnostic_output_format_init_json_stderr): New decl.
21482         (diagnostic_output_format_init_json_file): New dec.
21483         * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
21484         "json-file".  Rewrite so that the existing "json" is a synonym of
21485         "json-stderr".
21486         * gcc.cc (driver_handle_option): Pass dump_base_name to
21487         diagnostic_output_format_init.
21488         * opts.cc (common_handle_option): Likewise.
21490 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
21492         * json.cc (string::print): Fix escaping of '\'.
21494 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
21496         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
21497         (-1 << 31) for the single-bit case, when operating on (1 << 31)
21498         in SImode.
21499         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
21500         any single-bit value, moving the special case for (1 << 31) to
21501         riscv_build_integer_1 (in riscv.c).
21503 2022-06-02  Roger Sayle  <roger@nextmovesoftware.com>
21505         PR target/105791
21506         * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
21507         (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
21509 2022-06-02  Jakub Jelinek  <jakub@redhat.com>
21511         PR target/105778
21512         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
21513         from AND and its operands and just verify operands[2] has HImode,
21514         SImode or for TARGET_64BIT DImode.  Allow operands[3] to be a mask
21515         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
21516         just throw away the masking.  Use force_reg before calling
21517         gen_lowpart.
21518         (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
21519         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
21520         just throw away the masking.
21521         (*ashl<mode>3_doubleword): Rename to ...
21522         (ashl<mode>3_doubleword): ... this.
21523         (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
21524         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
21525         Use force_reg before calling gen_lowpart.
21526         (*<insn><mode>3_mask): Likewise.
21527         (*<insn><dwi>3_doubleword_mask): Likewise.  Allow operands[3] to be
21528         a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
21529         case just throw away the masking.  Use force_reg before calling
21530         gen_lowpart.
21531         (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
21532         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
21533         throw away the masking.
21534         (*<insn><mode>3_doubleword): Rename to ...
21535         (<insn><mode>3_doubleword): ... this.
21536         (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
21537         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
21538         Use force_reg before calling gen_lowpart.
21539         (splitter after it): Remove :SI from AND and its operands and just
21540         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
21541         (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
21542         operands and just verify operands[1] has HImode, SImode or for
21543         TARGET_64BIT DImode.  Use force_reg before calling gen_lowpart.
21544         (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
21545         * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
21546         ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
21548 2022-06-02  Richard Biener  <rguenther@suse.de>
21550         PR tree-optimization/101668
21551         * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
21552         for vector types with compatible lane types.
21553         (vect_build_slp_tree_2): Deal with this.
21554         (vect_add_slp_permutation): Adjust.  Emit lowpart/concat
21555         special cases without VEC_PERM.
21556         (vectorizable_slp_permutation): Select the operand vector
21557         type and relax requirements.  Handle identity permutes
21558         with mismatching operand types.
21559         * optabs-query.cc (can_vec_perm_const_p): Only allow variable
21560         permutes for op_mode == mode.
21562 2022-06-02  Richard Biener  <rguenther@suse.de>
21564         PR tree-optimization/105802
21565         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
21566         Make sure to also compute the range in the type of the switch index.
21568 2022-06-01  David Seifert  <soap@gentoo.org>
21570         PR plugins/95648
21571         * configure: Regenerate.
21573 2022-06-01  H.J. Lu  <hjl.tools@gmail.com>
21575         PR rtl-optimization/105638
21576         * df-core.cc (df_find_single_def_src): Moved and renamed from
21577         find_single_def_src in loop-iv.cc.  Change the argument to rtx
21578         and use rtx_equal_p.  Return null for partial or conditional
21579         defs.
21580         * df.h (df_find_single_def_src): New prototype.
21581         * dse.cc (record_store): Use the constant source if the source
21582         register is set only once.
21583         * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
21584         (replace_single_def_regs): Replace find_single_def_src with
21585         df_find_single_def_src.
21587 2022-06-01  Wilco Dijkstra  <wilco.dijkstra@arm.com>
21589         * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
21590         selected_tune.
21591         (explicit_arch): Rename to selected_arch.
21592         (x_aarch64_override_tune_string): Remove.
21593         (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
21594         (aarch64_override_tune_string): Add Save so it gets saved/restored.
21595         * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
21596         * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
21597         (processor): Remove archtecture_version field.
21598         (selected_arch): Remove global.
21599         (selected_cpu): Remove global.
21600         (selected_tune): Remove global.
21601         (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
21602         (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
21603         (aarch64_override_options): Further simplify code to only set
21604         selected_arch and selected_tune globals.
21605         (aarch64_option_save): Remove now that target options are saved.
21606         (aarch64_option_restore): Remove redundant target option restores.
21607         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
21608         AARCH64_ISA_V9.
21609         * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
21610         * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
21611         (aarch64_ra_sign_key): Remove.
21613 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
21615         PR middle-end/30314
21616         * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
21617         x > ~(utype)0 / cst): New simplification.
21619 2022-06-01  Richard Biener  <rguenther@suse.de>
21621         PR tree-optimization/105786
21622         * tree-loop-distribution.cc
21623         (loop_distribution::transform_reduction_loop): Only do strlen
21624         replacement for integer type reductions.
21626 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
21628         PR tree-optimization/105770
21629         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
21630         CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
21632 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
21634         * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
21635         (sbr_vector::sbr_vector): Same.
21636         (sbr_vector::grow): Same.
21637         (sbr_vector::set_bb_range): Same.
21638         (sbr_vector::get_bb_range): Same.
21639         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
21640         (sbr_sparse_bitmap::set_bb_range): Same.
21641         (sbr_sparse_bitmap::get_bb_range): Same.
21642         (block_range_cache::set_bb_range): Same.
21643         (block_range_cache::get_bb_range): Same.
21644         (block_range_cache::dump): Same.
21645         (ssa_global_cache::get_global_range): Same.
21646         (ssa_global_cache::set_global_range): Same.
21647         (ssa_global_cache::clear): Same.
21648         (ssa_global_cache::dump): Same.
21649         (ranger_cache::get_global_range): Same.
21650         (ranger_cache::set_global_range): Same.
21651         (ranger_cache::range_of_def): Same.
21652         (ranger_cache::entry_range): Same.
21653         (ranger_cache::exit_range): Same.
21654         (ranger_cache::edge_range): Same.
21655         (ranger_cache::range_of_expr): Same.
21656         (ranger_cache::range_on_edge): Same.
21657         (ranger_cache::block_range): Same.
21658         (ranger_cache::propagate_cache): Same.
21659         (ranger_cache::fill_block_cache): Same.
21660         (ranger_cache::range_from_dom): Same.
21661         * gimple-range-cache.h: Same.
21662         * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
21663         Same.
21664         (gimple_outgoing_range::switch_edge_range): Same.
21665         (gimple_outgoing_range::edge_range_p): Same.
21666         * gimple-range-edge.h: Same.
21667         * gimple-range-fold.cc (fur_source::get_operand): Same.
21668         (fur_source::get_phi_operand): Same.
21669         (fur_edge::get_operand): Same.
21670         (fur_edge::get_phi_operand): Same.
21671         (fur_stmt::get_operand): Same.
21672         (fur_stmt::get_phi_operand): Same.
21673         (fur_list::fur_list): Same.
21674         (fur_list::get_operand): Same.
21675         (fur_list::get_phi_operand): Same.
21676         (fold_range): Same.
21677         (adjust_imagpart_expr): Same.
21678         (adjust_realpart_expr): Same.
21679         (gimple_range_adjustment): Same.
21680         (fold_using_range::fold_stmt): Same.
21681         (fold_using_range::range_of_range_op): Same.
21682         (fold_using_range::range_of_address): Same.
21683         (fold_using_range::range_of_phi): Same.
21684         (fold_using_range::range_of_call): Same.
21685         (fold_using_range::range_of_builtin_call): Same.
21686         (fold_using_range::range_of_builtin_int_call): Same.
21687         (fold_using_range::range_of_cond_expr): Same.
21688         (fur_source::register_outgoing_edges): Same.
21689         * gimple-range-fold.h (fold_range): Same.
21690         (gimple_range_type): Same.
21691         (gimple_range_ssa_p): Same.
21692         * gimple-range-gori.cc (gimple_range_calc_op1): Same.
21693         (gimple_range_calc_op2): Same.
21694         (gori_compute::compute_operand_range_switch): Same.
21695         (gori_compute::compute_operand_range): Same.
21696         (gori_compute::logical_combine): Same.
21697         (gori_compute::compute_logical_operands): Same.
21698         (gori_compute::compute_operand1_range): Same.
21699         (gori_compute::compute_operand2_range): Same.
21700         (gori_compute::compute_operand1_and_operand2_range): Same.
21701         (gori_compute::outgoing_edge_range_p): Same.
21702         (gori_compute::condexpr_adjust): Same.
21703         * gimple-range-gori.h (gimple_range_calc_op1): Same.
21704         (gimple_range_calc_op2): Same.
21705         * gimple-range-path.cc (path_range_query::get_cache): Same.
21706         (path_range_query::set_cache): Same.
21707         (path_range_query::range_on_path_entry): Same.
21708         (path_range_query::internal_range_of_expr): Same.
21709         (path_range_query::range_of_expr): Same.
21710         (path_range_query::ssa_range_in_phi): Same.
21711         (path_range_query::range_defined_in_block): Same.
21712         (path_range_query::compute_ranges_in_phis): Same.
21713         (path_range_query::compute_ranges_in_block): Same.
21714         (path_range_query::add_to_imports): Same.
21715         (path_range_query::range_of_stmt): Same.
21716         * gimple-range-path.h: Same.
21717         * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
21718         (gimple_infer_range::~side_effect_manager): Same.
21719         (gimple_infer_range::get_nonzero): Same.
21720         (gimple_infer_range::maybe_adjust_range): Same.
21721         (gimple_infer_range::add_range): Same.
21722         * gimple-range-infer.h: Same.
21723         * gimple-range-tests.cc: Same.
21724         * gimple-range-trace.cc (range_tracer::trailer): Same.
21725         (debug_seed_ranger): Same.
21726         * gimple-range-trace.h: Same.
21727         * gimple-range.cc (gimple_ranger::range_of_expr): Same.
21728         (gimple_ranger::range_on_entry): Same.
21729         (gimple_ranger::range_on_exit): Same.
21730         (gimple_ranger::range_on_edge): Same.
21731         (gimple_ranger::fold_range_internal): Same.
21732         (gimple_ranger::range_of_stmt): Same.
21733         (gimple_ranger::prefill_name): Same.
21734         (gimple_ranger::prefill_stmt_dependencies): Same.
21735         (gimple_ranger::export_global_ranges): Same.
21736         (gimple_ranger::dump_bb): Same.
21737         * gimple-range.h: Same.
21738         * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
21739         (memmodel_to_uhwi): Same.
21740         * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
21741         (determine_value_range): Same.
21742         (record_nonwrapping_iv): Same.
21743         (infer_loop_bounds_from_signedness): Same.
21744         (scev_var_range_cant_overflow): Same.
21745         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
21746         * value-query.cc (range_query::range_on_edge): Same.
21747         (range_query::range_of_stmt): Same.
21748         (range_query::value_of_expr): Same.
21749         (range_query::value_on_edge): Same.
21750         (range_query::value_of_stmt): Same.
21751         (range_query::get_tree_range): Same.
21752         (update_global_range): Same.
21753         (get_range_global): Same.
21754         (gimple_range_global): Same.
21755         (global_range_query::range_of_expr): Same.
21756         (range_query::query_relation): Same.
21757         * value-query.h (gimple_range_global): Same.
21758         (update_global_range): Same.
21759         * vr-values.cc (vr_values::range_of_expr): Same.
21760         (bounds_of_var_in_loop): Same.
21761         (simplify_using_ranges::vrp_visit_cond_stmt): Same.
21762         * vr-values.h (class vr_values): Same.
21763         * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
21765 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
21767         * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
21768         vrange allocator.
21769         (sbr_vector::grow): Same.
21770         (sbr_vector::set_bb_range): Same.
21771         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
21772         (sbr_sparse_bitmap::set_bb_range): Same.
21773         (block_range_cache::~block_range_cache): Same.
21774         (block_range_cache::set_bb_range): Same.
21775         (ssa_global_cache::ssa_global_cache): Same.
21776         (ssa_global_cache::~ssa_global_cache): Same.
21777         (ssa_global_cache::set_global_range): Same.
21778         * gimple-range-cache.h (block_range_cache): Same.
21779         (ssa_global_cache): Same.
21780         * gimple-range-edge.cc
21781         (gimple_outgoing_range::calc_switch_ranges): Same.
21782         * gimple-range-edge.h (gimple_outgoing_range): Same.
21783         * gimple-range-infer.cc (infer_range_manager::get_nonzero):
21784         Same.
21785         (infer_range_manager::add_range): Same.
21786         * gimple-range-infer.h (class infer_range_manager): Same.
21787         * value-range.h (class irange_allocator): Rename to...
21788         (class vrange_allocator): ...this.
21789         (irange_allocator::irange_allocator): New.
21790         (vrange_allocator::vrange_allocator): New.
21791         (irange_allocator::~irange_allocator): New.
21792         (vrange_allocator::~vrange_allocator): New.
21793         (irange_allocator::get_memory): Rename to...
21794         (vrange_allocator::alloc): ...this.
21795         (vrange_allocator::alloc_vrange): Rename from...
21796         (irange_allocator::allocate): ...this.
21797         (vrange_allocator::alloc_irange): New.
21799 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
21801         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
21802         vrange and convert range_op_handler function calls to use the
21803         identically named object.
21804         * gimple-range-fold.cc (gimple_range_operand1): Same.
21805         (gimple_range_operand2): Same.
21806         (fold_using_range::fold_stmt): Same.
21807         (fold_using_range::range_of_range_op): Same.
21808         (fold_using_range::range_of_builtin_ubsan_call): Same.
21809         (fold_using_range::relation_fold_and_or): Same.
21810         (fur_source::register_outgoing_edges): Same.
21811         * gimple-range-fold.h (gimple_range_handler): Remove.
21812         * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
21813         (gimple_range_calc_op2): Same.
21814         (range_def_chain::get_def_chain): Same.
21815         (gori_compute::compute_operand_range): Same.
21816         (gori_compute::condexpr_adjust): Same.
21817         * gimple-range.cc (gimple_ranger::prefill_name): Same.
21818         (gimple_ranger::prefill_stmt_dependencies): Same.
21819         * range-op.cc (get_bool_state): Same.
21820         (class operator_equal): Add using clause.
21821         (class operator_not_equal): Same.
21822         (class operator_lt): Same.
21823         (class operator_le): Same.
21824         (class operator_gt): Same.
21825         (class operator_ge): Same.
21826         (class operator_plus): Same.
21827         (class operator_minus): Same.
21828         (class operator_mult): Same.
21829         (class operator_exact_divide): Same.
21830         (class operator_lshift): Same.
21831         (class operator_rshift): Same.
21832         (class operator_cast): Same.
21833         (class operator_logical_and): Same.
21834         (class operator_bitwise_and): Same.
21835         (class operator_logical_or): Same.
21836         (class operator_bitwise_or): Same.
21837         (class operator_bitwise_xor): Same.
21838         (class operator_trunc_mod): Same.
21839         (class operator_logical_not): Same.
21840         (class operator_bitwise_not): Same.
21841         (class operator_cst): Same.
21842         (class operator_identity): Same.
21843         (class operator_unknown): Same.
21844         (class operator_abs): Same.
21845         (class operator_negate): Same.
21846         (class operator_addr_expr): Same.
21847         (class pointer_or_operator): Same.
21848         (operator_plus::op1_range): Adjust for vrange.
21849         (operator_minus::op1_range): Same.
21850         (operator_mult::op1_range): Same.
21851         (operator_cast::op1_range): Same.
21852         (operator_bitwise_not::fold_range): Same.
21853         (operator_negate::fold_range): Same.
21854         (range_op_handler): Rename to...
21855         (get_handler): ...this.
21856         (range_op_handler::range_op_handler): New.
21857         (range_op_handler::fold_range): New.
21858         (range_op_handler::op1_range): New.
21859         (range_op_handler::op2_range): New.
21860         (range_op_handler::lhs_op1_relation): New.
21861         (range_op_handler::lhs_op2_relation): New.
21862         (range_op_handler::op1_op2_relation): New.
21863         (range_cast): Adjust for vrange.
21864         * range-op.h (range_op_handler): Remove function.
21865         (range_cast): Adjust for vrange.
21866         (class range_op_handler): New.
21867         (get_bool_state): Adjust for vrange.
21868         (empty_range_varying): Same.
21869         (relop_early_resolve): Same.
21870         * tree-data-ref.cc (compute_distributive_range): Same.
21871         * tree-vrp.cc (get_range_op_handler): Remove.
21872         (range_fold_binary_symbolics_p): Use range_op_handler class
21873         instead of get_range_op_handler.
21874         (range_fold_unary_symbolics_p): Same.
21875         (range_fold_binary_expr): Same.
21876         (range_fold_unary_expr): Same.
21877         * value-query.cc (range_query::get_tree_range): Adjust for vrange.
21879 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
21881         * gimple-range-fold.h (gimple_range_type): Check type before
21882         calling supports_type_p.
21883         * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
21884         * value-query.cc (range_query::get_tree_range): Same.
21885         * value-range.cc (Value_Range::lower_bound): New.
21886         (Value_Range::upper_bound): New.
21887         (Value_Range::dump): New.
21888         * value-range.h (class Value_Range): New.
21889         (irange::supports_type_p): Do not check if type is non-zero.
21891 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
21893         * value-range-equiv.cc (value_range_equiv::set): New.
21894         * value-range-equiv.h (class value_range_equiv): Make set method
21895         virtual.
21896         Remove default bitmap argument from set method.
21897         * value-range.cc (vrange::contains_p): New.
21898         (vrange::singleton_p): New.
21899         (vrange::operator=): New.
21900         (vrange::operator==): New.
21901         (irange::fits_p): Move to .cc file.
21902         (irange::set_nonnegative): New.
21903         (unsupported_range::unsupported_range): New.
21904         (unsupported_range::set): New.
21905         (unsupported_range::type): New.
21906         (unsupported_range::set_undefined): New.
21907         (unsupported_range::set_varying): New.
21908         (unsupported_range::dump): New.
21909         (unsupported_range::union_): New.
21910         (unsupported_range::intersect): New.
21911         (unsupported_range::zero_p): New.
21912         (unsupported_range::nonzero_p): New.
21913         (unsupported_range::set_nonzero): New.
21914         (unsupported_range::set_zero): New.
21915         (unsupported_range::set_nonnegative): New.
21916         (unsupported_range::fits_p): New.
21917         (irange::set): Call irange::set_undefined.
21918         (irange::verify_range): Check discriminator field.
21919         (irange::dump): Dump [irange] marker.
21920         (irange::debug): Move to...
21921         (vrange::debug): ...here.
21922         (dump_value_range): Accept vrange.
21923         (debug): Same.
21924         * value-range.h (enum value_range_discriminator): New.
21925         (class vrange): New.
21926         (class unsupported_range): New.
21927         (struct vrange_traits): New.
21928         (is_a): New.
21929         (as_a): New.
21930         (class irange): Inherit from vrange.
21931         (dump_value_range): Adjust for vrange.
21932         (irange::kind): Rename to...
21933         (vrange::kind): ...this.
21934         (irange::varying_p): Rename to...
21935         (vrange::varying_p): ...this.
21936         (irange::undefined_p): Rename to...
21937         (vrange::undefined_p): ...this.
21938         (irange::irange): Set discriminator.
21939         (irange::union_): Convert to irange before passing to irange
21940         method.
21941         (irange::intersect): Same.
21942         (vrange::supports_type_p): New.
21943         * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
21944         NULL bitmap argument to value_range_equiv::set.
21945         (vr_values::extract_range_basic): Same.
21947 2022-06-01  Richard Biener  <rguenther@suse.de>
21949         PR tree-optimization/105763
21950         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
21951         Check gimple_range_ssa_p.
21953 2022-05-31  Jason Merrill  <jason@redhat.com>
21955         * Makefile.in (TAGS): Look at libcpp/*.cc.
21957 2022-05-31  Christophe Lyon  <christophe.lyon@arm.com>
21959         * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
21960         Prefix mode names with E_.
21962 2022-05-31  Alan Modra  <amodra@gmail.com>
21964         * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
21965         spelling of DW_AT_namelist_item.
21967 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
21969         * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
21970         allow var to be private in the outer context.
21971         (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
21972         to build_outer_var_ref.
21974 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
21976         * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
21977         tieable with DImode on TARGET_64BIT, and SCmode tieable with
21978         V2SFmode, and DCmode with V2DFmode.
21980 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
21982         PR rtl-optimization/101617
21983         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
21984         special case (indicated by negate_cc_compare_p) to generate a
21985         -1/0 mask using neg;sbb.
21986         * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
21987         to generate an *x86_neg<mode>_ccc instruction.
21988         (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
21989         generate a *x86_mov<mode>cc_0_m1_neg instruction.
21991 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
21993         * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
21994         SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
21995         <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
21997 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
21999         PR target/70321
22000         * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
22001         DI mode equality/inequality using XOR here.  Instead generate a
22002         COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
22003         * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
22004         gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
22005         (general_scalar_chain::convert_compare): New function to convert
22006         scalar equality/inequality comparison into vector operations.
22007         (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
22008         new convert_compare helper method.
22009         (convertible_comparion_p): Update to match doubleword COMPARE
22010         of two register, memory or integer constant operands.
22011         * config/i386/i386-features.h (general_scalar_chain::convert_compare):
22012         Prototype/declare member function here.
22013         * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
22014         only allow new doubleword modes for EQ and NE operators.
22015         (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
22016         doubleword comparison into a pair of XORs followed by an IOR to
22017         set the (zero) flags register, optimizing the XORs if possible.
22018         * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
22019         iterator; V_AVX is (currently) only used by ptest.
22020         (sse4_1 mode attribute): Update to support V1TI and V2TI.
22022 2022-05-30  Uroš Bizjak  <ubizjak@gmail.com>
22024         * config/i386/i386.md: Remove constraints when used with
22025         const_int_operand, const0_operand, const_1_operand, constm1_operand,
22026         const8_operand, const128_operand, const248_operand, const123_operand,
22027         const2367_operand, const1248_operand, const359_operand,
22028         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
22029         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
22030         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
22031         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
22032         const_0_to_255_mul_8_operand, const_1_to_31_operand,
22033         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
22034         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
22035         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
22036         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
22037         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
22038         const_24_to_27_operand and const_28_to_31_operand.
22039         * config/i386/mmx.md: Ditto.
22040         * config/i386/sse.md: Ditto.
22041         * config/i386/subst.md: Ditto.
22042         * config/i386/sync.md: Ditto.
22044 2022-05-30  Jan Beulich  <jbeulich@suse.com>
22046         * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
22047         arguments.
22049 2022-05-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
22051         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
22053 2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
22055         PR target/105599
22056         * config/darwin.h: Move versions-specific handling of multiply_defined
22057         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
22059 2022-05-29  Eric Gallager  <egallager@gcc.gnu.org>
22061         PR other/82383
22062         * doc/sourcebuild.texi: Add entries for the c++tools,
22063         gotools, libbacktrace, libcc1, libcody, liboffloadmic,
22064         and libsanitizer directories. Remove entry for boehm-gc.
22065         Fix alphabetization for libquadmath.
22067 2022-05-28  Joel Holdsworth  <jholdsworth@nvidia.com>
22069         * config/avr/avr-mcus.def: Add device definitions.
22070         * doc/avr-mmcu.texi: Corresponding changes.
22071         * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
22072         device prefix.
22073         * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
22074         from leaking into cc1.
22076 2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
22078         PR target/103722
22079         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
22080         is special) for various scenarios.
22082 2022-05-28  Iain Sandoe  <iain@sandoe.co.uk>
22084         * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
22085         describing this macro.
22087 2022-05-27  Richard Biener  <rguenther@suse.de>
22089         * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
22091 2022-05-27  Martin Jambor  <mjambor@suse.cz>
22093         PR ipa/105639
22094         * ipa-prop.cc (propagate_controlled_uses): Check type of the
22095         constant before adding a LOAD reference.
22097 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
22099         * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
22100         to OMP_CLAUSE_ENTER.
22101         * tree.h (OMP_CLAUSE_ENTER_TO): Define.
22102         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
22103         OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
22104         * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
22105         instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
22106         "to" instead of "enter".
22107         * tree-nested.cc (convert_nonlocal_omp_clauses,
22108         convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
22109         OMP_CLAUSE_TO_DECLARE.
22111 2022-05-27  Richard Biener  <rguenther@suse.de>
22113         PR tree-optimization/105726
22114         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
22115         Constrain array-of-flexarray case more.
22117 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
22119         PR sanitizer/105729
22120         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
22121         to (X &) z + w if -fsanitize=null during GENERIC folding.
22123 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
22125         * match.pd (match_zero_one_valued_p): New predicate.
22126         (mult @0 @1): Use zero_one_valued_p for optimization to the
22127         expression "bit_and @0 @1".
22128         (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
22129         (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
22130         (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
22131         (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
22132         Remove three redundant transforms obsoleted by the three above.
22134 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
22136         * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
22137         to split a combined "and;cmp" sequence into "not;test".
22139 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22141         * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
22142         (bswapsi2_internal): Revise the template and condition, and add
22143         detection code for preceding the same insn in order to omit a
22144         "SSAI 8" instruction of the latter.
22145         (bswapdi2): Suppress built-in insn expansion with the corresponding
22146         library call when optimizing for size.
22148 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22150         * config/xtensa/xtensa-protos.h
22151         (xtensa_expand_block_set_unrolled_loop,
22152         xtensa_expand_block_set_small_loop): New prototypes.
22153         * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
22154         xtensa_expand_block_set_unrolled_loop,
22155         xtensa_expand_block_set_small_loop): New functions.
22156         * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
22157         * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
22159 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22161         * config/xtensa/xtensa.cc (xtensa_expand_block_move):
22162         Make instruction counting more accurate, and simplify emitting insns.
22164 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22166         * config/xtensa/constraints.md (M, O): Use the macro.
22167         * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
22168         sext_fldsz_operand): Ditto.
22169         * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
22170         xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
22171         xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
22172         xtensa_expand_prologue): Ditto.
22173         * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
22175 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22177         * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
22178         * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
22179         Ditto.
22181 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
22183         * gimple-range-cache.cc: Adjust comments.
22184         * gimple-range-infer.cc: Adjust comments.
22185         * gimple-range-infer.h: Adjust comments.
22186         * gimple-range.cc: Adjust comments.
22188 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
22190         * Makefile.in (OBJS): Use gimple-range-infer.o.
22191         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
22192         (ranger_cache::range_from_dom): Rename var side_effect to infer.
22193         (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
22194         * gimple-range-cache.h: Include gimple-range-infer.h.
22195         (class ranger_cache): Adjust prototypes, use infer_range_manager.
22196         * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
22197         (gimple_infer_range::*): Rename from stmt_side_effects.
22198         (infer_range_manager::*): Rename from side_effect_manager.
22199         * gimple-range-side-effect.cc: Rename.
22200         * gimple-range-side-effect.h: Rename.
22201         * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
22202         (class gimple_infer_range): Rename from stmt_side_effects.
22203         (class infer_range_manager): Rename from side_effect_manager.
22204         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
22205         from register_side_effects.
22206         * gimple-range.h (register_inferred_ranges): Adjust prototype.
22207         * range-op.h: Adjust comment.
22208         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
22209         (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
22211 2022-05-25  Simon Cook  <simon.cook@embecosm.com>
22213         * config/riscv/arch-canonicalize: Only add mafd extension if
22214         base was rv32/rv64g.
22216 2022-05-25  Tobias Burnus  <tobias@codesourcery.com>
22218         * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
22220 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
22222         PR sanitizer/105714
22223         * asan.cc (has_stmt_been_instrumented_p): For assignments which
22224         are both stores and loads, return true only if both destination
22225         and source have been instrumented.
22227 2022-05-25  Martin Liska  <mliska@suse.cz>
22228             Richard Biener   <rguenther@suse.de>
22230         * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
22231         * params.opt (max-unswitch-level): Remove.
22232         * doc/invoke.texi (max-unswitch-level): Likewise.
22233         * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
22234         gimplified expressions.
22235         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
22236         (tree_may_unswitch_on): Rename to ...
22237         (find_unswitching_predicates_for_bb): ... this and handle
22238         switch statements.
22239         (get_predicates_for_bb): Likewise.
22240         (set_predicates_for_bb): Likewise.
22241         (init_loop_unswitch_info): Likewise.
22242         (tree_ssa_unswitch_loops): Prepare stuff before calling
22243         tree_unswitch_single_loop.
22244         (tree_unswitch_single_loop): Rework the function using
22245         pre-computed predicates and with a per original loop cost model.
22246         (merge_last): New.
22247         (add_predicate_to_path): Likewise.
22248         (find_range_for_lhs): Likewise.
22249         (simplify_using_entry_checks): Rename to ...
22250         (evaluate_control_stmt_using_entry_checks): ... this, handle
22251         switch statements and improve simplifications using ranger.
22252         (simplify_loop_version): Rework using
22253         evaluate_control_stmt_using_entry_checks.
22254         (evaluate_bbs): New.
22255         (evaluate_loop_insns_for_predicate): Likewise.
22256         (tree_unswitch_loop): Adjust to allow switch statements and
22257         pass in the edge to unswitch.
22258         (clean_up_after_unswitching): New.
22259         (pass_tree_unswitch::execute): Pass down fun.
22261 2022-05-24  Eugene Rozenfeld  <erozen@microsoft.com>
22263         * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
22264         counts for the epilog loop.
22266 2022-05-24  Martin Sebor  <msebor@redhat.com>
22267             Richard Biener  <rguenther@suse.de>
22269         PR middle-end/105604
22270         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
22271         (get_origin_and_offset_r): Remove null handling.  Handle variable array
22272         sizes.
22273         (get_origin_and_offset): Handle null argument here.  Simplify.
22274         (alias_offset): Update comment.
22275         * pointer-query.cc (field_at_offset): Update comment.  Handle members
22276         of variable-length types.
22278 2022-05-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
22280         * target.def (vec_perm_const): Define new parameter op_mode and
22281         update doc.
22282         * doc/tm.texi: Regenerate.
22283         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
22284         vec_perm_const hook to add new parameter op_mode and return false
22285         if result and operand modes do not match.
22286         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
22287         * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
22288         * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
22289         * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
22290         * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
22291         * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
22292         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
22293         * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
22294         * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
22295         prototype.
22296         * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
22297         (ashrv2di3): Likewise.
22298         * optabs.cc (expand_vec_perm_const): Likewise.
22299         * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
22300         * optabs-query.cc (can_vec_perm_const_p): Define new parameter
22301         op_mode and pass it to vec_perm_const hook.
22302         (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
22303         * match.pd (vec_perm X Y CST): Likewise.
22304         * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
22305         * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
22306         (vect_grouped_load_supported): Likewise.
22307         (vect_shift_permute_load_chain): Likewise.
22308         * tree-vect-generic.cc (lower_vec_perm): Likewise.
22309         * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
22310         * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
22311         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
22312         * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
22313         (vect_transform_slp_perm_load): Likewise.
22314         (vectorizable_slp_permutation): Likewise.
22315         * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
22316         (vectorizable_bswap): Likewise.
22317         (scan_store_can_perm_p): Likewise.
22318         (vect_gen_perm_mask_checked): Likewise.
22320 2022-05-24  H.J. Lu  <hjl.tools@gmail.com>
22322         PR target/104816
22323         * config/i386/i386.opt: Remove Undocumented.
22324         * doc/invoke.texi: Document -mcet-switch.
22326 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
22328         * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
22329         * config/gcn/gcn-opts.h (enum gcn_isa): New.
22330         (TARGET_GCN3): Use enum gcn_isa.
22331         (TARGET_GCN3_PLUS): Likewise.
22332         (TARGET_GCN5): Likewise.
22333         (TARGET_GCN5_PLUS): Likewise.
22334         (TARGET_CDNA1): New.
22335         (TARGET_CDNA1_PLUS): New.
22336         (TARGET_CDNA2): New.
22337         (TARGET_CDNA2_PLUS): New.
22338         (TARGET_M0_LDS_LIMIT): New.
22339         (TARGET_PACKED_WORK_ITEMS): New.
22340         * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
22341         (gcn_option_override): Recognise CDNA ISA variants.
22342         (gcn_omp_device_kind_arch_isa): Support gfx90a.
22343         (gcn_expand_prologue): Make m0 init optional.
22344         Add support for packed work items.
22345         (output_file_start): Support gfx90a.
22346         (gcn_hsa_declare_function_name): Support gfx90a metadata.
22347         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
22348         __CDNA2__.
22349         * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
22350         (<su>mulsi3_highpart_imm): Likewise.
22351         (<su>mulsidi3): Likewise.
22352         (<su>mulsidi3_imm): Likewise.
22353         * config/gcn/gcn.opt (gpu_type): Add gfx90a.
22354         * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
22355         (main): Support gfx90a.
22356         * config/gcn/t-gcn-hsa: Add gfx90a multilib.
22357         * config/gcn/t-omp-device: Add gfx90a isa.
22359 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
22361         * config.in: Regenerate.
22362         * config/gcn/gcn-hsa.h (X_FIJI): Delete.
22363         (X_900): Delete.
22364         (X_906): Delete.
22365         (X_908): Delete.
22366         (S_FIJI): Delete.
22367         (S_900): Delete.
22368         (S_906): Delete.
22369         (S_908): Delete.
22370         (NO_XNACK): New macro.
22371         (NO_SRAM_ECC): New macro.
22372         (SRAMOPT): Keep only v4 variant.
22373         (HSACO3_SELECT_OPT): Delete.
22374         (DRIVER_SELF_SPECS): Delete.
22375         (ASM_SPEC): Remove LLVM 9 support.
22376         * config/gcn/gcn-valu.md
22377         (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
22378         (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
22379         * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
22380         (print_operand_address): Remove assembler bug workaround.
22381         * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
22382         (EF_AMDGPU_SRAM_ECC_V3): Delete.
22383         (SET_XNACK_ON): Delete v3 variants.
22384         (SET_XNACK_OFF): Delete v3 variants.
22385         (TEST_XNACK): Delete v3 variants.
22386         (SET_SRAM_ECC_ON): Delete v3 variants.
22387         (SET_SRAM_ECC_ANY): Delete v3 variants.
22388         (SET_SRAM_ECC_OFF): Delete v3 variants.
22389         (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
22390         (TEST_SRAM_ECC_ANY): Delete v3 variants.
22391         (TEST_SRAM_ECC_ON): Delete v3 variants.
22392         (copy_early_debug_info): Remove v3 support.
22393         (main): Remove v3 support.
22394         * configure: Regenerate.
22395         * configure.ac: Replace all GCN feature checks with a version check.
22397 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
22399         * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
22400         i.e. a double word negation of a zero extended operand, to
22401         neg;sbb.
22403 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
22405         PR tree-optimization/105668
22406         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
22407         V1TImode, just like V2DImode.
22408         * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
22409         Use VI_128 mode iterator instead of VI124_128 to include V2DI.
22410         (vcond_mask_v2div2di): Delete.
22411         (vcond_mask_v1tiv1ti): New define_expand.
22413 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
22415         * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
22416         to strncmp for strings of length one.
22418 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
22420         * config/riscv/predicates.md (imm5_operand): Add a new operand type for
22421         prefetch instructions.
22422         * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
22423         Extensions.
22424         (RISCV_ATYPE_SI): New.
22425         (RISCV_ATYPE_DI): New.
22426         * config/riscv/riscv-ftypes.def (0): New.
22427         (1): New.
22428         * config/riscv/riscv.md (riscv_clean_<mode>): New.
22429         (riscv_flush_<mode>): New.
22430         (riscv_inval_<mode>): New.
22431         (riscv_zero_<mode>): New.
22432         (prefetch): New.
22433         (riscv_prefetchi_<mode>): New.
22434         * config/riscv/riscv-cmo.def: New file.
22436 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
22438         * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
22439         * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
22440         (MASK_ZICBOM): New.
22441         (MASK_ZICBOP): New.
22442         (TARGET_ZICBOZ): New.
22443         (TARGET_ZICBOM): New.
22444         (TARGET_ZICBOP): New.
22445         * config/riscv/riscv.opt (riscv_zicmo_subext): New.
22447 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
22449         * tree-vect-slp-patterns.cc: Add "final" and "override" to
22450         vect_pattern::build impls as appropriate.
22452 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
22454         * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
22455         implementations, removing redundant "virtual" as appropriate.
22456         * ipa-fnsummary.h: Likewise.
22457         * ipa-modref.cc: Likewise.
22458         * ipa-param-manipulation.cc: Likewise.
22459         * ipa-profile.cc: Likewise.
22460         * ipa-prop.h: Likewise.
22461         * ipa-pure-const.cc: Likewise.
22462         * ipa-reference.cc: Likewise.
22463         * ipa-sra.cc: Likewise.
22464         * symbol-summary.h: Likewise.
22465         * symtab-thunks.cc: Likewise.
22467 2022-05-24  Martin Liska  <mliska@suse.cz>
22469         Revert:
22470         2022-05-24  Martin Liska  <mliska@suse.cz>
22472         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
22473         warning.
22475 2022-05-24  Martin Liska  <mliska@suse.cz>
22477         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
22478         warning.
22480 2022-05-24  Bruno Haible  <bruno@clisp.org>
22482         PR other/105527
22483         * doc/install.texi (Configuration): Add more details about --with-zstd.
22484         Document --with-zstd-include and --with-zstd-lib
22486 2022-05-24  Richard Biener  <rguenther@suse.de>
22488         PR middle-end/105711
22489         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
22490         and use it.
22491         (extract_bit_field_1): Pass down the mode of op0 to
22492         extract_bit_field_as_subreg.
22494 2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
22496         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
22497         fmv_cost.
22498         (rocket_tune_info): Add default fmv_cost 8.
22499         (sifive_7_tune_info): Ditto.
22500         (thead_c906_tune_info): Ditto.
22501         (optimize_size_tune_info): Ditto.
22502         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
22504 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
22506         PR c/105378
22507         * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
22508         builtin.
22509         * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
22510         clause but no depend clauses.
22511         * omp-expand.cc (expand_taskwait_call): Use
22512         BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
22513         BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
22515 2022-05-24  Richard Biener  <rguenther@suse.de>
22517         PR tree-optimization/100221
22518         * tree-ssa-dse.cc (contains_phi_arg): New function.
22519         (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
22521 2022-05-24  Richard Biener  <rguenther@suse.de>
22523         PR tree-optimization/105629
22524         * tree-ssa-phiopt.cc (spaceship_replacement): Allow
22525         a sign-extending conversion.
22527 2022-05-24  Kewen Lin  <linkw@linux.ibm.com>
22529         PR target/105627
22530         * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
22531         be a debug insn.
22532         (union_uses): Skip debug use_insn.
22534 2022-05-23  Vineet Gupta  <vineetg@rivosinc.com>
22536         * config/riscv/predicates.md (const_0_operand): Remove
22537         const_double.
22538         * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
22539         CONST_DOUBLE.
22540         * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
22542 2022-05-23  Mayshao  <mayshao-oc@zhaoxin.com>
22544         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
22545         the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
22546         (cpu_indicator_init): Handle Zhaoxin processors.
22547         * common/config/i386/i386-common.cc: Add lujiazui.
22548         * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
22549         VENDOR_ZHAOXIN.
22550         (enum processor_types): Add ZHAOXIN_FAM7H.
22551         (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
22552         * config.gcc: Add lujiazui.
22553         * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
22554         Signatures for zhaoxin
22555         (signature_SHANGHAI_ecx): Ditto.
22556         (signature_SHANGHAI_edx): Ditto.
22557         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
22558         -march=native recognize lujiazui processors.
22559         * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
22560         * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
22561         * config/i386/i386.h (enum processor_type): Ditto.
22562         * config/i386/i386.md: Add lujiazui.
22563         * config/i386/x86-tune-costs.h (struct processor_costs): Add
22564         lujiazui costs.
22565         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
22566         (ix86_adjust_cost): Ditto.
22567         * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
22568         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
22569         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
22570         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
22571         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
22572         (X86_TUNE_MOVX): Ditto.
22573         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
22574         (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
22575         (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
22576         (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
22577         (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
22578         (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
22579         (X86_TUNE_USE_LEAVE): Ditto.
22580         (X86_TUNE_PUSH_MEMORY): Ditto.
22581         (X86_TUNE_LCP_STALL): Ditto.
22582         (X86_TUNE_USE_INCDEC): Ditto.
22583         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
22584         (X86_TUNE_OPT_AGU): Ditto.
22585         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
22586         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
22587         (X86_TUNE_USE_SAHF): Ditto.
22588         (X86_TUNE_USE_BT): Ditto.
22589         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
22590         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
22591         (X86_TUNE_AVOID_MFENCE): Ditto.
22592         (X86_TUNE_EXPAND_ABS): Ditto.
22593         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
22594         (X86_TUNE_USE_FFREEP): Ditto.
22595         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
22596         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
22597         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
22598         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
22599         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
22600         * doc/extend.texi: Add details about lujiazui.
22601         * doc/invoke.texi: Add details about lujiazui.
22602         * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
22604 2022-05-23  Martin Liska  <mliska@suse.cz>
22606         * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
22608 2022-05-23  Richard Biener  <rguenther@suse.de>
22610         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
22611         (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
22613 2022-05-23  Richard Biener  <rguenther@suse.de>
22615         * gimple-expr.cc (is_gimple_condexpr): Remove.
22616         * gimple-expr.h (is_gimple_condexpr): Likewise.
22617         * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
22618         * tree-if-conv.cc (set_bb_predicate): Likewie.
22619         (add_to_predicate_list): Likewise.
22620         (gen_phi_arg_condition): Likewise.
22621         (predicate_scalar_phi): Likewise.
22622         (predicate_statements): Likewise.
22624 2022-05-23  Richard Biener  <rguenther@suse.de>
22626         * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
22627         * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
22628         as is_gimple_val.
22629         * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
22630         * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
22631         * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
22632         Build the condition of the COND_EXPR separately.
22633         * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
22634         * tree-vect-generic.cc (expand_vector_condition): Likewise.
22635         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
22636         Likewise.
22637         * vr-values.cc (simplify_using_ranges::simplify): Likewise.
22638         * tree-vect-patterns.cc: Add comment indicating we are
22639         building invalid COND_EXPRs and why.
22640         * omp-expand.cc (expand_omp_simd): Gimplify the condition
22641         to the COND_EXPR separately.
22642         (expand_omp_atomic_cas): Note part that should be unreachable
22643         now.
22644         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
22645         condition for valid replacements.
22646         * tree-if-conv.cc (predicate_bbs): Simulate previous
22647         re-folding of the condition in folded COND_EXPRs which
22648         is necessary because of unfolded GIMPLE_CONDs in the IL
22649         as in for example gcc.dg/fold-bopcond-1.c.
22650         * gimple-range-gori.cc (gori_compute::condexpr_adjust):
22651         Handle that the comparison is now in the def stmt of
22652         the select operand.  Required by gcc.dg/pr104526.c.
22654 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
22656         PR fortran/104949
22657         * langhooks-def.h (lhd_omp_array_size): New.
22658         (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
22659         (LANG_HOOKS_DECLS): Add it.
22660         * langhooks.cc (lhd_omp_array_size): New.
22661         * langhooks.h (struct lang_hooks_for_decls): Add hook.
22662         * omp-low.cc (scan_sharing_clauses, lower_omp_target):
22663         Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
22665 2022-05-23  Roger Sayle  <roger@nextmovesoftware.com>
22667         * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
22668         XOR/IOR case.  Account for two instructions for double-word
22669         operations.  In case of vector pandn, account for single
22670         instruction.  Likewise for integer andn with TARGET_BMI.
22671         <case NOT>: Vector NOT requires more than 1 instruction (pxor).
22672         <case NEG>: Double-word negation requires 3 instructions.
22674 2022-05-23  Tsukasa OI  <research_trasio@irq.a4lg.com>
22676         * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
22677         Fix "K" extension prefix to be placed before "J".
22678         * config/riscv/arch-canonicalize: Likewise.
22680 2022-05-23  liuhongt  <hongtao.liu@intel.com>
22682         * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
22683         <-> mask cost from 5 to 6.
22684         (icelake_cost): Ditto.
22686 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
22688         * config/aarch64/aarch64.md
22689         (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
22690         (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
22691         (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
22692         (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
22693         (one_cmpl_<optab><mode>2): Likewise.
22694         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
22695         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
22696         (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
22697         (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
22698         (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
22699         (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
22700         (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
22701         (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
22702         (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
22703         (rolsi3_insn_uxtw): New pattern.
22704         * config/aarch64/iterators.md (SHIFT): Add rotate left.
22705         (SHIFT_no_rotate): Add new iterator.
22706         (SHIFT:shift): Print rotate left as ror.
22707         (is_rotl): Add test for left rotate.
22709 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
22711         * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
22712         processing.  Add support for architectural extensions.
22713         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
22714         AARCH64_CPU_DEFAULT_FLAGS.
22715         (TARGET_CPU_NBITS): Remove.
22716         (TARGET_CPU_MASK): Remove.
22717         * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
22718         (get_tune_cpu): Assert CPU is always valid.
22719         (get_arch): Assert architecture is always valid.
22720         (aarch64_override_options): Cleanup CPU selection code and simplify logic.
22721         (aarch64_option_restore): Remove unnecessary checks on tune.
22723 2022-05-20  David Malcolm  <dmalcolm@redhat.com>
22725         * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
22726         "FINAL" and "OVERRIDE" with "final" and "override".
22727         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
22728         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
22729         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
22730         * diagnostic-path.h: Likewise.
22731         * digraph.cc: Likewise.
22732         * gcc-rich-location.h: Likewise.
22733         * gimple-array-bounds.cc: Likewise.
22734         * gimple-loop-versioning.cc: Likewise.
22735         * gimple-range-cache.cc: Likewise.
22736         * gimple-range-cache.h: Likewise.
22737         * gimple-range-fold.cc: Likewise.
22738         * gimple-range-fold.h: Likewise.
22739         * gimple-range-tests.cc: Likewise.
22740         * gimple-range.h: Likewise.
22741         * gimple-ssa-evrp.cc: Likewise.
22742         * input.cc: Likewise.
22743         * json.h: Likewise.
22744         * read-rtl-function.cc: Likewise.
22745         * tree-complex.cc: Likewise.
22746         * tree-diagnostic-path.cc: Likewise.
22747         * tree-ssa-ccp.cc: Likewise.
22748         * tree-ssa-copy.cc: Likewise.
22749         * tree-vrp.cc: Likewise.
22750         * value-query.h: Likewise.
22751         * vr-values.h: Likewise.
22753 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
22755         * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
22756         target_memcpy_rect_async to omp_runtime_apis array.
22758 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
22760         * doc/sourcebuild.texi (Decimal floating point attributes): Document
22761         dfp_bid effective-target.
22763 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
22765         * config/aarch64/aarch64.cc
22766         (aarch64_split_128bit_move): Handle DFP modes.
22767         (aarch64_mode_valid_for_sched_fusion_p): Likewise.
22768         (aarch64_classify_address): Likewise.
22769         (aarch64_legitimize_address_displacement): Likewise.
22770         (aarch64_reinterpret_float_as_int): Likewise.
22771         (aarch64_float_const_zero_rtx_p): Likewise.
22772         (aarch64_can_const_movi_rtx_p): Likewise.
22773         (aarch64_anchor_offset): Likewise.
22774         (aarch64_secondary_reload): Likewise.
22775         (aarch64_rtx_costs): Likewise.
22776         (aarch64_legitimate_constant_p): Likewise.
22777         (aarch64_gimplify_va_arg_expr): Likewise.
22778         (aapcs_vfp_sub_candidate): Likewise.
22779         (aarch64_vfp_is_call_or_return_candidate): Likewise.
22780         (aarch64_output_scalar_simd_mov_immediate): Likewise.
22781         (aarch64_gen_adjusted_ldpstp): Likewise.
22782         (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
22783         * config/aarch64/aarch64.md
22784         (movsf_aarch64): Use SFD iterator and rename into
22785         mov<mode>_aarch64.
22786         (movdf_aarch64): Use DFD iterator and rename into
22787         mov<mode>_aarch64.
22788         (movtf_aarch64): Use TFD iterator and rename into
22789         mov<mode>_aarch64.
22790         (split pattern for move TF mode): Use TFD iterator.
22791         * config/aarch64/iterators.md
22792         (GPF_TF_F16_MOV): Add DFP modes.
22793         (SFD, DFD, TFD): New iterators.
22794         (GPF_TF): Add DFP modes.
22795         (TX, DX, DX2): Likewise.
22797 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
22799         * configure: Regenerate.
22801 2022-05-19  Roger Sayle  <roger@nextmovesoftware.com>
22803         PR middle-end/98865
22804         * expr.cc (expand_expr_real_2) [MULT_EXPR]:  Expand X*Y as X&Y
22805         when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
22806         likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
22808 2022-05-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
22810         * config/rs6000/rs6000-builtins.def: Rephrase
22811         to remove RS6000_BTC_SPECIAL from comment.
22812         * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
22813         RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
22814         RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
22815         RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
22816         RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
22817         RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
22818         RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
22819         RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
22820         RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
22821         RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
22822         RS6000_BTM_ALWAYS): Delete.
22824 2022-05-19  Richard Biener  <rguenther@suse.de>
22826         * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
22827         computation of the new value.
22829 2022-05-19  Richard Biener  <rguenther@suse.de>
22831         * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
22832         (add_to_value): Use get_expression_id.
22833         (bitmap_insert_into_set): Likewise.
22834         (bitmap_value_insert_into_set): Likewise.
22836 2022-05-19  David Malcolm  <dmalcolm@redhat.com>
22838         * doc/invoke.texi (-fanalyzer-checker=): Add
22839         -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
22840         the list of analyzer warnings disabled by
22841         -fanalyzer-checker=taint.
22843 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
22845         PR debug/105630
22846         * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
22847         global vars without symtab node even when they have DECL_RTL
22848         set.
22850 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
22852         PR c/105635
22853         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
22854         doesn't have pointer or reference type.
22856 2022-05-18  Marek Polacek  <polacek@redhat.com>
22858         PR c/105131
22859         * doc/invoke.texi: Document -Wenum-int-mismatch.
22861 2022-05-18  Uros Bizjak  <ubizjak@gmail.com>
22863         * config/i386/gnu-user-common.h (defined): Only define
22864         TARGET_CAN_SPLIT_STACK for glibc targets.
22865         * config/i386/gnu.h (defined): Ditto.
22867 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
22869         * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
22870         is wider than word_mode, a multiplication costs three word_mode
22871         multiplications and two word_mode additions.
22873 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
22875         * config/i386/i386.md (define_split):  Split *andsi_1
22876         and *andn_si_ccno after reload with -Oz.
22878 2022-05-18  Frederik Harwath  <frederik@codesourcery.com>
22880         * graphite-scop-detection.cc (scop_detection::can_represent_loop):
22881         Output reason for failure to dump file.
22882         (scop_detection::harmful_loop_in_region): Likewise.
22883         (scop_detection::graphite_can_represent_expr): Likewise.
22884         (scop_detection::stmt_has_simple_data_refs_p): Likewise.
22885         (scop_detection::stmt_simple_for_scop_p): Likewise.
22886         (print_sese_loop_numbers): New function.
22887         (scop_detection::add_scop): Use from here.
22889 2022-05-18  liuhongt  <hongtao.liu@intel.com>
22891         PR middle-end/103462
22892         * match.pd (bitwise_induction_p): New match.
22893         * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
22894         Declare.
22895         (analyze_and_compute_bitwise_induction_effect): New function.
22896         (enum bit_op_kind): New enum.
22897         (final_value_replacement_loop): Enhanced to handle bitwise
22898         induction.
22900 2022-05-18  Haochen Gui  <guihaoc@gcc.gnu.org>
22902         PR target/95737
22903         * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
22905 2022-05-18  liuhongt  <hongtao.liu@intel.com>
22907         PR target/104375
22908         * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
22909         define_insn.
22911 2022-05-18  liuhongt  <hongtao.liu@intel.com>
22913         PR target/104610
22914         * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
22915         for QImode when code is EQ or NE.
22916         * config/i386/i386.md (cbranchoi4): New expander.
22918 2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
22919             Segher Boessenkool  <segher@kernel.crashing.org>
22921         PR target/105556
22922         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
22923         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
22924         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
22925         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
22926         Update other operands accordingly.
22928 2022-05-17  Marek Polacek  <polacek@redhat.com>
22930         * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
22932 2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
22934         PR target/99685
22935         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
22936         register count when not splitting IEEE 128-bit Complex.
22938 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
22940         * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
22941         target inside target if inner is reverse offload.
22943 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
22945         * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
22946         * config/nvptx/mkoffload.cc (process): Likewise.
22948 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
22950         * Makefile.in (OBJS): Add gimple-range-side-effect.o.
22951         * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
22952         (non_null_ref::~non_null_ref): Delete.
22953         (non_null_ref::set_nonnull): Delete.
22954         (non_null_ref::non_null_deref_p): Delete.
22955         (non_null_ref::process_name): Delete.
22956         (ranger_cache::ranger_cache): Initialize m_exit object.
22957         (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
22958         (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
22959         (ranger_cache::update_to_nonnull): Delete.
22960         (non_null_loadstore): Delete.
22961         (ranger_cache::block_apply_nonnull): Delete.
22962         (ranger_cache::apply_side_effects): New.
22963         * gimple-range-cache.h (class non_null_ref): Delete.
22964         (non_null_ref::adjust_range): Delete.
22965         (class ranger_cache): Adjust prototypes, add side effect manager.
22966         * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
22967         side effect manager for queries.
22968         (path_range_query::adjust_for_non_null_uses): Ditto.
22969         * gimple-range-path.h (class path_range_query): Delete non_null_ref.
22970         * gimple-range-side-effect.cc: New.
22971         * gimple-range-side-effect.h: New.
22972         * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
22973         (gimple_ranger::range_of_expr): Check def block for override value.
22974         (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
22975         (gimple_ranger::range_on_edge): Check for outgoing side-effects.
22976         (gimple_ranger::register_side_effects): Call apply_side_effects.
22977         (enable_ranger): Update contructor.
22978         * gimple-range.h (class gimple_ranger): Update prototype.
22979         (enable_ranger): Update prototype.
22980         * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
22982 2022-05-17  Giuliano Belinassi  <gbelinassi@suse.de>
22984         PR c++/105169
22985         * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
22986         * varasm.cc (switch_to_comdat_section): New
22987         (handle_vtv_comdat_section): Call switch_to_comdat_section.
22988         * varasm.h: Declare switch_to_comdat_section.
22990 2022-05-17  Richard Biener  <rguenther@suse.de>
22992         * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
22993         not clear bb->aux of the copied blocks.
22995 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
22997         PR tree-optimization/105458
22998         * value-relation.cc (path_oracle::register_relation): Merge, then check
22999         for equivalence.
23001 2022-05-17  Uroš Bizjak  <ubizjak@gmail.com>
23003         PR target/105624
23004         Revert:
23005         * config/i386/i386.md: Remove constraints when used with
23006         const_int_operand, const0_operand, const_1_operand, constm1_operand,
23007         const8_operand, const128_operand, const248_operand, const123_operand,
23008         const2367_operand, const1248_operand, const359_operand,
23009         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
23010         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
23011         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
23012         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
23013         const_0_to_255_mul_8_operand, const_1_to_31_operand,
23014         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
23015         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
23016         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
23017         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
23018         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
23019         const_24_to_27_operand and const_28_to_31_operand.
23020         * config/i386/mmx.md: Ditto.
23021         * config/i386/sse.md: Ditto.
23022         * config/i386/subst.md: Ditto.
23023         * config/i386/sync.md: Ditto.
23025 2022-05-17  Thomas Schwinge  <thomas@codesourcery.com>
23027         * diagnostic.cc: Don't advise to call 'abort' instead of
23028         'internal_error'.
23029         * system.h: Advise to call 'internal_error' instead of 'abort' or
23030         'fancy_abort'.
23032 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
23034         * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
23035         a reference to a variable which does not exist.
23036         * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
23037         in comment.
23039 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
23041         * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
23042         (isl_id_for_parameter): ... this new function name.
23043         (build_scop_context): Adjust function use.
23045 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
23047         PR target/105602
23048         * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
23049         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
23051 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
23053         * tree-core.h (enum omp_clause_depend_kind): Add
23054         OMP_CLAUSE_DEPEND_INOUTSET.
23055         * tree-pretty-print.cc (dump_omp_clause): Handle
23056         OMP_CLAUSE_DEPEND_INOUTSET.
23057         * gimplify.cc (gimplify_omp_depend): Likewise.
23058         * omp-low.cc (lower_depend_clauses): Likewise.
23060 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
23062         PR target/105613
23063         * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
23064         andv4si3 only for EQ, for NE use iorv4si3 instead.
23066 2022-05-17  Richard Biener  <rguenther@suse.de>
23068         PR tree-optimization/105618
23069         * tree-ssa-sink.cc (statement_sink_location): For virtual
23070         PHI uses ignore those defining the used virtual operand.
23072 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
23074         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
23075         hanlde -> handle.  Fix up comment formatting.
23077 2022-05-17  liuhongt  <hongtao.liu@intel.com>
23079         PR target/105033
23080         * config/i386/sse.md (*vec_concatv4si): Extend to ..
23081         (*vec_concat<mode>): .. V16QI and V8HImode.
23082         (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
23083         (*vec_concatv8hi_permt2): Ditto.
23085 2022-05-17  liuhongt  <hongtao.liu@intel.com>
23087         PR tree-optimization/105591
23088         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
23089         vec_perm_expr index.
23091 2022-05-16  Jason Merrill  <jason@redhat.com>
23093         PR c/105492
23094         * attribs.cc (decl_attributes): Fix broken typedefs here.
23096 2022-05-16  David Malcolm  <dmalcolm@redhat.com>
23098         PR analyzer/105103
23099         * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
23100         * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
23101         -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
23102         -Wanalyzer-va-list-use-after-va-end.
23104 2022-05-16  Richard Biener  <rguenther@suse.de>
23106         * gimple-match.h (gimple_build): Move code_helper overloads ...
23107         * gimple-fold.h (gimple_build): ... here.
23108         (gimple_build): Transition to new worker API.  Provide
23109         overloads from sequence-based API.
23110         (gimple_convert): Likewise.
23111         (gimple_convert_to_ptrofftype): Likewise.
23112         (gimple_build_vector_from_val): Likewise.
23113         (gimple_build_vector): Likewise.
23114         (gimple_build_round_up): Likewise.
23115         * gimple-fold.cc (gimple_build_insert_seq): New helper.
23116         (gimple_build): Use it.  Transition combined_fn and code_helper
23117         API parts.
23118         (gimple_convert): Transition to new worker API.
23119         (gimple_convert_to_ptrofftype): Likewise.
23120         (gimple_build_vector_from_val): Likewise.
23121         (gimple_build_vector): Likewise.
23122         (gimple_build_round_up): Likewise.
23124 2022-05-16  Richard Biener  <rguenther@suse.de>
23126         * gimple-match.h (code_helper): Move class ...
23127         * tree.h (code_helper): ... here.
23129 2022-05-16  Martin Liska  <mliska@suse.cz>
23131         * opts-global.cc (write_langs): Add comment.
23133 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
23135         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
23136         instead of a bitwise negation.
23137         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
23139 2022-05-16  Martin Liska  <mliska@suse.cz>
23141         * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
23142         (decls_mismatched_attributes): Likewise.
23143         * builtins.cc (c_strlen): Likewise.
23144         * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
23145         * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
23146         * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
23147         (aarch64_init_simd_builtin_types): Likewise.
23148         (aarch64_init_builtin_rsqrt): Likewise.
23149         * config/aarch64/aarch64.cc (is_madd_op): Likewise.
23150         * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
23151         (arm_init_simd_builtin_types): Likewise.
23152         * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
23153         (c_prefix): Likewise.
23154         (main): Likewise.
23155         * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
23156         * config/darwin-c.cc (darwin_register_frameworks): Likewise.
23157         * config/gcn/mkoffload.cc (process_obj): Likewise.
23158         * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
23159         (fold_builtin_cpu): Likewise.
23160         * config/m32c/m32c.cc (PUSHM_N): Likewise.
23161         * config/nvptx/mkoffload.cc (process): Likewise.
23162         * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
23163         * config/s390/s390.cc (NR_C_MODES): Likewise.
23164         * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
23165         (create_insn_code_compression_table): Likewise.
23166         * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
23167         * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
23168         * dwarf2out.cc (ARRAY_SIZE): Likewise.
23169         * genhooks.cc (emit_documentation): Likewise.
23170         (emit_init_macros): Likewise.
23171         * gimple-ssa-sprintf.cc (format_floating): Likewise.
23172         * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
23173         * godump.cc (keyword_hash_init): Likewise.
23174         * hash-table.cc (hash_table_higher_prime_index): Likewise.
23175         * input.cc (for_each_line_table_case): Likewise.
23176         * ipa-free-lang-data.cc (free_lang_data): Likewise.
23177         * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
23178         * optc-save-gen.awk: Likewise.
23179         * spellcheck.cc (test_metric_conditions): Likewise.
23180         * tree-vect-slp-patterns.cc (sizeof): Likewise.
23181         (ARRAY_SIZE): Likewise.
23182         * tree.cc (build_common_tree_nodes): Likewise.
23184 2022-05-16  Martin Liska  <mliska@suse.cz>
23186         * opts-global.cc (write_langs): Allocate at least one byte.
23188 2022-05-16  Richard Biener  <rguenther@suse.de>
23190         * match.pd (A cmp B ? A : B -> min/max): New patterns
23191         carried over from fold_cond_expr_with_comparison.
23193 2022-05-16  liuhongt  <hongtao.liu@intel.com>
23195         PR target/105587
23196         * config/i386/i386-expand.cc
23197         (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
23198         d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
23200 2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
23202         * config/i386/i386.md: Remove constraints when used with
23203         const_int_operand, const0_operand, const_1_operand, constm1_operand,
23204         const8_operand, const128_operand, const248_operand, const123_operand,
23205         const2367_operand, const1248_operand, const359_operand,
23206         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
23207         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
23208         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
23209         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
23210         const_0_to_255_mul_8_operand, const_1_to_31_operand,
23211         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
23212         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
23213         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
23214         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
23215         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
23216         const_24_to_27_operand and const_28_to_31_operand.
23217         * config/i386/mmx.md: Ditto.
23218         * config/i386/sse.md: Ditto.
23219         * config/i386/subst.md: Ditto.
23220         * config/i386/sync.md: Ditto.
23222 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
23223             Uroš Bizjak  <ubizjak@gmail.com>
23225         * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
23226         For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
23227         by a pshufd and pand.
23228         (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
23229         vector equality as a V2DImode vector comparison (see above),
23230         followed by a pshufd and pand.
23232 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
23234         PR tree-optimization/83907
23235         * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
23236         for memset with an constant char value.
23237         (handle_store): Improved handling of stores with a first byte
23238         of zero, but not storing_all_zeros_p.
23240 2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
23241             Manolis Tsamis  <manolis.tsamis@vrull.eu>
23243         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
23244         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
23245         * doc/sourcebuild.texi: add documentation for RISC-V specific
23246         test target keywords
23248 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23250         PR tree-optimization/105597
23251         * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
23252         of the lhs and make sure it is not undefined.
23254 2022-05-13  Sebastian Pop  <spop@amazon.com>
23256         PR target/105162
23257         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
23258         of str array.
23259         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
23260         memmodel_from_int and handle MEMMODEL_SYNC_*.
23261         (DEF0): Add __aarch64_*_sync functions.
23263 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23265         * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
23266         enumerated values.
23267         * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
23268         * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
23269         new VREL enumerated values.
23270         (*::lhs_op2_relation): Ditto.
23271         (*::op1_op2_relation): Ditto.
23272         (*::fold_range): Use new VREL enumerated values.
23273         (minus_op1_op2_relation_effect): Ditto.
23274         (range_relational_tests): Ditto.
23275         * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
23276         (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
23277         relation_kind.
23278         (*_op1_op2_relation): Return relation_kind.
23279         (relop_early_resolve): Use VREL_UNDEFINED.
23280         * value-query.cc (range_query::query_relation): Use VREL_VARYING.
23281         * value-relation.cc (VREL_LAST): Change enumerated value.
23282         (vrel_range_assert): Delete.
23283         (print_relation): Remove range assert.
23284         (rr_negate_table): Adjust table to use new enumerated values..
23285         (relation_negate): Remove range assert.
23286         (rr_swap_table): Adjust.
23287         (relation_swap): Remove range assert.
23288         (rr_intersect_table): Adjust.
23289         (relation_intersect): Remove range assert.
23290         (rr_union_table): Adjust.
23291         (relation_union): Remove range assert.
23292         (rr_transitive_table): Adjust.
23293         (relation_transitive): Remove range assert.
23294         (equiv_oracle::query_relation): Use new VREL enumerated values.
23295         (equiv_oracle::register_relation): Ditto.
23296         (relation_oracle::register_stmt): Ditto.
23297         (dom_oracle::set_one_relation): Ditto.
23298         (dom_oracle::register_transitives): Ditto.
23299         (dom_oracle::query_relation): Ditto.
23300         (path_oracle::register_relation): Ditto.
23301         (path_oracle::query_relation): Ditto.
23302         * value-relation.h (enum relation_kind_t): New relation_kind.
23303         (*_op1_op2_relation): Adjust prototypes.
23305 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23307         * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
23308         * value-range.cc (irange::legacy_verbose_union_): Add return value.
23309         (irange::irange_single_pair_union): New.
23310         (irange::irange_union): Add return value.
23311         * value-range.h (class irange): Adjust prototypes.
23313 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23315         * value-range.cc (irange::legacy_verbose_intersect): Add return value.
23316         (irange::irange_contains_p): New.
23317         (irange::irange_intersect): Add return value.
23318         * value-range.h (class irange): Adjust prototypes.
23320 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23322         * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
23323         had_global value instead.
23325 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23327         PR tree-optimization/104547
23328         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
23329         the op1/op2 relation to the relation call.
23330         * range-op.cc (*::lhs_op1_relation): Add param.
23331         (*::lhs_op2_relation): Ditto.
23332         (operator_minus::lhs_op1_relation): New.
23333         (range_relational_tests): Add relation param.
23334         * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
23336 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23338         * gimple-range.cc (gimple_ranger::register_side_effects): First check
23339         if the DEF should be exported as a global.
23340         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
23341         which will export globals.
23342         (execute_ranger_vrp): Remove call to export_global_ranges.
23344 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23346         * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
23348 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23350         * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
23351         worlist truncated.
23352         (ranger_cache::entry_range): Add rfd_mode parameter.
23353         (ranger_cache::exit_range): Ditto.
23354         (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
23355         (ranger_cache::range_of_expr): Adjust call to entry_range.
23356         (ranger_cache::range_on_edge): Split to edge_range and call.
23357         (ranger_cache::fill_block_cache): Always invoke range_from_dom.
23358         (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
23359         mutiple predecessors.
23360         (ranger_cache::update_to_nonnull): Adjust call to exit_range.
23361         * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
23362         prototypes.
23364 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
23366         * gimple-harden-conditionals.cc: Include sbitmap.h.
23367         (pass_harden_conditional_branches::execute): Skip new blocks.
23368         (pass_harden_compares::execute): Likewise.
23370 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
23372         PR target/105463
23373         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
23374         mve_memory_operand.
23375         (*movmisalign<mode>_mve_load): Likewise.
23376         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
23377         form...
23378         (@movmisalign<mode>): ... thus.  Use generic predicates and then
23379         rework operands if they are not valid.  For MVE rework to a
23380         narrower element size if the alignment is not high enough.
23382 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
23384         * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
23385         when there is no write-back.  Fix use when strict is true.
23387 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
23389         * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
23390         definition.
23392 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
23394         * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
23395         extzvsi_internal): Rename from extv, extv_internal, extzv and
23396         extzv_internal, respectively.
23398 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
23400         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
23401         is the same on the LHS and RHS before rewriting one with the model
23402         of the other.
23404 2022-05-13  Richard Biener  <rguenther@suse.de>
23406         * gimple-fold.cc (gimple_build): Adjust for new
23407         main API.
23408         * gimple-fold.h (gimple_build): New main APIs with
23409         iterator, insert direction and iterator update.
23410         (gimple_build): New forwarder template.
23411         (clear_padding_type_may_have_padding_p): Remove.
23412         (clear_type_padding_in_mask): Likewise.
23413         (arith_overflowed_p): Likewise.
23414         * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
23415         (clear_type_padding_in_mask): Likewise.
23416         (arith_overflowed_p): Likewise.
23417         * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
23418         (gimplify_build2): Likewise.
23419         (gimplify_build1): Likewise.
23420         * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
23421         compare stmt.
23422         * gengtype.cc (open_base_files): Re-order includes.
23423         * builtins.cc: Re-order gimple-fold.h include.
23424         * calls.cc: Likewise.
23425         * cgraphbuild.cc: Likewise.
23426         * cgraphunit.cc: Likewise.
23427         * config/rs6000/rs6000-builtin.cc: Likewise.
23428         * config/rs6000/rs6000-call.cc: Likewise.
23429         * config/rs6000/rs6000.cc: Likewise.
23430         * config/s390/s390.cc: Likewise.
23431         * expr.cc: Likewise.
23432         * fold-const.cc: Likewise.
23433         * function-tests.cc: Likewise.
23434         * gimple-match-head.cc: Likewise.
23435         * gimple-range-fold.cc: Likewise.
23436         * gimple-ssa-evrp-analyze.cc: Likewise.
23437         * gimple-ssa-evrp.cc: Likewise.
23438         * gimple-ssa-sprintf.cc: Likewise.
23439         * gimple-ssa-warn-access.cc: Likewise.
23440         * gimplify.cc: Likewise.
23441         * graphite-isl-ast-to-gimple.cc: Likewise.
23442         * ipa-cp.cc: Likewise.
23443         * ipa-devirt.cc: Likewise.
23444         * ipa-prop.cc: Likewise.
23445         * omp-low.cc: Likewise.
23446         * pointer-query.cc: Likewise.
23447         * range-op.cc: Likewise.
23448         * tree-cfg.cc: Likewise.
23449         * tree-if-conv.cc: Likewise.
23450         * tree-inline.cc: Likewise.
23451         * tree-object-size.cc: Likewise.
23452         * tree-ssa-ccp.cc: Likewise.
23453         * tree-ssa-dom.cc: Likewise.
23454         * tree-ssa-forwprop.cc: Likewise.
23455         * tree-ssa-ifcombine.cc: Likewise.
23456         * tree-ssa-loop-ivcanon.cc: Likewise.
23457         * tree-ssa-math-opts.cc: Likewise.
23458         * tree-ssa-pre.cc: Likewise.
23459         * tree-ssa-propagate.cc: Likewise.
23460         * tree-ssa-reassoc.cc: Likewise.
23461         * tree-ssa-sccvn.cc: Likewise.
23462         * tree-ssa-strlen.cc: Likewise.
23463         * tree-ssa.cc: Likewise.
23464         * value-pointer-equiv.cc: Likewise.
23465         * vr-values.cc: Likewise.
23467 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
23469         PR rtl-optimization/105455
23470         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
23471         probabilities for newly-conditional edges.
23473 2022-05-13  liuhongt  <hongtao.liu@intel.com>
23475         PR tree-optimization/102583
23476         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
23477         contiguous stride in the VEC_PERM_EXPR.
23479 2022-05-12  Richard Biener  <rguenther@suse.de>
23481         PR rtl-optimization/105577
23482         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
23483         edges before running fast DCE via df_analyze.
23485 2022-05-12  Richard Biener  <rguenther@suse.de>
23487         PR tree-optimization/105562
23488         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
23489         against all CLOBBER defs if there's not an obvious must-alias
23490         and we are not doing redundant store elimination.
23491         (vn_walk_cb_data::redundant_store_removal_p): New field.
23492         (vn_reference_lookup_pieces): Initialize it.
23493         (vn_reference_lookup): Add argument to specify if we are
23494         doing redundant store removal.
23495         (eliminate_dom_walker::eliminate_stmt): Specify we do.
23496         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
23498 2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
23500         PR target/104371
23501         * config/i386/sse.md (vi1avx2const): New define_mode_attr.
23502         (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
23503         New define_split pattern.
23505 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
23507         * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
23508         if null_pointer_node.
23509         (gimplify_scan_omp_clauses): Likewise.
23510         * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
23511         as omp_all_memory.
23513 2022-05-11  Patrick Palka  <ppalka@redhat.com>
23515         * tree.h (TREE_VEC_BEGIN): Define.
23516         (TREE_VEC_END): Correct 'length' member access.
23517         (class tree_vec_range): Define.
23519 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
23521         * config/rs6000/rs6000.md: Use wa instead of <Fv>.
23523 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
23525         * config/rs6000/rs6000.md: Use d instead of <Ff>.
23527 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
23529         * config/rs6000/constraints.md (register_constraint "f"): Use
23530         RS6000_CONSTRAINT_d.
23531         * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
23532         RS6000_CONSTRAINT_f.
23533         (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
23534         * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
23535         RS6000_CONSTRAINT_d.
23537 2022-05-11  Richard Biener  <rguenther@suse.de>
23539         * gimple-fold.h (gimple_build): Use variadic template
23540         functions for the gimple_build API forwarders without
23541         location_t argument.
23543 2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
23545         PR middle-end/70090
23546         * asan.cc (initialize_sanitizer_builtins): Register
23547         __builtin_dynamic_object_size if necessary.
23549 2022-05-11  Richard Biener  <rguenther@suse.de>
23551         PR rtl-optimization/105559
23552         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
23553         for non-debug insns.
23555 2022-05-11  Richard Biener  <rguenther@suse.de>
23557         * generic-match-head.cc: Include tree-eh.h.
23558         * match.pd ((cond ...) cmp X): New simplification inspired
23559         by fold_binary_op_with_conditional_arg.
23560         (eq/ne (cmp ...) true/false): Likewise.
23562 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
23564         * doc/install.texi: Don't document '--with-hsa-runtime',
23565         '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
23567 2022-05-11  Martin Liska  <mliska@suse.cz>
23569         PR other/105527
23570         * doc/install.texi: Document the configure option --with-zstd.
23572 2022-05-11  Martin Liska  <mliska@suse.cz>
23574         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
23575         compute index in cpu_features2.
23576         (set_cpu_feature): Likewise.
23577         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
23578         loop for cpu_features2 and use NOP_EXPRs.
23580 2022-05-11  Richard Biener  <rguenther@suse.de>
23582         PR bootstrap/105551
23583         * opts.cc (finish_options): Also disable var-tracking if
23584         !DWARF2_DEBUGGING_INFO.
23586 2022-05-11  liuhongt  <hongtao.liu@intel.com>
23588         PR target/104915
23589         * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
23590         pre_reload define_insn_and_split.
23591         (*vec_setv2di_0_zero_extendhi_1): Ditto.
23592         (*vec_set<mode>_0_zero_extendsi): Ditto.
23593         (*vec_setv2di_0_zero_extendsi_1): Ditto.
23594         (ssewvecmode): New mode attr.
23595         (ssewvecmodelower): Ditto.
23596         (ssepackmodelower): Ditto.
23598 2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
23600         * config/rs6000/constraints.md (register constraint v): Use
23601         rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
23603 2022-05-11  Martin Liska  <mliska@suse.cz>
23605         PR target/105355
23606         * config/riscv/riscv.opt: Remove Separate from
23607         -msmall-data-limit=.
23608         * optc-gen.awk: Report error for the described situation.
23609         * gcc.cc: Use Separate syntax.
23610         * opts.cc (gen_command_line_string): Change option name.
23612 2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
23614         PR target/105414
23615         * match.pd (minmax): Skip constant folding for fmin/fmax when both
23616         arguments are sNaN or one is sNaN and another is NaN.
23618 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
23620         PR tree-optimization/105528
23621         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
23622         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
23624 2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
23626         * doc/md.texi (Defining Mode Iterators): Correct example replacement
23627         text.
23629 2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
23631         * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
23632         constants.
23633         (fmin<mode>3, fmax<mode>3): New insns.
23635 2022-05-10  Richard Biener  <rguenther@suse.de>
23637         * tree-if-conv.cc (fold_build_cond_expr): Use
23638         match-and-simplify to simplify the condition.
23639         (ifcvt_follow_ssa_use_edges): Remove.
23640         (predicate_scalar_phi): Use follow_all_ssa_edges.
23642 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
23644         PR middle-end/100400
23645         * omp-oacc-kernels-decompose.cc
23646         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
23647         call 'internal_error'.
23649 2022-05-10  Richard Biener  <rguenther@suse.de>
23651         PR middle-end/105537
23652         * toplev.cc (process_options): Move flag_var_tracking
23653         handling ...
23654         * opts.cc (finish_options): ... here.
23656 2022-05-10  Martin Liska  <mliska@suse.cz>
23658         * basic-block.h (struct basic_block_d): Use void *
23659         instead PTR.
23660         * cfgloop.h: Likewise.
23661         * cgraph.h: Likewise.
23662         * gengtype-state.cc (state_ident_by_name): Likewise.
23663         (record_type): Likewise.
23664         (read_state_already_seen_type): Likewise.
23665         * gengtype.cc (dump_type): Likewise.
23666         (input_file_by_name): Likewise.
23667         (main): Likewise.
23668         * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
23669         * ipa-utils.h (struct ipa_dfs_info): Likewise.
23670         * plugin.cc (htab_hash_plugin): Likewise.
23672 2022-05-10  Richard Biener  <rguenther@suse.de>
23674         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
23675         API with !GENERATOR_FILE.
23676         * opts.cc (global_options): Poison.
23677         (global_options_set): Likewise.
23678         (finish_options): Refer to options via opts.
23680 2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
23681             Roger Sayle  <roger@nextmovesoftware.com>
23683         * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
23684         alternative when optimizing for size and the immediate operand is
23685         const_0_to_127_operand.
23686         (*andqi_2_maybe_si): Likewise.
23687         * config/i386/predicates.md (const_0_to_127_operand): New predicate.
23689 2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
23691         * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
23692         "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
23693         can't be negative.
23695 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
23697         PR target/105292
23698         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
23699         true only for 8-byte vector modes.
23701 2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
23703         PR middle-end/70090
23704         * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
23705         (instrument_object_size): Get dynamic object size expression.
23707 2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
23709         PR preprocessor/101168
23710         * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
23711         Avoid empty identifier.
23713 2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
23715         PR target/101891
23716         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
23717         as a generic MMX mode instead of V4HImode.
23718         (zero_all_mm_registers): Use SET to zero instead of MOV for
23719         zeroing scratch registers.
23720         (ix86_zero_call_used_regs): Likewise.
23722 2022-05-09  liuhongt  <hongtao.liu@intel.com>
23724         PR target/105354
23725         * config/i386/i386-expand.cc
23726         (expand_vec_perm_pslldq_psrldq_por): New function.
23727         (ix86_expand_vec_perm_const_1): Try
23728         expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
23729         4/5-instruction sequence.
23731 2022-05-09  Martin Liška  <mliska@suse.cz>
23733         * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
23734         * system.h (STATIC_ASSERT): Define as static_assert for C++
23735         and fallback to array index in C.
23737 2022-05-09  Richard Biener  <rguenther@suse.de>
23739         PR tree-optimization/105517
23740         * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
23741         offset can be represented in the POINTER_PLUS_EXPR IL.
23742         (vn_reference_insert): Likewise.
23743         * poly-int.h (sext_hwi): Add poly version of sext_hwi.
23745 2022-05-09  Richard Biener  <rguenther@suse.de>
23747         * match.pd: Remove #if GIMPLE guards around ! using patterns.
23749 2022-05-09  liuhongt  <hongtao.liu@intel.com>
23751         PR target/105072
23752         * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
23753         New define_insn.
23754         (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
23755         define_insn_and_split.
23757 2022-05-09  Alex Coplan  <alex.coplan@arm.com>
23759         * cgraph.cc (cgraph_node::get_create): Don't dump if the current
23760         symtab state is PARSING.
23762 2022-05-09  Martin Liska  <mliska@suse.cz>
23764         * system.h (LIKELY): Define.
23765         (UNLIKELY): Likewise.
23766         * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
23767         macros.
23768         * dse.cc (set_position_unneeded): Likewise.
23769         (set_all_positions_unneeded): Likewise.
23770         (any_positions_needed_p): Likewise.
23771         (all_positions_needed_p): Likewise.
23772         * expmed.cc (flip_storage_order): Likewise.
23773         * genmatch.cc (dt_simplify::gen_1): Likewise.
23774         * ggc-common.cc (gt_pch_save): Likewise.
23775         * print-rtl.cc: Likewise.
23776         * rtl-iter.h (T>::array_type::~array_type): Likewise.
23777         (T>::next): Likewise.
23778         * rtl-ssa/internals.inl: Likewise.
23779         * rtl-ssa/member-fns.inl: Likewise.
23780         * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
23781         (rtx_properties::try_to_add_dest): Likewise.
23782         * rtlanal.h (growing_rtx_properties::repeat): Likewise.
23783         (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
23784         * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
23785         * sort.cc (likely): Likewise.
23786         (mergesort): Likewise.
23787         * wide-int.h (wi::eq_p): Likewise.
23788         (wi::ltu_p): Likewise.
23789         (wi::cmpu): Likewise.
23790         (wi::bit_and): Likewise.
23791         (wi::bit_and_not): Likewise.
23792         (wi::bit_or): Likewise.
23793         (wi::bit_or_not): Likewise.
23794         (wi::bit_xor): Likewise.
23795         (wi::add): Likewise.
23796         (wi::sub): Likewise.
23798 2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
23800         * config/riscv/arch-canonicalize: Handle g correctly.
23802 2022-05-07  Marek Polacek  <polacek@redhat.com>
23804         PR c++/101833
23805         PR c++/47634
23806         * tree-core.h (struct attribute_spec): Update comment for HANDLER.
23808 2022-05-06  Jason Merrill  <jason@redhat.com>
23810         * diagnostic-color.cc: Add fnname and targs color entries.
23811         * doc/invoke.texi: Document them.
23813 2022-05-06  Jason Merrill  <jason@redhat.com>
23815         * vec.h (vec::iterate): Fix comment.
23817 2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
23819         PR target/102059
23820         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
23821         and -mpower10-fusion options for inlining purposes.
23823 2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
23825         * config/aarch64/iterators.md (GPF_TF_F16): Delete.
23827 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
23829         * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
23830         omp_runtime_apis array.
23832 2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
23834         * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
23835         (scan_sharing_clauses):  Check a restriction on allocate clause.
23837 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
23839         * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
23840         and ORDERED clause conflict errors.  Add check for GRAINSIZE and
23841         NUM_TASKS on TASKLOOP.
23843 2022-05-05  Martin Liska  <mliska@suse.cz>
23845         * genautomata.cc (create_composed_state): Remove dead code.
23846         * graphite-poly.cc (print_pdrs): Likewise.
23847         * lto-wrapper.cc (run_gcc): Likewise.
23848         * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
23849         Likewise.
23851 2022-05-05  Martin Liska  <mliska@suse.cz>
23853         * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
23854         PROF_*.
23855         (gimple_gen_time_profiler): Likewise.
23857 2022-05-05  Martin Liska  <mliska@suse.cz>
23859         * value-prof.cc (stream_out_histogram_value): Remove sanity
23860         checking.
23862 2022-05-05  Richard Biener  <rguenther@suse.de>
23864         PR tree-optimization/104162
23865         * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
23866         &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
23867         becomes invariant.
23868         (vn_reference_insert): Likewise.
23870 2022-05-05  Richard Biener  <rguenther@suse.de>
23872         * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
23873         to real_value field.
23874         (tree_real_cst::value): Add real_value field.
23875         * tree.h (TREE_REAL_CST_PTR): Adjust.
23876         * tree.cc (build_real): Remove separate allocation.
23877         * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
23878         Likewise.
23880 2022-05-05  Richard Biener  <rguenther@suse.de>
23882         * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
23883         divisions with undefined overflow unconditionally.
23884         (pass_tree_ifcombine::execute): Rewrite stmts with undefined
23885         overflow to defined.
23887 2022-05-05  Richard Biener  <rguenther@suse.de>
23889         PR tree-optimization/105484
23890         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
23891         whether the CFG changed.
23892         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
23894 2022-05-05  Richard Biener  <rguenther@suse.de>
23896         PR tree-optimization/104595
23897         * tree-vect-patterns.cc (vect_recog_bool_pattern): For
23898         COND_EXPR do not fail if check_bool_pattern returns false.
23900 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
23902         * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
23903         item that is in an outer data-sharing clause.
23905 2022-05-04  Richard Biener  <rguenther@suse.de>
23907         PR tree-optimization/104658
23908         * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
23909         create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
23910         type on nodes we promote.
23911         (vectorizable_bb_reduc_epilogue): Deal with externalized
23912         root.
23913         * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
23914         not allow VECTOR_BOOLEAN_TYPE_P extern defs.
23916 2022-05-04  Richard Biener  <rguenther@suse.de>
23918         PR tree-optimization/103116
23919         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
23920         case we need peeling for gaps even though GROUP_GAP is zero.
23922 2022-05-04  Martin Liska  <mliska@suse.cz>
23924         * gengtype-state.cc (read_a_state_token): Remove dead code.
23925         * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
23927 2022-05-04  Richard Biener  <rguenther@suse.de>
23929         * gimplify.cc (gimplify_init_constructor): First gimplify,
23930         then simplify the result to a VECTOR_CST.
23932 2022-05-04  Jakub Jelinek  <jakub@redhat.com>
23934         * genconditions.cc (write_conditions): Append a { nullptr, -1 }
23935         element at the end of insn_conditions.
23936         (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
23937         ARRAY_SIZE (insn_conditions).
23939 2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
23941         PR target/104662
23942         * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
23943         vector of booleans and MVE is not enabled.
23945 2022-05-04  Richard Biener  <rguenther@suse.de>
23947         PR debug/105158
23948         * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
23949         Move debug stmts to the predecessor if moving to the
23950         destination is not possible.
23951         (remove_forwarder_block): Adjust.
23952         (remove_forwarder_block_with_phi): Likewise.
23954 2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
23956         PR tree-optimization/102950
23957         * range-op.cc (wi_optimize_signed_bitwise_op): New function to
23958         determine bounds of bitwise operations on signed types.
23959         (operator_bitwise_and::wi_fold): Call the above function.
23960         (operator_bitwise_or::wi_fold): Likewise.
23961         (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
23962         result can't be zero if the operands can't be equal.
23964 2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
23966         * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
23967         protocol class methods linker-visible.
23969 2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
23971         PR target/105079
23972         * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
23973         define_insn_and_split pattern.
23975 2022-05-03  Richard Biener  <rguenther@suse.de>
23977         PR middle-end/105083
23978         * tree-scalar-evolution.cc (scev_initialize): Verify we
23979         have appropriate loop state.
23980         * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
23981         loop init and finalization.
23983 2022-05-03  Richard Biener  <rguenther@suse.de>
23985         PR middle-end/105461
23986         * opts.cc (finish_options): Match the condition to
23987         disable flag_var_tracking to that of process_options.
23989 2022-05-03  Richard Biener  <rguenther@suse.de>
23991         * opts.cc: #undef OPTIONS_SET_P.
23992         (finish_options): Use opts_set instead of OPTIONS_SET_P.
23994 2022-05-03  Richard Biener  <rguenther@suse.de>
23996         PR tree-optimization/105394
23997         * tree-vect-generic.cc (expand_vector_condition): Adjust
23998         comp_width for non-integer mode masks as well.
24000 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
24002         * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
24003         omp_runtime_apis array.
24005 2022-05-02  Richard Biener  <rguenther@suse.de>
24007         * tree-scalar-evolution.cc (expression_expensive_p):
24008         Never consider mismatched calls as cheap.
24010 2022-05-02  Richard Biener  <rguenther@suse.de>
24012         PR tree-optimization/104240
24013         * tree-vect-slp.cc (op1_op0_map): New.
24014         (vect_get_operand_map): Handle compares.
24015         (vect_build_slp_tree_1): Support swapped operands for
24016         tcc_comparison.
24018 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
24020         PR debug/105415
24021         * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
24022         if there is no symtab node for the VAR_DECL.
24024 2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24026         * gcov-io.cc (gcov_rewrite):  Clear the file error status.
24028 2022-05-02  Richard Biener  <rguenther@suse.de>
24030         PR tree-optimization/105437
24031         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
24032         case where last_stmt alters control flow.
24034 2022-05-02  Richard Biener  <rguenther@suse.de>
24036         * dojump.cc (do_jump): Use CASE_CONVERT.
24037         * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
24039 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
24041         * system.h: Include initializer_list.
24043 2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
24045         * config/rs6000/constraints.md (Y constraint): Fix comment.
24047 2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
24049         * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
24050         VR_RANGE before passing a piecewise range to set_range_info_raw.
24052 2022-04-30  Patrick Palka  <ppalka@redhat.com>
24054         * gengtype.cc (adjust_field_tree_exp): Remove.
24055         (adjust_field_type): Don't handle the "tree_exp" special attribute.
24056         * tree-core.h (struct tree_exp): Remove "special" and "desc"
24057         attributes.  Add "length" attribute.
24059 2022-04-29  Martin Jambor  <mjambor@suse.cz>
24061         PR ipa/100413
24062         * cgraph.cc (cgraph_node::remove): Release body of the node this
24063         is clone_of if appropriate.
24065 2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
24067         PR target/51954
24068         * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
24070 2022-04-29  Richard Biener  <rguenther@suse.de>
24072         * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
24073         (canonicalize_cond_expr_cond): Move here from gimple.cc,
24074         allow both COND_EXPR and GIMPLE_COND forms.
24075         * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
24076         * gimple.cc (canonicalize_cond_expr_cond): Remove here.
24077         * gimple.h (canonicalize_cond_expr_cond): Likewise.
24078         * gimple-loop-versioning.cc (loop_versioning::version_loop):
24079         Use is_gimple_condexpr_for_cond.
24080         * tree-parloops.cc (gen_parallel_loop): Likewise.
24081         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
24082         a proper cond expr after canonicalize_cond_expr_cond.
24083         Use is_gimple_condexpr_for_cond where appropriate.
24084         * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
24085         * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
24087 2022-04-29  Richard Biener  <rguenther@suse.de>
24089         * gimple-iterator.h (gsi_after_labels): Add overload for
24090         gimple_seq.
24091         (gsi_start_1): Rename to gsi_start and take a reference.
24092         (gsi_last_1): Likewise.
24093         * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
24094         * omp-low.cc (lower_rec_input_clauses): Likewise.
24095         (lower_omp_scan): Likewise.
24097 2022-04-29  Richard Biener  <rguenther@suse.de>
24099         PR tree-optimization/105431
24100         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
24101         (powi_as_mults): Use absu_hwi.
24102         (gimple_expand_builtin_powi): Remove now pointless n != -n
24103         check.
24105 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24107         * range-op.cc (empty_range_varying): Move to range-op.h.
24108         (range_true): Move to range.h.
24109         (range_false): Same.
24110         (range_true_and_false): Same.
24111         (enum bool_range_state): Move to range-op.h.
24112         (relop_early_resolve): Same.
24113         (operator_equal::op1_op2_relation): Abstract code to...
24114         (equal_op1_op2_relation): ...here.
24115         (operator_not_equal::op1_op2_relation): Abstract code to...
24116         (not_equal_op1_op2_relation): ...here.
24117         (operator_lt::op1_op2_relation): Abstract code to...
24118         (lt_op1_op2_relation): ...here.
24119         (operator_le::op1_op2_relation): Abstract code to...
24120         (le_op1_op2_relation): ...here.
24121         (operator_gt::op1_op2_relation): Abstract code to...
24122         (gt_op1_op2_relation): ...here.
24123         (operator_ge::op1_op2_relation): Abstract code to...
24124         (ge_op1_op2_relation): ...here.
24125         (class range_op_table): Move to range-op.h.
24126         * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
24127         (not_equal_op1_op2_relation): Same.
24128         (lt_op1_op2_relation): Same.
24129         (le_op1_op2_relation): Same.
24130         (gt_op1_op2_relation): Same.
24131         (ge_op1_op2_relation): Same.
24132         (enum bool_range_state): Same.
24133         (get_bool_state): Same.
24134         (empty_range_varying): Same.
24135         (relop_early_resolve): Same.
24136         (class range_op_table): Same.
24137         * range.h (range_true): Same.
24138         (range_false): Same.
24139         (range_true_and_false): Same.
24141 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24143         * gimple-fold.cc (size_must_be_zero_p): Use reference
24144         instead of pointer
24145         * gimple-ssa-evrp-analyze.cc
24146         (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
24147         intersect to legacy_verbose_intersect.
24148         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
24149         of pointer.
24150         * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
24151         instead of value_range_equiv.
24152         * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
24153         instead of pointer.
24154         (find_case_label_range): Same.
24155         * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
24156         (value_range_equiv::legacy_verbose_intersect): ...this.
24157         (value_range_equiv::union_): Rename to...
24158         (value_range_equiv::legacy_verbose_union_): ...this.
24159         * value-range-equiv.h (class value_range_equiv): Rename union and
24160         intersect to legacy_verbose_{intersect,union}.
24161         * value-range.cc (irange::union_): Rename to...
24162         (irange::legacy_verbose_union_): ...this.
24163         (irange::intersect): Rename to...
24164         (irange::legacy_verbose_intersect): ...this.
24165         * value-range.h (irange::union_): Rename union_ to
24166         legacy_verbose_union.
24167         (irange::intersect): Rename intersect to legacy_verbose_intersect.
24168         * vr-values.cc (vr_values::update_value_range): Same.
24169         (vr_values::extract_range_for_var_from_comparison_expr): Same.
24170         (vr_values::extract_range_from_cond_expr): Rename union_ to
24171         legacy_verbose_union.
24172         (vr_values::extract_range_from_phi_node): Same.
24174 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24176         * gimple-ssa-evrp-analyze.cc
24177         (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
24178         that take a range.
24179         * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
24180         * ipa-prop.cc (ipcp_update_vr): Same.
24181         * tree-inline.cc (remap_ssa_name): Same.
24182         * tree-ssa-copy.cc (fini_copy_prop): Same.
24183         * tree-ssa-math-opts.cc (optimize_spaceship): Same.
24184         * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
24185         * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
24186         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
24187         * tree-ssa-strlen.cc (set_strlen_range): Same.
24188         (strlen_pass::handle_builtin_string_cmp): Same.
24189         * tree-ssanames.cc (set_range_info): Make static.
24190         (duplicate_ssa_name_range_info): Make static and add a new variant
24191         calling the static.
24192         * tree-ssanames.h (set_range_info): Remove version taking wide ints.
24193         (duplicate_ssa_name_range_info): Remove version taking a
24194         range_info_def and replace with a version taking SSA names.
24195         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
24196         that take a range.
24197         (vect_do_peeling): Same.
24198         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
24199         * vr-values.cc (simplify_truth_ops_using_ranges): Same.
24201 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24203         * value-range.h (irange::irange): Use set_undefined.
24205 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24207         * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
24208         irange::intersect (wide_int, wide_int).
24209         * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
24210         (adjust_imagpart_expr): Same.
24211         * value-range.h (irange::intersect (wide_int, wide_int)): Make
24212         private.
24214 2022-04-29  Richard Biener  <rguenther@suse.de>
24216         PR tree-optimization/104322
24217         * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
24219 2022-04-29  Richard Biener  <rguenther@suse.de>
24221         PR middle-end/105376
24222         * tree.cc (build_real): Special case dconst* arguments
24223         for decimal floating point types.
24225 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24227         * doc/gcov.texi (Profiling and Test Coverage in Freestanding
24228         Environments): New section.
24230 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24232         * doc/gcov-tool.texi: Document merge-stream subcommand.
24233         * doc/invoke.texi (fprofile-info-section): Mention merge-stream
24234         subcommand of gcov-tool.
24235         * gcov-tool.cc (gcov_profile_merge_stream): Declare.
24236         (print_merge_stream_usage_message): New.
24237         (merge_stream_usage): Likewise.
24238         (do_merge_stream): Likewise.
24239         (print_usage): Call print_merge_stream_usage_message().
24240         (main): Call do_merge_stream() to execute merge-stream subcommand.
24242 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24244         * gcov-io.cc (gcov_file_error): New enum.
24245         (gcov_var): Use gcov_file_error enum for the error member.
24246         (gcov_open): Use GCOV_FILE_NO_ERROR.
24247         (gcov_close): Use GCOV_FILE_WRITE_ERROR.
24248         (gcov_write): Likewise.
24249         (gcov_write_unsigned): Likewise.
24250         (gcov_write_string): Likewise.
24251         (gcov_read_bytes): Set error code if EOF is reached.
24252         (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
24254 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24256         * gcov-io.cc (GCOV_MODE_STDIN): Define.
24257         (gcov_position): For gcov-tool, return calculated position if file is
24258         stdin.
24259         (gcov_open):  For gcov-tool, use stdin if filename is NULL.
24260         (gcov_close): For gcov-tool, do not close stdin.
24261         (gcov_read_bytes): For gcov-tool, update position if file is stdin.
24262         (gcov_sync): For gcov-tool, discard input if file is stdin.
24264 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24266         * doc/invoke.texi (fprofile-info-section): Mention
24267         __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
24268         standard language.  Fix minor example code issues.
24269         * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
24271 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24273         * gcov-io.cc (gcov_seek): Make it static.
24274         * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
24276 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24278         * gcov-tool.cc (gcov_do_dump): Add mode parameter.
24279         (gcov_output_files): Open files for reading and writing.
24281 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24283         * gcov-io.cc (gcov_open): Always use the mode parameter.
24284         * gcov-io.h (gcov_open): Declare it unconditionally.
24286 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24288         * gcov-tool.cc (gcov_profile_merge): Adjust return type.
24289         (profile_merge): Allow merging of directories which contain no profile
24290         files.
24292 2022-04-28  David Malcolm  <dmalcolm@redhat.com>
24294         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
24295         fpath.txt output.
24297 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
24299         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
24300         temporary only if out overlaps compare_op, not when it overlaps
24301         op0 or op1.
24303 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
24305         PR lto/105399
24306         * cgraph.cc (cgraph_node::verify_node): Don't verify
24307         semantic_interposition flag against
24308         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
24310 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
24312         PR target/105331
24313         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
24314         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
24315         of it.
24317 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
24319         * doc/install.texi (Configuration): Remove misleading text
24320         around LE PowerPC Linux multilibs.
24322 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
24324         PR d/103528
24325         * doc/install.texi (Tools/packages necessary for building GCC)
24326         (GDC): Document libphobos requirement.
24327         (Host/target specific installation notes for GCC, *-*-solaris2*):
24328         Document libphobos and GDC specifics.
24330 2022-04-28  Richard Biener  <rguenther@suse.de>
24332         PR tree-optimization/105219
24333         * tree-vect-loop.cc (vect_transform_loop): Disable
24334         special code narrowing the vectorized epilogue max
24335         iterations when peeling for alignment or gaps was in effect.
24337 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
24339         * config/loongarch/loongarch.cc
24340         (loongarch_flatten_aggregate_field): Ignore empty fields for
24341         RECORD_TYPE.
24343 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
24345         * config/loongarch/loongarch.md: Add fdiv define_expand template,
24346         then generate floating-point division and floating-point reciprocal
24347         instructions.
24349 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
24351         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
24352         to PLV instruction templates.
24354 2022-04-27  Richard Biener  <rguenther@suse.de>
24356         PR middle-end/104492
24357         * gimple-ssa-warn-access.cc
24358         (pass_waccess::warn_invalid_pointer): Exclude equality compare
24359         diagnostics for all kind of invalidations.
24360         (pass_waccess::check_dangling_uses): Fix post-dominator query.
24361         (pass_waccess::check_pointer_uses): Likewise.
24363 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
24365         PR target/102024
24366         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
24367         prototype.
24368         * config/s390/s390.cc (s390_single_field_struct_p): New function.
24369         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
24370         (s390_function_arg_float): Likewise.
24372 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
24374         PR sanitizer/105396
24375         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
24376         where offset is bigger than off but smaller than m_prev_offset + 32
24377         bits by pushing one or more 0 bytes.  Sink the
24378         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
24379         all cases to the end of the function.
24381 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
24383         PR target/105271
24384         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
24385         stanza.
24387 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
24389         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
24390         data-share memory exhausted" error more verbose.
24392 2022-04-26  Martin Liska  <mliska@suse.cz>
24394         PR lto/105364
24395         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
24396         (run_gcc): Parse OPT_fdiagnostics_urls_.
24397         (main): Initialize global_dc.
24399 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
24401         PR rtl-optimization/105314
24402         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
24403         operand is equal to if_info->x, instead use the non-zero operand
24404         as one of the operands of AND with if_info->x as target.
24406 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
24408         PR tree-optimization/105374
24409         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
24410         !fold_convertible_p rather than assuming fold_convert must succeed.
24412 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
24414         PR target/105367
24415         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
24416         el_mode == DFmode ? double_type_node : float_type_node instead of
24417         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
24419 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
24421         PR analyzer/104308
24422         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
24423         the location of new_stmt in all places that don't already set it,
24424         whether explicitly, or via a call to gsi_replace.
24426 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
24428         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
24430 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
24432         PR tree-optimization/105276
24433         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
24434         existing global range with calculated value.
24436 2022-04-25  Richard Biener  <rguenther@suse.de>
24438         PR tree-optimization/105368
24439         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
24441 2022-04-25  Richard Biener  <rguenther@suse.de>
24443         PR tree-optimization/100810
24444         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
24445         (find_ssa_undef): New function.
24446         (add_candidate_1): Avoid adding derived candidates with
24447         undefined SSA names and mark the original ones.
24448         (determine_group_iv_cost_generic): Reject rewriting
24449         uses with a different IV when that involves undefined SSA names.
24451 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
24453         PR target/89125
24454         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
24455         bsd_libc_has_function.
24456         * targhooks.cc (bsd_libc_has_function): New function.
24457         Expand the supported math functions to inclue C99 libm.
24458         * targhooks.h (bsd_libc_has_function): New Prototype.
24460 2022-04-25  Richard Biener  <rguenther@suse.de>
24462         PR rtl-optimization/105231
24463         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
24464         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
24465         on i3 or drop it if the insn can not trap.
24466         (try_combine): Ensure that we can merge REG_EH_REGION notes
24467         with non-call exceptions.  Ensure we are not splitting a
24468         trapping part of an insn with non-call exceptions when there
24469         is any REG_EH_REGION note to preserve.
24471 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
24473         PR target/105339
24474         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
24475         Add parentheses for parameters and djust format.
24476         (_mm512_mask_scalef_round_pd): Ditto.
24477         (_mm512_maskz_scalef_round_pd): Ditto.
24478         (_mm512_scalef_round_ps): Ditto.
24479         (_mm512_mask_scalef_round_ps): Ditto.
24480         (_mm512_maskz_scalef_round_ps): Ditto.
24481         (_mm_scalef_round_sd): Use _mm_undefined_pd.
24482         (_mm_scalef_round_ss): Use _mm_undefined_ps.
24483         (_mm_mask_scalef_round_sd): New macro.
24484         (_mm_mask_scalef_round_ss): Ditto.
24485         (_mm_maskz_scalef_round_sd): Ditto.
24486         (_mm_maskz_scalef_round_ss): Ditto.
24488 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
24490         PR target/105338
24491         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
24492         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
24493         cases.
24495 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
24497         PR target/105334
24498         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
24499         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
24500         (pack<mode>_hard for FMOVE128): ... this...
24501         (pack<mode>_soft for FMOVE128): ... and this.
24503 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
24505         * doc/extend.texi: Correct "This" to "These".
24507 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
24509         PR rtl-optimization/105333
24510         * rtlanal.cc (replace_rtx): Use simplify_subreg or
24511         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
24512         CONST_INT_P.
24514 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
24516         PR target/103197
24517         PR target/102146
24518         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
24519         the "Z" alternatives in {l,st}{f,xs}iwzx.
24520         (zero_extendhi<mode>2 for EXTHI): Ditto.
24521         (zero_extendsi<mode>2 for EXTSI): Ditto.
24522         (*movsi_internal1): Ditto.
24523         (*mov<mode>_internal1 for QHI): Ditto.
24524         (movsd_hardfloat): Ditto.
24526 2022-04-21  Martin Liska  <mliska@suse.cz>
24528         * configure.ac: Enable compressed debug sections for mold
24529         linker.
24530         * configure: Regenerate.
24532 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
24534         PR debug/105203
24535         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
24536         on DEBUG_INSNs.
24538 2022-04-20  Richard Biener  <rguenther@suse.de>
24540         PR tree-optimization/104912
24541         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
24542         the cost model check to a separate BB to make sure it is
24543         checked first and not combined with other version checks.
24545 2022-04-20  Richard Biener  <rguenther@suse.de>
24547         PR tree-optimization/105312
24548         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
24549         VCOND and VCONDU for EQ and NE.
24551 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
24553         PR ipa/103818
24554         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
24555         poly_offset_int to avoid overflow.
24556         (modref_access_node::update2): likewise.
24558 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
24560         PR ipa/105306
24561         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
24562         to opt_for_fn (decl, flag_semantic_interposition).
24563         * cgraphclones.cc (cgraph_node::create_clone): Copy over
24564         semantic_interposition flag.
24566 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
24568         PR gcov-profile/105282
24569         * value-prof.cc (stream_out_histogram_value): Allow negative counts
24570         on HIST_TYPE_INDIR_CALL.
24572 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
24574         PR target/105257
24575         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
24576         use gen_raw_REG instead of gen_rtx_REG and copy over also
24577         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
24579 2022-04-19  Richard Biener  <rguenther@suse.de>
24581         PR tree-optimization/104010
24582         PR tree-optimization/103941
24583         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
24584         we run into stmts in patterns continue walking those
24585         for uses outside of the vectorized region instead of
24586         marking the lane live.
24588 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
24590         * doc/install.texi <CRIS>: Remove references to removed websites and
24591         adjust for cris-*-elf being the only remaining toolchain.
24593 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
24595         * doc/invoke.texi <CRIS>: Remove references to options for removed
24596         subtarget cris-axis-linux-gnu and tweak wording accordingly.
24598 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
24600         * doc/install.texi (Specific): Adjust mingw-w64 download link.
24602 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
24604         * config/i386/smmintrin.h: Correct target pragma from sse4.1
24605         and sse4.2 to crc32 for crc32 intrinsics.
24607 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
24609         PR debug/105089
24610         * ctfc.cc (ctf_dvd_ignore_insert): New function.
24611         (ctf_dvd_ignore_lookup): Likewise.
24612         (ctf_add_variable): Keep track of non-defining decl DIEs.
24613         (new_ctf_container): Initialize the new hash-table.
24614         (ctfc_delete_container): Empty hash-table.
24615         * ctfc.h (struct ctf_container): Add new hash-table.
24616         (ctf_dvd_ignore_lookup): New declaration.
24617         (ctf_add_variable): Add additional argument.
24618         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
24619         record for non-defining decl for which a defining decl exists
24620         in the same TU.
24621         (ctf_preprocess): Defer updating the number of global objts
24622         until here.
24623         (output_ctf_header): Use ctfc_vars_list_count as some CTF
24624         variables may not make it to the final output.
24625         (output_ctf_vars): Likewise.
24626         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
24627         if this is known to be a non-defining decl DIE.
24629 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
24631         * ctfc.h (struct ctf_container): Introduce a new member.
24632         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
24633         variable.
24635 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
24637         PR target/105247
24638         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
24639         or rotates by VOIDmode constant integer shift count use word_mode
24640         for the operand if int_mode is narrower than word.
24642 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
24644         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
24645         (s390_get_unit_mask): Likewise.
24646         (s390_is_fpd): Likewise.
24647         (s390_is_fxd): Likewise.
24648         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
24649         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
24650         Add z16.
24651         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
24652         Likewise.
24653         * config/s390/3931.md: New file.
24655 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
24657         PR tree-optimization/105254
24658         * config/aarch64/aarch64.cc
24659         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
24660         loop_vec_info as argument.  Restrict the unroll factor to values
24661         that divide the VF.
24662         (aarch64_vector_costs::finish_cost): Update call accordingly.
24664 2022-04-13  Richard Biener  <rguenther@suse.de>
24666         PR tree-optimization/105263
24667         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
24668         negates in multiplication chains with DFP.
24670 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
24672         PR middle-end/105253
24673         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
24674         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
24675         comparisons or tree_nop_conversion_p checks.
24677 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
24679         PR target/103069
24680         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
24681         Add missing set to target_val at pause label.
24683 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
24685         PR target/105234
24686         * attribs.cc (decl_attributes): Don't set
24687         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
24688         NULL.
24690 2022-04-13  Richard Biener  <rguenther@suse.de>
24692         PR tree-optimization/105250
24693         * fold-const.cc (fold_convertible_p): Revert
24694         r12-7979-geaaf77dd85c333, instead check for size equality
24695         of the vector types involved.
24697 2022-04-13  Richard Biener  <rguenther@suse.de>
24699         Revert:
24700         2022-04-13  Richard Biener  <rguenther@suse.de>
24702         PR tree-optimization/104912
24703         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
24704         the cost model check to a separate BB to make sure it is
24705         checked first and not combined with other version checks.
24707 2022-04-13  Richard Biener  <rguenther@suse.de>
24709         PR tree-optimization/104912
24710         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
24711         the cost model check to a separate BB to make sure it is
24712         checked first and not combined with other version checks.
24714 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
24716         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
24718 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
24720         PR jit/104072
24721         * reginfo.cc: New functions (clear_global_regs_cache,
24722         reginfo_cc_finalize) to avoid an issue where compiling the same
24723         code multiple times gives an error about assigning the same
24724         register to 2 global variables.
24725         * rtl.h: New function (reginfo_cc_finalize).
24726         * toplev.cc: Call it.
24728 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
24730         PR jit/104071
24731         * toplev.cc: Call the new function tree_cc_finalize in
24732         toplev::finalize.
24733         * tree.cc: New functions (clear_nonstandard_integer_type_cache
24734         and tree_cc_finalize) to clear the cache of non-standard integer
24735         types to avoid having issues with some optimizations of
24736         bitcast where the SSA_NAME will have a size of a cached
24737         integer type that should have been invalidated, causing a
24738         comparison of integer constant to fail.
24739         * tree.h: New function (tree_cc_finalize).
24741 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
24743         PR target/97348
24744         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
24745         * config/nvptx/nvptx.opt (misa): Adjust comment.
24747 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
24749         Revert:
24750         2022-03-03  Tom de Vries  <tdevries@suse.de>
24752         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
24754 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
24756         Revert:
24757         2022-03-31  Tom de Vries  <tdevries@suse.de>
24759         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
24761 2022-04-12  Richard Biener  <rguenther@suse.de>
24763         PR ipa/104303
24764         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
24765         include local escaped memory as obviously necessary stores.
24767 2022-04-12  Richard Biener  <rguenther@suse.de>
24769         PR tree-optimization/105235
24770         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
24771         return whether the CFG changed.
24772         (execute_cse_sincos_1): Adjust.
24774 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
24776         PR target/104144
24777         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
24778         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
24779         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
24780         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
24781         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
24782         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
24783         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
24785 2022-04-12  Richard Biener  <rguenther@suse.de>
24787         PR tree-optimization/105232
24788         * tree.cc (component_ref_size): Bail out for too large
24789         or non-constant sizes.
24791 2022-04-12  Richard Biener  <rguenther@suse.de>
24793         PR tree-optimization/105226
24794         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
24795         we can split the exit of an outer loop we choose to version.
24797 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
24799         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
24800         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
24801         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
24802         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
24803         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
24804         Formatting fix.
24805         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
24807 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
24809         PR target/105214
24810         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
24811         do_pending_stack_adjust.
24813 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
24815         PR rtl-optimization/105211
24816         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
24817         fails for TREE_TYPE (arg), retry it with
24818         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
24819         fails, emit call normally.
24821 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
24823         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
24824         * config.gcc: Add z16 as march/mtune switch.
24825         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
24826         Recognize z16 with -march=native.
24827         * config/s390/s390-opts.h (enum processor_type): Rename
24828         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
24829         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
24830         (PROCESSOR_3931_Z16): ... throughout the file.
24831         (s390_processor processor_table): Add z16 as cpu string.
24832         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
24833         PF_Z16.
24834         (TARGET_CPU_ARCH14): Rename to ...
24835         (TARGET_CPU_Z16): ... this.
24836         (TARGET_CPU_ARCH14_P): Rename to ...
24837         (TARGET_CPU_Z16_P): ... this.
24838         (TARGET_ARCH14): Rename to ...
24839         (TARGET_Z16): ... this.
24840         (TARGET_ARCH14_P): Rename to ...
24841         (TARGET_Z16_P): ... this.
24842         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
24843         check TARGET_Z16 instead of TARGET_ARCH14.
24844         * config/s390/s390.opt: Add z16 to processor_type.
24845         * doc/invoke.texi: Document z16 and arch14.
24847 2022-04-12  chenglulu  <chenglulu@loongson.cn>
24849         * config/loongarch/loongarch.cc: Fix bug for
24850         tmpdir-g++.dg-struct-layout-1/t033.
24852 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
24854         PR target/104894
24855         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
24856         to longcall functions.
24858 2022-04-11  Jason Merrill  <jason@redhat.com>
24860         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
24862 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
24864         PR target/105213
24865         PR target/103623
24866         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
24868 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
24870         PR tree-optimization/105218
24871         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
24872         more than one predecessor or phi's bb more than 2 predecessors,
24873         reset phi result uses instead of adding a debug temp.
24875 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
24877         PR target/104853
24878         * config.gcc: Pass -misa-spec to arch-canonicalize and
24879         multilib-generator.
24880         * config/riscv/arch-canonicalize: Adding -misa-spec option.
24881         (SUPPORTED_ISA_SPEC): New.
24882         (arch_canonicalize): New argument `isa_spec`.
24883         Handle multiple ISA spec versions.
24884         * config/riscv/multilib-generator: Adding -misa-spec option.
24886 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
24888         * config/riscv/arch-canonicalize: Add TODO item.
24889         (IMPLIED_EXT): Sync.
24890         (arch_canonicalize): Checking until no change.
24892 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
24894         PR target/105197
24895         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
24896         not masked.
24898 2022-04-11  Jason Merrill  <jason@redhat.com>
24900         PR c++/100370
24901         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
24902         deref == -1.
24904 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
24906         PR tree-optimization/104639
24907         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
24908         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
24909         into x != cst3.
24911 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
24913         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
24914         sign bit of the source ends up in CC.
24916 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
24918         PR ipa/103376
24919         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
24920         flag.
24922 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
24924         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
24925         nondeterministic and side_effects flags.
24927 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
24929         PR target/105157
24930         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
24931         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
24932         (TARGET_CPU_MASK): Likewise.
24933         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
24934         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
24935         (aarch64_get_arch): Likewise.
24936         (aarch64_override_options): Use TARGET_CPU_NBITS.
24938 2022-04-08  Richard Biener  <rguenther@suse.de>
24940         PR tree-optimization/105198
24941         * tree-predcom.cc (find_looparound_phi): Check whether
24942         the found memory location of the entry value is clobbered
24943         inbetween the value we want to use and loop entry.
24945 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
24947         PR tree-optimization/105189
24948         * fold-const.cc (make_range_step): Fix up handling of
24949         (unsigned) x +[low, -] ranges for signed x if low fits into
24950         typeof (x).
24952 2022-04-08  Richard Biener  <rguenther@suse.de>
24954         PR tree-optimization/105175
24955         * tree-vect-stmts.cc (vectorizable_operation): Suppress
24956         -Wvector-operation-performance if using emulated vectors.
24957         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
24958         -Wvector-operation-performance when suppressed.
24959         (expand_vector_parallel): Likewise.
24960         (expand_vector_comparison): Likewise.
24961         (expand_vector_condition): Likewise.
24962         (lower_vec_perm): Likewise.
24963         (expand_vector_conversion): Likewise.
24965 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
24967         PR target/104409
24968         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
24969         (aarch64_general_init_builtins): Move LS64 code.
24970         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
24971         arm_acle.h
24972         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
24973         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
24975 2022-04-07  Richard Biener  <rguenther@suse.de>
24976             Jan Hubicka  <hubicka@ucw.cz>
24978         PR ipa/104303
24979         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
24980         ref_may_alias_global_p, ref_may_alias_global_p,
24981         stmt_may_clobber_global_p, pt_solution_includes_global): Add
24982         bool parameters indicating whether escaped locals should be
24983         considered global.
24984         * tree-ssa-structalias.cc (pt_solution_includes_global):
24985         When the new escaped_nonlocal_p flag is true also consider
24986         pt->vars_contains_escaped.
24987         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
24988         Pass down new escaped_nonlocal_p flag.
24989         (ref_may_alias_global_p): Likewise.
24990         (stmt_may_clobber_global_p): Likewise.
24991         (ref_may_alias_global_p_1): Likewise.  For decls also
24992         query the escaped solution if true.
24993         (ref_may_access_global_memory_p): Remove.
24994         (modref_may_conflict): Use ref_may_alias_global_p with
24995         escaped locals considered global.
24996         (ref_maybe_used_by_stmt_p): Adjust.
24997         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
24998         Likewise.
24999         * tree-ssa-dse.cc (dse_classify_store): Likewise.
25000         * trans-mem.cc (thread_private_new_memory): Likewise, but
25001         consider escaped locals global.
25002         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
25004 2022-04-07  Richard Biener  <rguenther@suse.de>
25006         PR tree-optimization/105185
25007         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
25008         modref query again.
25010 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
25012         PR target/104049
25013         * config/aarch64/aarch64-simd.md
25014         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
25015         (reduc_plus_scal_<mode>): ... This.
25016         (reduc_plus_scal_v4sf): Moved.
25017         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
25018         (reduc_plus_scal_v2si): ... This.
25020 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
25022         PR tree-optimization/102586
25023         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
25024         langhook.
25025         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
25026         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
25027         * gimple-fold.cc (clear_padding_type): Use ftype instead of
25028         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
25029         name try the lang_hooks.types.classtype_as_base langhook and
25030         if it returns non-NULL, use that instead of ftype for recursive call.
25032 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
25034         PR tree-optimization/105150
25035         * tree.cc (tree_builtin_call_types_compatible_p): New function.
25036         (get_call_combined_fn): Use it.
25038 2022-04-07  Richard Biener  <rguenther@suse.de>
25040         PR middle-end/105165
25041         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
25042         _Complex outputs.
25044 2022-04-07  liuhongt  <hongtao.liu@intel.com>
25046         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
25047         Removed.
25048         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
25049         for mask_applied.
25050         (<code><mode>3<mask_name>): Ditto.
25051         (*<code><mode>3<mask_name>): Ditto.
25052         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
25053         real instruction.
25054         (VFB_512): Ditto.
25055         (VFB): Ditto.
25057 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25059         PR rtl-optimization/104985
25060         * combine.cc (struct undo): Add where.regno member.
25061         (do_SUBST_MODE): Rename to ...
25062         (subst_mode): ... this.  Change first argument from rtx * into int,
25063         operate on regno_reg_rtx[regno] and save regno into where.regno.
25064         (SUBST_MODE): Remove.
25065         (try_combine): Use subst_mode instead of SUBST_MODE, change first
25066         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
25067         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
25068         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
25069         instead of *undo->where.r.
25070         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
25071         argument from regno_reg_rtx[whatever] to whatever.
25073 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25075         PR target/105069
25076         * config/sh/sh.opt (mdiv=): Add Save.
25078 2022-04-06  Martin Liska  <mliska@suse.cz>
25080         PR driver/105096
25081         * common.opt: Document properly based on what it does.
25082         * gcc.cc (display_help): Unify with what we have in common.opt.
25083         * opts.cc (common_handle_option): Do not print undocumented
25084         options.
25086 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
25088         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
25089         cxx17_empty_base_field_p fields and set an indicator.
25090         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
25091         (mips_function_value_1): Inform psABI change about C++17 empty
25092         bases.
25094 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25096         PR tree-optimization/105150
25097         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
25098         builtin_decl_explicit here...
25099         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
25100         here.
25102 2022-04-06  Richard Biener  <rguenther@suse.de>
25104         PR tree-optimization/105173
25105         * tree-ssa-reassoc.cc (find_insert_point): Get extra
25106         insert_before output argument and compute it.
25107         (insert_stmt_before_use): Adjust.
25108         (rewrite_expr_tree): Likewise.
25110 2022-04-06  Richard Biener  <rguenther@suse.de>
25112         PR ipa/105166
25113         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
25114         out for non-pointer arguments.
25116 2022-04-06  Richard Biener  <rguenther@suse.de>
25118         PR tree-optimization/105163
25119         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
25120         negated abnormals.
25122 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25124         PR tree-optimization/105150
25125         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
25126         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
25127         preferrably on builtin_decl_explicit decl rather than fndecl.
25128         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
25129         gimple_builtin_call_types_compatible_p here.
25131 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
25133         PR tree-optimization/103761
25134         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
25135         the ncopies parameter with an slp_node parameter.  Calculate the
25136         number of vectors based on it and vectype.  Rename lambda to
25137         group_memory_nvectors.
25138         (vectorizable_store, vectorizable_load): Update calls accordingly.
25140 2022-04-06  Martin Liska  <mliska@suse.cz>
25142         * doc/invoke.texi: Document it.
25144 2022-04-06  Richard Biener  <rguenther@suse.de>
25146         PR tree-optimization/105148
25147         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
25148         2 and 3 of ARRAY_REFs.
25150 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
25152         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
25153         (*andnottf3): Replace with...
25154         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
25156 2022-04-06  Richard Biener  <rguenther@suse.de>
25158         PR tree-optimization/105142
25159         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
25160         basic-block parameter.
25161         (maybe_fold_or_comparisons): Likewise.
25162         * gimple-fold.cc (follow_outer_ssa_edges): New.
25163         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
25164         when an outer condition basic-block is specified.
25165         (and_comparisons_1, and_var_with_comparison,
25166         and_var_with_comparison_1, or_comparisons_1,
25167         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
25168         down the outer condition basic-block.
25169         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
25170         basic-block of the outer condition.
25172 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
25174         PR target/105002
25175         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
25176         comparison codes UNLT/UNLE/UNGT/UNGE.
25178 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
25180         * doc/extend.texi (Common Function Attributes): Document that
25181         'access' does not imply 'nonnull'.
25183 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
25185         PR target/105139
25186         * config/i386/mmx.md (*movv2qi_internal):
25187         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
25189 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
25191         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
25192         define_expand and turn operands 0 and 1 from REGs to MEMs.
25193         (*aarch64_cpymemdi): New pattern.
25194         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
25195         from a REG to a MEM.
25196         (*aarch64_setmemdi): New pattern.
25197         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
25198         copy_to_mode_reg on all three registers.  Replace the original
25199         MEM addresses rather than creating wild reads and writes.
25200         (aarch64_expand_setmem_mops): Likewise for the size and for the
25201         destination memory and address.
25203 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
25205         PR target/103147
25206         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
25207         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
25208         from aarch64_simd_switcher.
25209         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
25210         New variable.
25211         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
25212         (register_tuple_type): Add more asserts.  Expect the alignment
25213         of the structure to be subject to flag_pack_struct and
25214         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
25215         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
25216         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
25217         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
25218         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
25219         while calling aarch64_init_simd_builtins.
25220         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
25221         (sve_switcher::~sve_switcher): Remove code now performed by
25222         aarch64_simd_switcher.
25224 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
25226         PR target/104897
25227         * config/aarch64/aarch64-sve-builtins.cc
25228         (function_resolver::infer_vector_or_tuple_type): Use error_n
25229         for "%d vectors" messages.
25231 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
25233         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
25234         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
25235         current clause.
25237 2022-04-05  Richard Biener  <rguenther@suse.de>
25239         PR c/105151
25240         * passes.def (pass_walloca): Move early instance into
25241         pass_build_ssa_passes to make SSA form available.
25243 2022-04-05  liuhongt  <hongtao.liu@intel.com>
25245         PR target/101908
25246         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
25247         function
25248         (ix86_reorg): Call ix86_split_stlf_stall_load.
25249         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
25250         param.
25252 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
25254         * targhooks.cc (default_zero_call_used_regs): Attempt to group
25255         regs that the target refuses to use in their natural modes.
25256         (zcur_select_mode_rtx): New.
25257         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
25258         (hard_regno_max_nregs): Define.
25259         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
25261 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
25263         * doc/match-and-simplify.texi: Fix typos.
25265 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
25267         PR target/105144
25268         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
25269         only if configured with --enable-maintainer-mode, otherwise compare
25270         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
25271         if they differ, emit a message and fail.
25273 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
25275         PR target/105144
25276         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
25277         * config/aarch64/aarch64-tune.md: Regenerated.
25279 2022-04-04  Richard Biener  <rguenther@suse.de>
25281         PR tree-optimization/105132
25282         * tree-vect-stmts.cc (vectorizable_operation): Check that
25283         the input vectors have the same number of elements.
25285 2022-04-04  Richard Biener  <rguenther@suse.de>
25287         PR middle-end/105140
25288         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
25290 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
25292         PR target/104987
25293         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
25294         (delay slot descripts): Use different delay slot description when
25295         the insn as the "bbi" attribute.
25296         (bbi, bbin patterns): Set the bbi attribute to yes.
25298 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
25300         PR target/105123
25301         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
25302         using word as target for expand_simple_binop when doing ASHIFT and
25303         IOR.
25305 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
25307         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
25308         NULL before dereferencing it.
25310 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
25312         * config/i386/i386.cc (zero_all_st_registers): Return the value of
25313         num_of_st.
25314         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
25315         the return value of zero_all_st_registers.
25316         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
25317         * function.cc (gen_call_used_regs_seq): Add an assertion.
25318         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
25320 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
25322         PR target/102024
25323         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
25324         fields, and inform if it causes a psABI change.
25326 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
25328         PR target/102024
25329         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
25330         zero-width bit-fields and set up an indicator.
25331         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
25332         (mips_function_value_1): Diagnose when the presense of a C++
25333         zero-width bit-field changes function returning in GCC 12.
25335 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
25337         PR tree-optimization/104645
25338         * tree-ssa-phiopt.cc (value_replacement): If assign has
25339         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
25340         statement with constant evaluation.
25342 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
25344         * config/mips/mips.cc (mips_expand_prologue):
25345         IPL is 8bit for MCU ASE.
25347 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
25349         PR target/104004
25350         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
25351         (MTFSB0): Likewise.
25352         (MTFSB1): Likewise.
25353         (SET_FPSCR_RN): Likewise.
25354         (SET_FPSCR_DRN): Mark nosoft and no32bit.
25356 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
25358         * doc/options.texi (Option file format): Clarifications around
25359         option definition records' help texts.
25361 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
25363         * optc-gen.awk <END>: Fix "Multiple different help strings" error
25364         diagnostic.
25366 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
25368         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
25369         determine_suggested_unroll_factor and m_has_avg.
25370         (determine_suggested_unroll_factor): New function.
25371         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
25372         to set m_nosve_pattern.
25373         (aarch64_vector_costs::finish_costs): Use
25374         determine_suggested_unroll_factor.
25375         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
25376         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
25378 2022-03-31  Martin Jambor  <mjambor@suse.cz>
25380         PR ipa/103083
25381         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
25382         (ipa_get_jf_ancestor_keep_null): New function.
25383         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
25384         ancestor function.
25385         (compute_complex_assign_jump_func): Pass false to keep_null
25386         parameter of ipa_set_ancestor_jf.
25387         (compute_complex_ancestor_jump_func): Pass true to keep_null
25388         parameter of ipa_set_ancestor_jf.
25389         (update_jump_functions_after_inlining): Carry over keep_null from the
25390         original ancestor jump-function or merge them.
25391         (ipa_write_jump_function): Stream keep_null flag.
25392         (ipa_read_jump_function): Likewise.
25393         (ipa_print_node_jump_functions_for_edge): Print the new flag.
25394         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
25395         member function known_nonzero_p.
25396         (ipcp_bits_lattice::known_nonzero_p): New.
25397         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
25398         observe it.
25399         (ipcp_bits_lattice::meet_with): Likewise.
25400         (propagate_bits_across_jump_function): Simplify.  Pass true in
25401         drop_all_ones when it is necessary.
25402         (propagate_aggs_across_jump_function): Take care of keep_null
25403         flag.
25404         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
25405         jump functions.
25407 2022-03-31  Martin Jambor  <mjambor@suse.cz>
25409         PR ipa/102513
25410         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
25411         which do not fit the known value_range.
25413 2022-03-31  Martin Jambor  <mjambor@suse.cz>
25415         PR ipa/103171
25416         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
25417         always when an ADDR_EXPR constant is known to reach a load because
25418         of inlining, not just when removing an ADDR reference.
25420 2022-03-31  Richard Biener  <rguenther@suse.de>
25422         PR tree-optimization/105109
25423         * tree-ssa.cc (execute_update_addresses_taken): Suppress
25424         diagnostics on the load of the other complex component.
25426 2022-03-31  Tom de Vries  <tdevries@suse.de>
25428         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
25430 2022-03-31  Richard Biener  <rguenther@suse.de>
25432         PR rtl-optimization/105091
25433         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
25434         bases.
25436 2022-03-31  Richard Biener  <rguenther@suse.de>
25438         Revert:
25439         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
25441         PR target/102125
25442         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
25443         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
25445 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
25447         * gcov-io.cc (gcov_read_string): Reword documentation comment.
25449 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
25451         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
25452         stanza.
25453         (NEG_V4SF): Likewise.
25454         (NEG_V4SI): Likewise.
25455         (NEG_V8HI): Likewise.
25456         (NEG_V2DF): Move to [vsx] stanza.
25457         (NEG_V2DI): Likewise.
25459 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
25461         PR middle-end/105032
25462         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
25464 2022-03-30  Tom de Vries  <tdevries@suse.de>
25465             Tobias Burnus  <tobias@codesourcery.com>
25467         * doc/invoke.texi (march): Document __PTX_SM__.
25468         (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
25469         __PTX_ISA_VERSION_MINOR__.
25471 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
25473         PR sanitizer/105093
25474         * ubsan.cc (instrument_object_size): If t is equal to inner and
25475         is a decl other than global var, punt.  When emitting call to
25476         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
25478 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
25480         PR tree-optimization/105094
25481         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
25482         bitsize <= 0 rather than just == 0.
25484 2022-03-30  Tom de Vries  <tdevries@suse.de>
25486         * doc/invoke.texi (misa, mptx): Update.
25487         (march, march-map): Add.
25489 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
25491         * opt-functions.awk (n_args): New function.
25492         (lang_enabled_by): Merge function into...
25493         * optc-gen.awk <END>: ... sole user here.
25494         Improve diagnostics.
25496 2022-03-29  Marek Polacek  <polacek@redhat.com>
25497             Jakub Jelinek  <jakub@redhat.com>
25499         PR middle-end/103597
25500         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
25501         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
25502         (gimplify_cond_expr): Set UNUSED_LABEL_P.
25503         * tree.h (UNUSED_LABEL_P): New.
25505 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
25507         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
25508         be any VSX register.
25510 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
25512         PR target/102024
25513         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
25514         zero-sized bit-fields.  Detect cases where a warning may be needed.
25515         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
25516         zero-sized bit-field has caused parameter passing to change.
25518 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
25520         PR target/102024
25521         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
25522         bit-fields.  Detect cases where a warning may be needed.
25523         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
25524         a zero-sized bit-field has caused parameter passing to change.
25526 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
25528         PR target/96882
25529         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
25530         ARM_PCS_AAPCS_LOCAL.
25532 2022-03-29  Tom de Vries  <tdevries@suse.de>
25534         PR target/104857
25535         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
25536         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
25537         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
25538         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
25540 2022-03-29  Tom de Vries  <tdevries@suse.de>
25542         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
25543         is ignored.
25545 2022-03-29  Tom de Vries  <tdevries@suse.de>
25547         PR target/104714
25548         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
25550 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
25552         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
25553         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
25554         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
25555         (TARGET_USE_GATHER_4PARTS): New macro.
25556         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
25557         (X86_TUNE_USE_GATHER_4PARTS): New tune
25559 2022-03-29  Tom de Vries  <tdevries@suse.de>
25561         * config/nvptx/nvptx.opt (march): Add alias of misa.
25563 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25564             Lulu Cheng  <chenglulu@loongson.cn>
25566         * doc/install.texi: Add LoongArch options section.
25567         * doc/invoke.texi: Add LoongArch options section.
25568         * doc/md.texi: Add LoongArch options section.
25570 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25571             Lulu Cheng  <chenglulu@loongson.cn>
25573         * config/loongarch/loongarch-c.cc
25575 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25576             Lulu Cheng  <chenglulu@loongson.cn>
25578         * config/loongarch/larchintrin.h: New file.
25579         * config/loongarch/loongarch-builtins.cc: New file.
25581 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25582             Lulu Cheng  <chenglulu@loongson.cn>
25584         * config/host-linux.cc: Add LoongArch support.
25585         * config/loongarch/loongarch-protos.h: New file.
25586         * config/loongarch/loongarch-tune.h: Likewise.
25587         * config/loongarch/loongarch.cc: Likewise.
25588         * config/loongarch/loongarch.h: Likewise.
25590 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25591             Lulu Cheng  <chenglulu@loongson.cn>
25593         * config/loongarch/constraints.md: New file.
25594         * config/loongarch/generic.md: New file.
25595         * config/loongarch/la464.md: New file.
25596         * config/loongarch/loongarch-ftypes.def: New file.
25597         * config/loongarch/loongarch-modes.def: New file.
25598         * config/loongarch/loongarch.md: New file.
25599         * config/loongarch/predicates.md: New file.
25600         * config/loongarch/sync.md: New file.
25602 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25603             Lulu Cheng  <chenglulu@loongson.cn>
25605         * configure: Regenerate file.
25607 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
25608             Lulu Cheng  <chenglulu@loongson.cn>
25610         * common/config/loongarch/loongarch-common.cc: New file.
25611         * config/loongarch/genopts/genstr.sh: New file.
25612         * config/loongarch/genopts/loongarch-strings: New file.
25613         * config/loongarch/genopts/loongarch.opt.in: New file.
25614         * config/loongarch/loongarch-str.h: New file.
25615         * config/loongarch/gnu-user.h: New file.
25616         * config/loongarch/linux.h: New file.
25617         * config/loongarch/loongarch-cpu.cc: New file.
25618         * config/loongarch/loongarch-cpu.h: New file.
25619         * config/loongarch/loongarch-def.c: New file.
25620         * config/loongarch/loongarch-def.h: New file.
25621         * config/loongarch/loongarch-driver.cc: New file.
25622         * config/loongarch/loongarch-driver.h: New file.
25623         * config/loongarch/loongarch-opts.cc: New file.
25624         * config/loongarch/loongarch-opts.h: New file.
25625         * config/loongarch/loongarch.opt: New file.
25626         * config/loongarch/t-linux: New file.
25627         * config/loongarch/t-loongarch: New file.
25628         * config.gcc: Add LoongArch support.
25629         * configure.ac: Add LoongArch support.
25631 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
25633         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
25634         typo.
25636 2022-03-29  Richard Biener  <rguenther@suse.de>
25638         PR tree-optimization/105080
25639         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
25640         loops and SCEV.
25642 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
25644         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
25645         (output_ctf_vars): Likewise.
25647 2022-03-28  Jason Merrill  <jason@redhat.com>
25649         PR c++/59426
25650         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
25652 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
25654         PR target/105068
25655         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
25656         "Yw" in clobber.
25658 2022-03-28  Tom de Vries  <tdevries@suse.de>
25660         PR target/104818
25661         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
25662         * config/nvptx/nvptx-gen.opt: Regenerate.
25663         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
25664         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
25665         gen-opt.sh.
25667 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
25669         PR analyzer/104308
25670         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
25671         to loads then stores, set the location of the new load stmt.
25673 2022-03-28  Richard Biener  <rguenther@suse.de>
25675         PR tree-optimization/105070
25676         * tree-switch-conversion.h
25677         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
25678         argument.
25679         * tree-switch-conversion.cc
25680         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
25681         cond with location.
25682         (bit_test_cluster::emit): Annotate all generated expressions
25683         with location.
25685 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
25687         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
25689 2022-03-28  liuhongt  <hongtao.liu@intel.com>
25691         PR target/105066
25692         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
25693         alternative 4 from sse4_noavx to noavx.
25695 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
25697         PR tree-optimization/105056
25698         * tree-predcom.cc (component::component): Initialize also comp_step.
25700 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
25702         PR target/105068
25703         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
25704         "Yw".
25706 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
25708         PR middle-end/104885
25709         * calls.cc (mark_stack_region_used): Check that the region
25710         is within the allocated size of stack_usage_map.
25712 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
25714         PR rtl-optimization/103775
25715         * recog.cc (check_invalid_inc_dec): New function.
25716         (insn_invalid_p): Return 1 if REG_INC operand overlaps
25717         any stored REGs.
25719 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
25721         PR target/105058
25722         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
25723         (aes<aesklvariant>u8): Likewise.
25725 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
25727         PR target/105052
25728         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
25729         Replace "Yv" with "x".
25730         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
25731         (ssse3_psign<mode>3): Likewise.
25733 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
25735         * reload.cc (find_reloads): Align comment with code where
25736         considering the intersection of register classes then tweaking the
25737         regclass for the current alternative or rejecting it.
25739 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
25741         PR target/104882
25742         Revert
25743         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
25745         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
25746         (mve_vec_unpack<US>_hi_<mode>): Delete.
25747         (@mve_vec_pack_trunc_lo_<mode>): Delete.
25748         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
25749         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
25750         from vec-common.md.
25751         (vec_unpack<US>_lo_<mode>): Likewise.
25752         (vec_pack_trunc_<mode>): Rename from
25753         neon_quad_vec_pack_trunc_<mode>.
25754         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
25755         (vec_unpack<US>_lo_<mode>): Delete.
25756         (vec_pack_trunc_<mode>): Delete.
25758 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
25760         PR middle-end/104971
25761         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
25762         regs to clear remove_p flag.
25764 2022-03-25  Richard Biener  <rguenther@suse.de>
25766         PR tree-optimization/105053
25767         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
25768         the correct live-out stmt for a reduction chain.
25770 2022-03-25  Richard Biener  <rguenther@suse.de>
25772         PR middle-end/105049
25773         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
25774         CONSTRUCTOR first elements.
25776 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
25778         PR analyzer/103533
25779         * doc/invoke.texi (Static Analyzer Options): Move
25780         @ignore block after @gccoptlist's '}' for 'make pdf'.
25782 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
25784         PR analyzer/104954
25785         * doc/invoke.texi (Static Analyzer Options): Add
25786         -fdump-analyzer-untracked.
25788 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
25790         PR analyzer/103533
25791         * doc/invoke.texi: Document that enabling taint analyzer
25792         checker disables some warnings from `-fanalyzer`.
25794 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
25796         PR debug/104564
25797         * gimple-harden-conditionals.cc (detach_value): Keep temps
25798         anonymous.
25800 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
25802         PR middle-end/104975
25803         * gimple-harden-conditionals.cc
25804         (pass_harden_compares::execute): Force split in case of
25805         multiple edges.
25807 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
25809         PR c++/105035
25810         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
25811         field0 or field1 is not a FIELD_DECL, return false.
25813 2022-03-24  Richard Biener  <rguenther@suse.de>
25815         * tree-predcom.cc (chain::chain): Add CTOR.
25816         (component::component): Likewise.
25817         (pcom_worker::release_chain): Use delete.
25818         (release_components): Likewise.
25819         (pcom_worker::filter_suitable_components): Likewise.
25820         (pcom_worker::split_data_refs_to_components): Use new.
25821         (make_invariant_chain): Likewise.
25822         (make_rooted_chain): Likewise.
25823         (pcom_worker::combine_chains): Likewise.
25824         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
25825         Make sure to release previously constructed scalar_results.
25826         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
25827         for vec_offsets.
25828         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
25829         Release m_flag_set_edges.
25831 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
25833         PR tree-optimization/104970
25834         * tree-object-size.cc (parm_object_size): Restrict size
25835         computation scenarios to explicit access attributes.
25837 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
25839         PR target/104967
25840         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
25841         function types.
25843 2022-03-23  Richard Biener  <rguenther@suse.de>
25845         PR target/102125
25846         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
25847         use of movmisalign when either the source or destination
25848         decl is properly aligned.
25850 2022-03-23  Richard Biener  <rguenther@suse.de>
25852         PR rtl-optimization/105028
25853         * ira-color.cc (form_threads_from_copies): Remove unnecessary
25854         copying of the sorted_copies tail.
25856 2022-03-23  Martin Liska  <mliska@suse.cz>
25858         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
25859         Use %qs in format.
25860         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
25861         Reword the error message.
25863 2022-03-23  liuhongt  <hongtao.liu@intel.com>
25865         PR target/104976
25866         * config/i386/sse.md (ssePSmodelower): New.
25867         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
25868         lowpart_subreg to avoid NULL_RTX.
25869         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
25870         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
25871         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
25872         <avx512>_<complexopname>_<mode>_mask<round_name>,
25873         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
25874         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
25875         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
25876         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
25877         float<floatunssuffix><mode>v4hf2,
25878         float<floatunssuffix>v2div2hf2,
25879         fix<fixunssuffix>_truncv4hf<mode>2,
25880         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
25881         extendv2hfv2df2,
25882         trunc<mode>v4hf2,truncv2dfv2hf2,
25883         *avx512bw_permvar_truncv16siv16hi_1,
25884         *avx512bw_permvar_truncv16siv16hi_1_hf,
25885         *avx512f_permvar_truncv8siv8hi_1,
25886         *avx512f_permvar_truncv8siv8hi_1_hf,
25887         *avx512f_vpermvar_truncv8div8si_1,
25888         *avx512f_permvar_truncv32hiv32qi_1,
25889         *avx512f_permvar_truncv16hiv16qi_1,
25890         *avx512f_permvar_truncv4div4si_1,
25891         *avx512f_pshufb_truncv8hiv8qi_1,
25892         *avx512f_pshufb_truncv4siv4hi_1,
25893         *avx512f_pshufd_truncv2div2si_1,
25894         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
25895         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
25897 2022-03-22  Tom de Vries  <tdevries@suse.de>
25899         PR target/104925
25900         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
25901         Use % as register prefix.
25903 2022-03-22  Tom de Vries  <tdevries@suse.de>
25905         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
25906         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
25907         mexperimental.
25909 2022-03-22  Tom de Vries  <tdevries@suse.de>
25911         * config/nvptx/nvptx.opt (mexperimental): New option.
25913 2022-03-22  Tom de Vries  <tdevries@suse.de>
25915         PR target/104957
25916         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
25917         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
25918         for alias.
25919         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
25920         (nvptx_asm_output_def_from_decls): New function.
25921         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
25922         gcc_unreachable ().
25923         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
25924         nvptx_asm_output_def_from_decls.
25925         * config/nvptx/nvptx.opt (malias): New opt.
25927 2022-03-22  Tom de Vries  <tdevries@suse.de>
25929         PR target/104916
25930         PR target/104783
25931         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
25932         sync (or uniform warp check for mptx < 6.0).
25934 2022-03-22  Richard Biener  <rguenther@suse.de>
25936         PR tree-optimization/105012
25937         * tree-if-conv.cc (ifcvt_local_dce): Only call
25938         dse_classify_store when we have a VDEF.
25940 2022-03-22  Martin Liska  <mliska@suse.cz>
25942         PR target/104902
25943         * config/nvptx/nvptx.cc (handle_ptx_version_option):
25944         Fix option wrapping in an error message.
25946 2022-03-22  Martin Liska  <mliska@suse.cz>
25948         PR target/104903
25949         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
25950         Wrap const keyword.
25952 2022-03-22  Martin Liska  <mliska@suse.cz>
25954         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
25955         name.
25957 2022-03-22  Martin Liska  <mliska@suse.cz>
25959         PR target/104898
25960         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
25961         Use %qs instead of (%qs).
25963 2022-03-22  Martin Liska  <mliska@suse.cz>
25965         PR target/104898
25966         * config/i386/i386-options.cc (ix86_option_override_internal):
25967         Use '%qs' instead of '(%qs)'.
25969 2022-03-22  Martin Liska  <mliska@suse.cz>
25971         PR target/104898
25972         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
25973         Use 'qs' and remove usage '(%qs)'.
25974         (aarch64_handle_attr_cpu): Likewise.
25975         (aarch64_handle_attr_tune): Likewise.
25976         (aarch64_handle_attr_isa_flags): Likewise.
25978 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
25979             Andre Vieira  <andre.simoesdiasvieira@arm.com>
25981         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
25982         struct.
25983         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
25984         cost.
25985         (neoverse512tvb_tunings): Likewise.
25987 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
25988             Andre Vieira  <andre.simoesdiasvieira@arm.com>
25990         * config/aarch64/aarch64.cc (demeter_addrcost_table,
25991         demeter_regmove_cost, demeter_advsimd_vector_cost,
25992         demeter_sve_vector_cost, demeter_scalar_issue_info,
25993         demeter_advsimd_issue_info, demeter_sve_issue_info,
25994         demeter_vec_issue_info, demeter_vector_cost,
25995         demeter_tunings): New tuning structs.
25996         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
25997         tuning.
25998         * config/aarch64/aarch64-cores.def: Add entry for demeter.
25999         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
26001 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
26002             Andre Vieira  <andre.simoesdiasvieira@arm.com>
26004         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
26005         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
26006         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
26007         tunings to use cpu_memmov_cost struct.
26009 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
26010             Andre Vieira  <andre.simoesdiasvieira@arm.com>
26012         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
26013         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
26014         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
26015         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
26016         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
26017         (neoversen2_tunings): Use new structs and update tuning flags.
26018         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
26019         tuning.
26021 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
26023         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
26024         bit.
26026 2022-03-22  liuhongt  <hongtao.liu@intel.com>
26028         PR target/104982
26029         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
26030         following splitter to reversed condition.
26032 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
26034         PR rtl-optimization/104989
26035         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
26036         sorry for passing too large argument, instead set sibcall_failure
26037         for pass == 0, or a new normal_failure flag otherwise.  If
26038         normal_failure is set, don't assert all stack has been deallocated
26039         at the end and throw away the whole insn sequence.
26041 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
26043         * print-tree.cc: Change array length
26045 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
26047         PR target/104978
26048         * config/i386/sse.md
26049         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
26050         Use avx512f_movsf_mask instead of vmovaps or vblend, and
26051         force_reg before lowpart_subreg.
26052         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
26054 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
26056         PR target/105000
26057         * common/config/i386/i386-common.cc
26058         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
26059         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
26061 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
26063         PR target/104998
26064         * common/config/i386/cpuinfo.h (get_available_features): Pass
26065         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
26066         bit_AESKLE is set.
26068 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
26070         PR middle-end/104869
26071         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
26072         (clobber_group::next_clobber): Likewise.
26073         (def_lookup::prev_def): Rename to...
26074         (def_lookup::last_def_of_prev_group): ...this.
26075         (def_lookup::next_def): Rename to...
26076         (def_lookup::first_def_of_next_group): ...this.
26077         (def_lookup::matching_or_prev_def): Rename to...
26078         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
26079         (def_lookup::matching_or_next_def): Rename to...
26080         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
26081         (def_lookup::prev_def): New function, taking the lookup insn as
26082         argument.
26083         (def_lookup::next_def): Likewise.
26084         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
26085         (def_lookup::last_def_of_prev_group): ...this.
26086         (def_lookup::next_def): Rename to...
26087         (def_lookup::first_def_of_next_group): ...this.
26088         (def_lookup::matching_or_prev_def): Rename to...
26089         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
26090         (def_lookup::matching_or_next_def): Rename to...
26091         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
26092         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
26093         above renaming.
26094         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
26095         (clobber_group::next_clobber): Likewise.
26096         (def_lookup::prev_def): Likewise.
26097         (def_lookup::next_def): Likewise.
26098         (function_info::make_use_available): Pass the lookup insn to
26099         def_lookup::prev_def and def_lookup::next_def.
26101 2022-03-21  Martin Liska  <mliska@suse.cz>
26103         * doc/invoke.texi: Document min-pagesize parameter.
26105 2022-03-21  Richard Biener  <rguenther@suse.de>
26107         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
26108         we are estimating niter of loop.
26110 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
26112         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
26113         Update flag name and mask name.
26114         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
26115         misc macro for vector extensions.
26116         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
26117         (MASK_VECTOR_ELEN_32): ... this.
26118         (MASK_VECTOR_EEW_64): Rename to ...
26119         (MASK_VECTOR_ELEN_64): ... this.
26120         (MASK_VECTOR_EEW_FP_32): Rename to ...
26121         (MASK_VECTOR_ELEN_FP_32): ... this.
26122         (MASK_VECTOR_EEW_FP_64): Rename to ...
26123         (MASK_VECTOR_ELEN_FP_64): ... this.
26124         (TARGET_VECTOR_ELEN_32): New.
26125         (TARGET_VECTOR_ELEN_64): Ditto.
26126         (TARGET_VECTOR_ELEN_FP_32): Ditto.
26127         (TARGET_VECTOR_ELEN_FP_64): Ditto.
26128         (TARGET_MIN_VLEN): Ditto.
26129         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
26130         (riscv_vector_elen_flags): ... this.
26132 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
26134         PR target/104977
26135         * config/i386/sse.md
26136         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
26137         Correct round operand for intel dialect.
26139 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
26141         * diagnostic.cc (diagnostic_cc_tests): Rename to...
26142         (c_diagnostic_cc_tests): ...this.
26143         * opt-problem.cc (opt_problem_cc_tests): Rename to...
26144         (c_opt_problem_cc_tests): ...this.
26145         * selftest-run-tests.cc (selftest::run_tests): No longer run
26146         opt_problem_cc_tests or diagnostic_cc_tests.
26147         * selftest.h (diagnostic_cc_tests): Remove declaration.
26148         (opt_problem_cc_tests): Likewise.
26150 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
26152         PR jit/63854
26153         * hash-traits.h (struct typed_const_free_remove): New.
26154         (struct free_string_hash): New.
26155         * pass_manager.h: Use free_string_hash.
26156         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
26157         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
26159 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
26161         PR middle-end/104971
26162         * config/i386/i386-expand.cc
26163         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
26164         don't push/pop anything and just return const0_rtx.
26166 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
26168         PR rtl-optimization/104961
26169         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
26171 2022-03-18  Jason Merrill  <jason@redhat.com>
26173         * tree.h (IDENTIFIER_LENGTH): Add comment.
26175 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
26177         PR middle-end/99578
26178         PR middle-end/100680
26179         PR tree-optimization/100834
26180         * params.opt (--param=min-pagesize=): New parameter.
26181         * pointer-query.cc
26182         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
26183         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
26184         of zero for pointer constants equal or larger than min-pagesize.
26186 2022-03-18  Tom de Vries  <tdevries@suse.de>
26188         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
26189         Set gfor location only when dealing with a OMP_TASKLOOP.
26191 2022-03-18  Tom de Vries  <tdevries@suse.de>
26193         * gimplify.cc (gimplify_omp_for): Set taskloop location.
26195 2022-03-18  Tom de Vries  <tdevries@suse.de>
26197         PR target/104952
26198         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
26199         is executed unconditionally.
26201 2022-03-18  liuhongt  <hongtao.liu@intel.com>
26203         PR target/104974
26204         * config/i386/i386.md (*movhi_internal): Set attr type from HI
26205         to HF for alternative 12 under TARGET_AVX512FP16.
26207 2022-03-18  Cui,Lili  <lili.cui@intel.com>
26209         PR target/104963
26210         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
26211         * doc/invoke.texi: Update documents for Intel sapphirerapids.
26213 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
26215         PR target/86722
26216         PR tree-optimization/90356
26217         * config/i386/i386.md (*movtf_internal): Don't guard
26218         standard_sse_constant_p clause by optimize_function_for_size_p.
26219         (*movdf_internal): Likewise.
26220         (*movsf_internal): Likewise.
26222 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
26224         PR tree-optimization/102943
26225         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
26226         dominators and apply intermediary outgoing edge ranges.
26228 2022-03-17  Richard Biener  <rguenther@suse.de>
26230         PR tree-optimization/104960
26231         * passes.def: Add pass parameter to pass_sink_code, mark
26232         last one to unsplit edges.
26233         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
26234         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
26235         when we need to unsplit edges.
26237 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
26239         PR middle-end/103984
26240         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
26241         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
26242         and asan unpoisioning, then append the temporary sequence and
26243         finally the TARGET_EXPR_CLEANUP clobbers.
26245 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
26247         * config/i386/sse.md: Delete corrupt character/typo.
26249 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
26251         PR target/94680
26252         * config/i386/sse.md (sse2_movq128): New define_expand to
26253         preserve previous named instruction.
26254         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
26255         generalized to VI8F_128 (both V2DI and V2DF).
26257 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
26259         PR tree-optimization/104941
26260         * tree-object-size.cc (size_for_offset): Make useless conversion
26261         check lighter and assign result of fold_convert to OFFSET.
26263 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
26265         PR target/104890
26266         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
26267         pushing target("general-regs-only").
26269 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
26271         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
26272         Add version info for zk, zks and zkn.
26274 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
26276         * common/config/riscv/riscv-common.cc
26277         (riscv_combine_info): New.
26278         (riscv_subset_list::handle_combine_ext): Combine back into zk to
26279         maintain the canonical order in isa strings.
26280         (riscv_subset_list::parse): Ditto.
26281         * config/riscv/riscv-subset.h (handle_combine_ext): New.
26283 2022-03-16  Richard Biener  <rguenther@suse.de>
26285         PR tree-optimization/102008
26286         * passes.def: Move the added code sinking pass before the
26287         preceeding phiopt pass.
26289 2022-03-16  Patrick Palka  <ppalka@redhat.com>
26291         PR c++/96780
26292         * doc/invoke.texi (C++ Dialect Options): Document
26293         -ffold-simple-inlines.
26295 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
26297         PR tree-optimization/104942
26298         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
26300 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
26302         PR target/104910
26303         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
26304         imm rtx.
26306 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
26307             Richard Biener  <rguenther@suse.de>
26309         * gimple-match-head.cc (single_use): Implement inline using a
26310         single loop.
26312 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
26314         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
26315         instead of HONOR_NANS.
26316         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
26317         this can't trap/signal.
26319 2022-03-16  liuhongt  <hongtao.liu@intel.com>
26321         PR target/104946
26322         * config/i386/i386-builtin.def (BDESC): Add
26323         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
26324         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
26325         __builtin_ia32_blendvpd w/o sse4.2
26327 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
26329         PR target/104923
26330         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
26331         acceptable MEM addresses.
26333 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
26335         PR target/91229
26336         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
26337         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
26338         to warning calls.
26340 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
26342         PR target/104890
26343         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
26344         instead of general-regs-only.
26346 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
26347             Marc Glisse  <marc.glisse@inria.fr>
26348             Richard Biener  <rguenther@suse.de>
26350         PR tree-optimization/101895
26351         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
26352         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
26354 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
26356         PR rtl-optimization/104814
26357         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
26358         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
26360 2022-03-15  Martin Sebor  <msebor@redhat.com>
26362         PR middle-end/104436
26363         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
26364         Check for warning suppression.  Avoid by-value arguments transformed
26365         into by-transparent-reference.
26367 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
26368             Uroš Bizjak  <ubizjak@gmail.com>
26370         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
26371         transformation when *zero_extend<mode>si2 is not available.
26373 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
26375         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
26376         * config/mips/mips.cc (mips_option_override): Make
26377         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
26378         needed by libasan for stack backtrace on MIPS.
26379         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
26381 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
26383         PR debug/104778
26384         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
26385         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
26386         call simplified the first operand into VOIDmode constant.
26388 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
26390         PR tree-optimization/102586
26391         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
26392         argument type should be pointer to trivially-copyable type unless it
26393         is address of a variable or parameter.
26395 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
26397         PR target/99754
26398         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
26399         first   rather than last element of the vector, use __m32_u to do
26400         a really unaligned load, use just 0 instead of (int)0.
26401         (_mm_loadu_si16): Put loaded value into first rather than last
26402         element of the vector, use __m16_u to do a really unaligned load,
26403         use just 0 instead of (short)0.
26405 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
26407         PR other/104899
26408         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
26409         in diagnostic message - cannott -> cannot.  Use %< and %> around
26410         names of attribute.  Avoid too long line.
26411         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
26412         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
26414 2022-03-14  liuhongt  <hongtao.liu@intel.com>
26416         PR target/104666
26417         * config/i386/i386-expand.cc
26418         (ix86_check_builtin_isa_match): New func.
26419         (ix86_expand_builtin): Move code to
26420         ix86_check_builtin_isa_match and call it.
26421         * config/i386/i386-protos.h
26422         (ix86_check_builtin_isa_match): Declare.
26423         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
26424         builtin into gimple when isa mismatches.
26426 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
26428         * doc/invoke.texi: Fix typos.
26429         * doc/tm.texi.in: Remove duplicated word.
26430         * doc/tm.texi: Regenerate.
26432 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
26434         PR target/104829
26435         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
26436         "ppc" and "ppc64" based on rs6000_cpu.
26438 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
26440         PR middle-end/100280
26441         PR middle-end/104892
26442         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
26443         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
26445 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
26447         PR middle-end/100280
26448         PR middle-end/104086
26449         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
26450         Mark variables used in 'present' clauses as addressable.
26451         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
26452         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
26454 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
26456         PR other/65095
26457         * tree-core.h (user_omp_claus_code_name): Declare function.
26458         * tree.cc (user_omp_clause_code_name): New function.
26460 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
26462         PR middle-end/98420
26463         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
26464         (the defaut) or -fno-signed-zeros.
26466 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
26468         PR target/104868
26469         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
26470         moving from a GPR register to an Altivec register.
26472 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
26474         PR tree-optimization/98335
26475         * config/i386/i386.md (peephole2): Eliminate redundant insv.
26476         Combine movl followed by movb.  Transform xorl followed by
26477         a suitable movb or movw into the equivalent movz[bw]l.
26479 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
26480             Richard Biener  <rguenther@suse.de>
26482         PR tree-optimization/98335
26483         * builtins.cc (get_object_alignment_2): Export.
26484         * builtins.h (get_object_alignment_2): Likewise.
26485         * tree-ssa-alias.cc (ao_ref_alignment): New.
26486         * tree-ssa-alias.h (ao_ref_alignment): Declare.
26487         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
26488         to align head/tail, writing more bytes but using fewer store insns.
26490 2022-03-11  Richard Biener  <rguenther@suse.de>
26492         PR tree-optimization/104880
26493         * tree-ssa.cc (execute_update_address_taken): Remember if we
26494         optimistically made something not addressable and
26495         prepare to undo it.
26497 2022-03-11  Richard Biener  <rguenther@suse.de>
26499         PR target/104762
26500         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
26501         cost the first lane of SSE pieces as inserts for vec_construct.
26503 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
26505         PR c++/84964
26506         * calls.cc (expand_call): Ignore stack adjustments after sorry.
26508 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
26510         PR target/103074
26511         * lra-constraints.cc (split_reg): Set up
26512         check_and_force_assignment_correctness_p when splitting hard
26513         register live range.
26515 2022-03-10  Martin Jambor  <mjambor@suse.cz>
26517         PR ipa/104813
26518         * ipa-cp.cc (create_specialized_node): Move removal of
26519         self-recursive calls from callers vector before refrence
26520         adjustments.
26522 2022-03-10  Richard Biener  <rguenther@suse.de>
26524         PR tree-optimization/102943
26525         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
26526         Make a bitmap_head.
26527         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
26528         to tree view.
26529         (sbr_sparse_bitmap::set_bb_range): Adjust.
26530         (sbr_sparse_bitmap::get_bb_range): Likewise.
26532 2022-03-10  Richard Biener  <rguenther@suse.de>
26534         PR tree-optimization/102943
26535         * tree-ssa-dom.cc (back_propagate_equivalences): Only
26536         populate the dominance bitmap if fast queries are not
26537         available.  Use a tree view bitmap.
26538         (record_temporary_equivalences): Cache the dominance bitmap
26539         across all equivalences on the edge.
26541 2022-03-10  Tom de Vries  <tdevries@suse.de>
26543         PR target/104840
26544         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
26545         of false,true.
26547 2022-03-10  Tom de Vries  <tdevries@suse.de>
26549         PR target/104783
26550         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
26551         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
26552         (nvptx_get_unisimt_outside_simt_predicate): New function.
26553         (predicate_insn): New function, factored out of ...
26554         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
26555         * config/nvptx/nvptx.h (struct machine_function): Add
26556         unisimt_outside_simt_predicate field.
26557         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
26558         (define_insn "nvptx_uniform_warp_check"): Make predicable.
26560 2022-03-10  Tom de Vries  <tdevries@suse.de>
26562         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
26563         result.
26565 2022-03-10  Tom de Vries  <tdevries@suse.de>
26567         PR target/104815
26568         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
26569         modifier.
26570         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
26572 2022-03-10  Tom de Vries  <tdevries@suse.de>
26574         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
26575         Emit atom.and.b64 instead of atom.b64.and.
26577 2022-03-10  Tom de Vries  <tdevries@suse.de>
26579         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
26580         (MULTILIB_OPTIONS): ... here.
26582 2022-03-10  Tom de Vries  <tdevries@suse.de>
26584         PR target/104758
26585         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
26586         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
26588 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
26590         PR middle-end/90115
26591         PR middle-end/102330
26592         PR middle-end/104774
26593         * omp-low.cc (oacc_privatization_candidate_p)
26594         (oacc_privatization_scan_clause_chain)
26595         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
26596         Analyze 'lookup_decl'-translated DECL.
26598 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
26600         PR target/99708
26601         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
26602         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
26603         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
26604         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
26605         "**NULL**" if type_node is NULL first.  Handle
26606         ieee128_float_type_node.
26607         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
26608         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
26609         ieee128_float_type_node to NULL rather than long_double_type_node if
26610         they aren't supported.  Do support __ibm128 even if
26611         !TARGET_FLOAT128_TYPE when long double is double double.
26612         (rs6000_expand_builtin): Error if bif_is_ibm128 and
26613         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
26614         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
26615         for it.
26616         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
26617         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
26618         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
26619         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
26620         Formatting fix.
26621         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
26622         (struct attrinfo): Add isibm128 member.
26623         (TYPE_MAP_SIZE): Remove.
26624         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
26625         ibm128_float_type_node only if it is non-NULL, otherwise fall back
26626         to long_double_type_node.  Remove "pif" entry.
26627         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
26628         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
26629         (write_type_node): Use sizeof type_map / sizeof type_map[0]
26630         instead of TYPE_MAP_SIZE.
26631         (write_bif_static_init): Handle isibm128.
26632         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
26633         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
26634         attribute.
26636 2022-03-09  Richard Biener  <rguenther@suse.de>
26638         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
26639         with non-decl operand, avoiding a copy.
26641 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
26643         PR target/104781
26644         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
26646 2022-03-09  Richard Biener  <rguenther@suse.de>
26648         PR middle-end/104786
26649         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
26650         for VLAs without an upper size bound.
26652 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
26654         PR tree-optimization/104851
26655         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
26656         error.
26658 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
26660         PR c/104711
26661         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
26662         is enabled by it only for C++11 to C++17 rather than for C++03 or
26663         later.
26664         (-Wshift-negative-value): Similarly (except here we stated
26665         that it is enabled for C++11 or later).
26667 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
26669         PR rtl-optimization/104839
26670         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
26671         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
26672         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
26673         instead of incorrect 0 in SUBREG_PROMOTED_SET.
26675 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
26677         PR target/104842
26678         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
26679         value before adding an offset.
26681 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
26683         * config/arm/arm-builtins.cc
26684         (arm_binop_none_none_unone_qualifiers): Delete.
26685         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
26687 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
26689         PR translation/104552
26690         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
26691         the PCH out of memory error message punctuation and wording.
26693 2022-03-08  Marek Polacek  <polacek@redhat.com>
26695         PR rtl-optimization/104777
26696         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
26697         ASM_OPERANDS_LABEL_VEC has at least one element.
26699 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
26701         PR target/104781
26702         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
26703         stack realignment or regparm nested function with EH return.
26705 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
26707         PR target/104790
26708         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
26709         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
26710         register for non widening loads or narrowing stores.
26712 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
26714         PR translation/104552
26715         * params.opt: Fix typo.
26717 2022-03-08  Richard Biener  <rguenther@suse.de>
26719         PR tree-optimization/84201
26720         * params.opt (-param=vect-induction-float): Add.
26721         * doc/invoke.texi (vect-induction-float): Document.
26722         * tree-vect-loop.cc (vectorizable_induction): Honor
26723         param_vect_induction_float.
26725 2022-03-08  Martin Jambor  <mjambor@suse.cz>
26727         PR translation/104552
26728         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
26729         "that" in the description.
26731 2022-03-08  Richard Biener  <rguenther@suse.de>
26733         PR tree-optimization/104825
26734         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
26735         guard modref get_ao_ref on a pointer typed argument.
26737 2022-03-08  liuhongt  <hongtao.liu@intel.com>
26739         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
26740         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
26742 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
26744         * doc/invoke.texi (C++ Modules): Remove anachronism.
26746 2022-03-07  Martin Liska  <mliska@suse.cz>
26748         PR middle-end/104381
26749         * opts.cc (finish_options): If debug info is disabled
26750         (debug_info_level) and -fvar-tracking is unset, disable it.
26752 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
26754         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
26755         * config/riscv/riscv.cc: Likewise.
26756         * config/darwin.h: Likewise.
26757         * config/i386/i386.cc: Likewise.
26758         * config/aarch64/thunderx3t110.md: Likewise.
26759         * config/aarch64/fractional-cost.h: Likewise.
26760         * config/vax/vax.cc: Likewise.
26761         * config/rs6000/pcrel-opt.md: Likewise.
26762         * config/rs6000/predicates.md: Likewise.
26763         * ctfc.h: Likewise.
26764         * tree-ssa-uninit.cc: Likewise.
26765         * value-relation.h: Likewise.
26766         * gimple-range-gori.cc: Likewise.
26767         * ipa-polymorphic-call.cc: Likewise.
26768         * pointer-query.cc: Likewise.
26769         * ipa-sra.cc: Likewise.
26770         * internal-fn.cc: Likewise.
26771         * varasm.cc: Likewise.
26772         * gimple-ssa-warn-access.cc: Likewise.
26774 2022-03-07  Martin Liska  <mliska@suse.cz>
26776         PR target/104794
26777         * config/arm/arm.cc (arm_option_override_internal): Add missing
26778         space.
26780 2022-03-07  Richard Biener  <rguenther@suse.de>
26782         PR tree-optimization/104782
26783         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
26784         Re-instantiate r10-5979 fix, add comment.
26786 2022-03-07  Martin Liska  <mliska@suse.cz>
26788         PR target/104797
26789         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
26790         parenthesis from built-in name.
26792 2022-03-07  Martin Liska  <mliska@suse.cz>
26794         PR target/104794
26795         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
26796         of options in error messages.
26797         (arm_option_reconfigure_globals): Likewise.
26799 2022-03-07  Martin Liska  <mliska@suse.cz>
26801         PR target/104794
26802         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
26803         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
26804         have only range [0,32].
26806 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
26808         PR target/104775
26809         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
26810         S constraint instead of T in the last alternative.
26812 2022-03-07  Martin Liska  <mliska@suse.cz>
26814         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
26815         message.
26817 2022-03-07  Martin Liska  <mliska@suse.cz>
26819         PR translation/90148
26820         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
26821         quote to a proper place.
26822         * plugin.cc (default_plugin_dir_name): Likewise.
26824 2022-03-07  Martin Liska  <mliska@suse.cz>
26826         PR target/99297
26827         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
26828         string.
26830 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
26832         PR target/104779
26833         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
26834         define_expand pattern.  Rename define_insn to ...
26835         (*avx512dq_mul<mode>3<mask_name>): ... this.
26836         (<code><mode>3_mask): New any_logic define_expand pattern.
26837         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
26838         (*<code><mode>3<mask_name>): ... this.
26840 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
26842         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
26843         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
26845 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
26846             Uroš Bizjak  <ubizjak@gmail.com>
26848         PR testsuite/104732
26849         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
26850         Include DI mode unconditionally.
26851         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
26852         i.e. always split on !TARGET_64BIT.
26853         (*<any_or>di3_doubleword): Likewise.
26854         (*one_cmpldi2_doubleword): Likewise.
26855         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
26856         (<any_or><mode>3 expander): Likewise.
26857         (one_cmpl<mode>2 expander): Likewise.
26859 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
26861         PR target/104698
26862         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
26863         (mtvsrdd_diti_w1): Delete.
26864         (extendditi2): Convert from define_expand to
26865         define_insn_and_split.  Replace with code to deal with both GPR
26866         registers and with altivec registers.
26868 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
26870         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
26871         bit.  Handle most older CPUs.
26873 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
26875         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
26876         avoid a mismatch with DECL_MD_FUNCTION_CODE().
26878 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
26880         PR target/104117
26881         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
26882         (@machopic_low_<mode>): New.
26883         * config/rs6000/predicates.md (macho_pic_address): New.
26884         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
26885         apply the TLS processing to Darwin.
26886         * lra-constraints.cc (process_address_1): Revert the changes
26887         in r12-7209.
26889 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
26891         PR target/87496
26892         PR target/104208
26893         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
26894         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
26895         -mlong-double-128.
26896         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
26897         from here...
26898         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
26899         ... to here.
26901 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
26903         PR middle-end/104529
26904         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
26905         on automatic objects which will be runtime initialized.
26907 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
26909         PR middle-end/100280
26910         PR middle-end/104132
26911         PR middle-end/104133
26912         * omp-low.cc (task_shared_vars): Rename to
26913         'make_addressable_vars'.  Adjust all users.
26914         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
26915         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
26917 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
26919         PR middle-end/100280
26920         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
26921         * tree-core.h: Document it.
26922         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
26923         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
26924         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
26925         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
26926         'TREE_ADDRESSABLE'.
26928 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
26930         PR middle-end/100280
26931         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
26932         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
26933         '[...]' declared in block made addressable".
26935 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
26937         PR middle-end/100400
26938         PR middle-end/103836
26939         PR middle-end/104061
26940         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
26941         Catch 'GIMPLE_DEBUG'.
26943 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
26945         PR c/104627
26946         * tree.cc (warn_deprecated_use): For types prefer to use node
26947         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
26948         NULL.
26950 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
26952         PR target/104704
26953         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
26954         a pseudo register.
26956 2022-03-03  Martin Sebor  <msebor@redhat.com>
26958         PR middle-end/104761
26959         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
26960         mark_dfs_back_edges.
26962 2022-03-03  Martin Liska  <mliska@suse.cz>
26964         * configure.ac: Use linker plug-in by default.
26965         * configure: Regenerate.
26967 2022-03-03  Martin Liska  <mliska@suse.cz>
26969         * configure.ac: Now ld.mold support LTO plugin API, use it.
26970         * configure: Regenerate.
26972 2022-03-03  Tom de Vries  <tdevries@suse.de>
26974         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
26976 2022-03-03  Tom de Vries  <tdevries@suse.de>
26978         PR target/104758
26979         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
26981 2022-03-03  Tom de Vries  <tdevries@suse.de>
26983         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
26985 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
26987         PR middle-end/104757
26988         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
26989         gimplify_omp_for.
26990         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
26991         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
26993 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
26995         PR middle-end/104558
26996         * calls.cc (store_one_arg): When not calling emit_push_insn
26997         because size_rtx is const0_rtx, call at least anti_adjust_stack
26998         on arg->locate.alignment_pad if !argblock and the alignment might
26999         be non-zero.
27001 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
27003         * lra-constraints.cc (undo_optional_reloads): Recognize and
27004         drop insns of multi-word move sequences, tolerate removal
27005         iteration on an already-removed clobber, and refuse to
27006         substitute original pseudos into clobbers.
27008 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
27010         PR middle-end/102276
27011         * common.opt (-Wtrivial-auto-var-init): New option.
27012         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
27013         (-ftrivial-auto-var-init): Update option;
27014         * gimplify.cc (emit_warn_switch_unreachable): New function.
27015         (warn_switch_unreachable_r): Rename to ...
27016         (warn_switch_unreachable_and_auto_init_r): This.
27017         (maybe_warn_switch_unreachable): Rename to ...
27018         (maybe_warn_switch_unreachable_and_auto_init): This.
27019         (gimplify_switch_expr): Update calls to renamed function.
27021 2022-03-02  Richard Biener  <rguenther@suse.de>
27023         PR rtl-optimization/104686
27024         * ira-color.cc (object_conflicts_with_allocno_p): New function
27025         using a bitvector test instead of iterating when possible.
27026         (allocnos_conflict_p): Choose the best allocno to iterate over
27027         object conflicts.
27028         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
27029         last.
27031 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27033         * cfg.cc (dump_edge_info): Dump goto_locus if present.
27035 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27037         PR rtl-optimization/104589
27038         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
27039         INSN_LOCATION comparison with goto_locus.
27041 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27043         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
27044         strlen_pass::before_dom_children): Comment spelling fixes.
27046 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27048         * ipa-modref-tree.cc (modref_access_node::contains,
27049         modref_access_node::closer_pair_p, modref_access_node::insert,
27050         modref_access_node::insert_kill): Comment spelling fixes.
27051         * ipa-modref.cc: Likewise.
27052         (modref_summary::finalize, ignore_nondeterminism_p,
27053         class modref_access_analysis,
27054         modref_access_analysis::set_side_effects,
27055         modref_access_analysis::set_nondeterministic,
27056         modref_access_analysis::record_global_memory_load,
27057         modref_access_analysis::propagate, modref_access_analysis::analyze,
27058         struct escape_point, class modref_lattice, modref_lattice::merge,
27059         modref_lattice::merge_deref, class modref_eaf_analysis,
27060         modref_eaf_analysis::merge_call_lhs_flags,
27061         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
27062         modref_eaf_analysis::record_escape_points, remap_kills,
27063         update_escape_summary, remove_useless_summaries,
27064         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
27065         Likewise.
27066         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
27067         Likewise.
27068         * ipa-modref-tree.h (enum modref_special_parms,
27069         struct modref_access_node): Likewise.
27071 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
27073         PR tree-optimization/104715
27074         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
27075         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
27076         of a call if gimple_call_return_arg is equal to ptr, not just when it
27077         is non-NULL.
27079 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
27081         * gimple-ssa-warn-access.cc (warn_string_no_nul,
27082         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
27083         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
27084         pass_waccess::check_alloca, pass_waccess::check_strcat,
27085         memmodel_to_uhwi, fntype_argno_type,
27086         pass_waccess::maybe_check_access_sizes,
27087         pass_waccess::check_call_access,
27088         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
27089         Comment spelling fixes.
27091 2022-03-01  Richard Biener  <rguenther@suse.de>
27093         PR tree-optimization/104716
27094         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
27095         Check if we can copy the loop.
27097 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
27099         PR middle-end/104721
27100         * cfgexpand.cc (expand_gimple_basic_block): Clear
27101         currently_expanding_gimple_stmt when returning inside the loop.
27103 2022-03-01  Martin Liska  <mliska@suse.cz>
27105         PR ipa/104533
27106         * multiple_target.cc (get_attr_len): Move to tree.c.
27107         (expand_target_clones): Remove single value checking.
27108         * tree.cc (get_target_clone_attr_len): New fn.
27109         * tree.h (get_target_clone_attr_len): Likewise.
27111 2022-03-01  Martin Liska  <mliska@suse.cz>
27113         PR gcov-profile/104677
27114         * doc/invoke.texi: Document more .gcda file name generation.
27116 2022-03-01  Tom de Vries  <tdevries@suse.de>
27118         PR target/102429
27119         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
27120         * config/nvptx/nvptx.md
27121         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
27122         New predicate.
27123         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
27124         Use nvptx_register_or_complex_di_df_register_operand.
27126 2022-03-01  Tom de Vries  <tdevries@suse.de>
27128         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
27129         * config/nvptx/gen-copyright.sh: New file.
27130         * config/nvptx/gen-h.sh: New file.
27131         * config/nvptx/gen-opt.sh: New file.
27132         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
27133         (TARGET_SM75, TARGET_SM80): Move ...
27134         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
27135         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
27136         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
27137         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
27138         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
27140 2022-03-01  Tom de Vries  <tdevries@suse.de>
27142         * config/nvptx/gen-omp-device-properties.sh: New file.
27143         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
27145 2022-03-01  Tom de Vries  <tdevries@suse.de>
27147         * config/nvptx/nvptx-sm.def: New file.
27148         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
27149         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
27150         * config/nvptx/nvptx.cc (sm_version_to_string)
27151         (nvptx_omp_device_kind_arch_isa): Same.
27153 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
27155         PR rtl-optimization/104154
27156         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
27157         comparison ifcvt passed us.
27159 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
27161         PR target/104664
27162         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
27163         Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
27165 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
27167         PR tree-optimization/91384
27168         * config/i386/i386.md (peephole2): Eliminate final testl insn
27169         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
27170         transforming using *negsi_2 for the negation.
27172 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
27173             Eric Botcazou  <ebotcazou@adacore.com>
27175         PR middle-end/80270
27176         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
27177         register, copy it to a pseudo before calling simplify_gen_subreg.
27179 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
27181         PR rtl-optimization/104637
27182         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
27183         as possible on one subpass.
27185 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
27187         PR middle-end/104550
27188         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
27189         created uses.
27191 2022-02-28  Martin Liska  <mliska@suse.cz>
27193         PR ipa/104648
27194         * main.cc (main): Use flag_checking instead of CHECKING_P
27195         and run toplev::finalize only if there is not error seen.
27197 2022-02-28  Richard Biener  <rguenther@suse.de>
27199         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
27201 2022-02-28  Richard Biener  <rguenther@suse.de>
27203         PR tree-optimization/104700
27204         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
27205         into ...
27206         (find_or_generate_expression): ... here, simplifying code.
27208 2022-02-28  Tom de Vries  <tdevries@suse.de>
27210         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
27211         PTX_VERSION_default.
27212         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
27213         PTX_VERSION_default.
27214         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
27216 2022-02-28  Richard Biener  <rguenther@suse.de>
27218         PR rtl-optimization/104686
27219         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
27220         skipping bits that are zero.
27221         (ira_object_conflict_iter_cond): Likewise.
27223 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
27225         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
27226         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
27227         char to avoid error when using ~enum as parameter.
27228         (_mm512_mask_ternarylogic_epi64): Likewise.
27229         (_mm512_maskz_ternarylogic_epi64): Likewise.
27230         (_mm512_ternarylogic_epi32): Likewise.
27231         (_mm512_mask_ternarylogic_epi32): Likewise.
27232         (_mm512_maskz_ternarylogic_epi32): Likewise.
27233         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
27234         Adjust imm param type to unsigned char.
27235         (_mm256_mask_ternarylogic_epi64): Likewise.
27236         (_mm256_maskz_ternarylogic_epi64): Likewise.
27237         (_mm256_ternarylogic_epi32): Likewise.
27238         (_mm256_mask_ternarylogic_epi32): Likewise.
27239         (_mm256_maskz_ternarylogic_epi32): Likewise.
27240         (_mm_ternarylogic_epi64): Likewise.
27241         (_mm_mask_ternarylogic_epi64): Likewise.
27242         (_mm_maskz_ternarylogic_epi64): Likewise.
27243         (_mm_ternarylogic_epi32): Likewise.
27244         (_mm_mask_ternarylogic_epi32): Likewise.
27245         (_mm_maskz_ternarylogic_epi32): Likewise.
27247 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27248             Marc Glisse  <marc.glisse@inria.fr>
27250         PR tree-optimization/104675
27251         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
27252         Restrict simplifications to INTEGRAL_TYPE_P.
27254 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27256         PR target/104681
27257         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
27259 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
27261         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
27262         comparison is not valid.
27263         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
27264         (movdicc): Likewise.
27265         (movsfcc): Likewise.
27266         (movdfcc): Likewise.
27268 2022-02-25  Richard Biener  <rguenther@suse.de>
27270         PR tree-optimization/103037
27271         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
27272         (vn_nary_length_from_stmt): Likewise.
27273         (init_vn_nary_op_from_stmt): Likewise.
27274         (vn_nary_op_compute_hash): Likewise.
27275         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
27276         (vn_nary_length_from_stmt): Likewise.
27277         (init_vn_nary_op_from_stmt): Likewise.
27278         (vn_nary_op_compute_hash): Likewise.
27279         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
27280         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
27281         (re-)compute the hash value and if the expression is not
27282         found allocate it from pre_expr_obstack.
27283         (phi_translate_1): Do not insert the NARY found in the
27284         VN tables but build a PRE expression from the valueized
27285         NARY with the value-id we eventually found.
27286         (find_or_generate_expression): Assert we have an entry
27287         for constant values.
27288         (compute_avail): Insert not valueized expressions into
27289         EXP_GEN using the value-id from the VN tables.
27290         (init_pre): Allocate pre_expr_obstack.
27291         (fini_pre): Free pre_expr_obstack.
27293 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27295         PR target/104674
27296         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
27297         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
27298         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
27300 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27302         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
27304 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27306         PR middle-end/104679
27307         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
27309 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27311         PR tree-optimization/104675
27312         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
27313         COMPLEX_TYPE.
27315 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
27317         PR target/104121
27318         PR target/103302
27319         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
27321 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
27323         PR middle-end/104540
27324         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
27325         dw_cfi_cfa_loc.
27327 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
27329         PR tree-optimization/103856
27330         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
27331         eh edge to be requested through an extra parameter.
27332         (pass_harden_compares::execute): Copy PHI args in the EH dest
27333         block for the new EH edge added for the inverted compare.
27335 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
27337         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
27338         of position independence that -mcmodel=medany affords.
27340 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
27342         PR target/104656
27343         * configure.ac: --disable-gcov if targetting bpf-*.
27344         * configure: Regenerate.
27346 2022-02-24  Richard Biener  <rguenther@suse.de>
27348         PR tree-optimization/104676
27349         * tree-loop-distribution.cc (loop_distribution::execute):
27350         Do a full scev_reset.
27352 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
27354         PR tree-optimization/104601
27355         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
27356         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
27357         vuse value number.
27359 2022-02-24  Tom de Vries  <tdevries@suse.de>
27360             Tobias Burnus  <tobias@codesourcery.com>
27362         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
27363         sm_70, sm_75 and sm_80.
27364         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
27366 2022-02-24  Tom de Vries  <tdevries@suse.de>
27368         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
27369         "rotrsi3"): New define_insn.
27371 2022-02-24  Tom de Vries  <tdevries@suse.de>
27373         * config/nvptx/nvptx.cc (gen_comment): Use
27374         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
27376 2022-02-24  liuhongt  <hongtao.liu@intel.com>
27378         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
27379         isa attr of alternative 2 from avx to avx512vl.
27381 2022-02-23  Richard Biener  <rguenther@suse.de>
27382             Jakub Jelinek  <jakub@redhat.com>
27384         PR tree-optimization/104644
27385         * doc/match-and-simplify.texi: Amend ! documentation.
27386         * genmatch.cc (expr::gen_transform): Code-generate ! support
27387         for GENERIC.
27388         (parser::parse_expr): Allow ! for GENERIC.
27389         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
27390         bswap.
27392 2022-02-23  Richard Biener  <rguenther@suse.de>
27394         PR tree-optimization/101636
27395         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
27396         vector type of the node.
27397         (vect_slp_analyze_operations): Make sure the CTOR
27398         is vectorized with an expected type.
27399         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
27401 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
27403         PR c/104633
27404         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
27405         Don't warn about calls to corresponding builtin from extern inline
27406         gnu_inline wrappers.
27408 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
27410         PR target/104489
27411         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
27413 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
27415         PR target/100757
27416         PR target/101325
27417         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
27418         typo.
27420 2022-02-23  Cui,Lili  <lili.cui@intel.com>
27422         * doc/invoke.texi: Update documents for Intel architectures.
27424 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
27426         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
27427         bootstrap.
27429 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
27431         * omp-low.cc (omp_build_component_ref): Move function...
27432         * omp-general.cc (omp_build_component_ref): ... here.  Remove
27433         'static'.
27434         * omp-general.h (omp_build_component_ref): Declare function.
27435         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
27436         function.
27437         (build_receiver_ref, build_sender_ref): Call
27438         'omp_build_component_ref' instead.
27440 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
27442         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
27443         simplify.  Adjust all users.
27445 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
27447         PR target/88134
27448         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
27449         atomic_update_decl): Add GTY markup.
27451 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27453         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
27455 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27457         PR target/100757
27458         PR target/101325
27459         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
27460         predicate.
27461         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
27462         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
27463         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
27464         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
27465         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
27466         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
27467         * config/arm/mve.md: Use VxBI instead of HI.
27469 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27471         PR target/100757
27472         PR target/101325
27473         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
27474         qualifier.
27475         (STRSBU_P_QUALIFIERS): Likewise.
27476         (LDRGBS_Z_QUALIFIERS): Likewise.
27477         (LDRGBU_Z_QUALIFIERS): Likewise.
27478         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
27479         (LDRGBWBS_Z_QUALIFIERS): Likewise.
27480         (LDRGBWBU_Z_QUALIFIERS): Likewise.
27481         (STRSBWBS_P_QUALIFIERS): Likewise.
27482         (STRSBWBU_P_QUALIFIERS): Likewise.
27483         * config/arm/mve.md: Use VxBI instead of HI.
27485 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27487         PR target/100757
27488         PR target/101325
27489         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
27490         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
27491         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27492         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27493         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
27494         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
27495         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
27496         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
27497         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
27498         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
27499         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
27500         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
27501         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
27502         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
27503         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
27504         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
27505         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27506         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27507         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27508         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27509         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
27510         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
27511         (STRS_P_QUALIFIERS): Use predicate qualifier.
27512         (STRU_P_QUALIFIERS): Likewise.
27513         (STRSU_P_QUALIFIERS): Likewise.
27514         (STRSS_P_QUALIFIERS): Likewise.
27515         (LDRGS_Z_QUALIFIERS): Likewise.
27516         (LDRGU_Z_QUALIFIERS): Likewise.
27517         (LDRS_Z_QUALIFIERS): Likewise.
27518         (LDRU_Z_QUALIFIERS): Likewise.
27519         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27520         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27521         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
27522         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
27523         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
27524         * config/arm/mve.md: Use MVE_VPRED instead of HI.
27526 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27528         PR target/100757
27529         PR target/101325
27530         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
27531         Delete.
27532         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
27533         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
27534         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
27535         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
27536         predicated qualifiers.
27537         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
27538         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
27540 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27542         PR target/100757
27543         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
27544         (arm_expand_vector_compare): Update prototype.
27545         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
27546         (arm_vector_mode_supported_p): Add support for VxBI modes.
27547         (arm_expand_vector_compare): Remove useless generation of vpsel.
27548         (arm_expand_vcond): Fix select operands.
27549         (arm_get_mask_mode): New.
27550         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
27551         (vec_cmpu<mode><MVE_vpred>): New.
27552         (vcond_mask_<mode><MVE_vpred>): New.
27553         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
27554         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
27555         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
27556         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
27557         and disable for MVE.
27558         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
27560 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27562         PR target/100757
27563         PR target/101325
27564         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
27565         (BINOP_PRED_NONE_NONE_QUALIFIERS)
27566         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
27567         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
27568         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
27569         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
27570         modes.
27571         (arm_mode_to_pred_mode): New.
27572         (arm_expand_vector_compare): Use the right VxBI mode instead of
27573         HI.
27574         (arm_expand_vcond): Likewise.
27575         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
27576         (mve_bool_vec_to_const): New.
27577         (neon_make_constant): Call mve_bool_vec_to_const when needed.
27578         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
27579         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
27580         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
27581         (vpselq_s, vpselq_f): Use new predicated qualifiers.
27582         * config/arm/constraints.md (DB): New.
27583         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
27584         (MVE_VPRED, MVE_vpred): New attribute iterators.
27585         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
27586         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
27587         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
27588         (@mve_vpselq_<supf>v2di): Define separately.
27589         (mov<mode>): New expander for VxBI modes.
27590         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
27591         MVE_7_HI iterator and add support for DB constraint.
27593 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27594             Richard Sandiford  <richard.sandiford@arm.com>
27596         PR target/100757
27597         PR target/101325
27598         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
27599         VNx2BI): Update definition.
27600         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
27601         simd types.
27602         (arm_init_builtin): Map predicate vectors arguments to HImode.
27603         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
27604         rtx. Move return value to HImode rtx.
27605         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
27606         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
27607         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
27608         Pred2x8_t,Pred4x4_t): New.
27609         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
27610         * genmodes.cc (mode_data): Add boolean field.
27611         (blank_mode): Initialize it.
27612         (make_complex_modes): Fix handling of boolean modes.
27613         (make_vector_modes): Likewise.
27614         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
27615         (make_vector_bool_mode): Likewise.
27616         (BOOL_MODE): New.
27617         (make_bool_mode): New.
27618         (emit_insn_modes_h): Fix generation of boolean modes.
27619         (emit_class_narrowest_mode): Likewise.
27620         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
27621         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
27622         define BImode.
27623         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
27624         Fix handling of constm1_rtx for VECTOR_BOOL.
27625         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
27626         (native_decode_vector_rtx): Likewise.
27627         (test_vector_ops_duplicate): Skip vec_merge test
27628         with vectors of booleans.
27629         * varasm.cc (output_constant_pool_2): Likewise.
27631 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27633         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
27634         for operand 1.
27636 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27638         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
27640 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
27642         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
27643         (REG_CLASS_NAMES): Likewise.
27644         (REG_CLASS_CONTENTS): Likewise.
27645         (CLASS_MAX_NREGS): Handle VPR.
27646         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
27648 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
27649             Tom de Vries  <tdevries@suse.de>
27651         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
27652         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
27653         Likewise.
27654         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
27656 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
27657             Tom de Vries  <tdevries@suse.de>
27659         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
27660         * doc/invoke.texi (-mptx): Update for new values and defaults.
27662 2022-02-22  Tom de Vries  <tdevries@suse.de>
27664         * config/nvptx/nvptx.cc (gen_comment): New function.
27665         (workaround_uninit_method_1, workaround_uninit_method_2)
27666         (workaround_uninit_method_3): : Use gen_comment.
27667         * config/nvptx/nvptx.opt (mptx-comment): New option.
27669 2022-02-22  Richard Biener  <rguenther@suse.de>
27671         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
27672         for a splat.
27674 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
27675             Richard Biener  <rguenther@suse.de>
27677         * fold-const.cc (ctor_single_nonzero_element): New function to
27678         return the single non-zero element of a (vector) constructor.
27679         * fold-const.h (ctor_single_nonzero_element): Prototype here.
27680         * match.pd (reduc (constructor@0)): Simplify reductions of a
27681         constructor containing a single non-zero element.
27682         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
27683         reductions of vector operations of the same operator with
27684         constant vector operands.
27686 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
27688         PR tree-optimization/104604
27689         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
27690         Only check if gimple_assign_rhs1 is COMPLEX_CST if
27691         gimple_assign_rhs_code is COMPLEX_CST.
27693 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
27695         PR target/104612
27696         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
27697         on input operands before calling lowpart_subreg on it.  For output
27698         operand, use a vmode pseudo as destination and then move its lowpart
27699         subreg into operands[0] if lowpart_subreg fails on dest.
27700         (ix86_expand_xorsign): Likewise.
27702 2022-02-22  Richard Biener  <rguenther@suse.de>
27704         PR tree-optimization/104582
27705         PR target/99881
27706         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
27707         Cost GPR to vector register moves for integer vector construction.
27709 2022-02-22  Richard Biener  <rguenther@suse.de>
27711         PR tree-optimization/104582
27712         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
27713         (vector_costs::add_stmt_cost): Add SLP node parameter.
27714         (dump_stmt_cost): Likewise.
27715         (add_stmt_cost): Likewise, new overload and adjust.
27716         (add_stmt_costs): Adjust.
27717         (record_stmt_cost): New overload.
27718         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
27719         (vector_costs::add_stmt_cost): Adjust.
27720         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
27721         Adjust.
27722         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
27723         the SLP node for costing.
27724         (vectorizable_slp_permutation): Likewise.
27725         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
27726         new overloads.
27727         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
27728         Adjust.
27729         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
27730         Adjust.
27731         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
27732         Adjust.
27733         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
27735 2022-02-22  Richard Biener  <rguenther@suse.de>
27737         PR tree-optimization/104582
27738         * tree-vectorizer.h (add_stmt_cost): New overload.
27739         (record_stmt_cost): Likewise.
27740         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
27741         Use add_stmt_costs.
27742         (vect_get_known_peeling_cost): Use new overloads.
27743         (vect_estimate_min_profitable_iters): Likewise.  Consistently
27744         use scalar_stmt for costing versioning checks.
27745         * tree-vect-stmts.cc (record_stmt_cost): New overload.
27747 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
27749         PR target/103069
27750         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
27751         Split atomic fetch and loop part.
27752         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
27753         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
27754         prototype.
27755         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
27756         expander under TARGET_RELAX_CMPXCHG_LOOP.
27757         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
27759 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
27761         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
27762         Change wb_candidate[12] to wb_push_candidate[12].
27763         (aarch64_layout_frame): Likewise, and
27764         change callee_adjust when scs is enabled.
27765         (aarch64_save_callee_saves):
27766         Change wb_candidate[12] to wb_push_candidate[12].
27767         (aarch64_restore_callee_saves):
27768         Change wb_candidate[12] to wb_pop_candidate[12].
27769         (aarch64_get_separate_components):
27770         Change wb_candidate[12] to wb_push_candidate[12].
27771         (aarch64_expand_prologue): Push x30 onto SCS before it's
27772         pushed onto stack.
27773         (aarch64_expand_epilogue): Pop x30 frome SCS, while
27774         preventing it from being popped from the regular stack again.
27775         (aarch64_override_options_internal): Add SCS compile option check.
27776         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
27777         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
27778         wb_pop_candidate[12], and rename wb_candidate[12] to
27779         wb_push_candidate[12].
27780         * config/aarch64/aarch64.md (scs_push): New template.
27781         (scs_pop): Likewise.
27782         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
27783         * doc/tm.texi: Regenerate.
27784         * doc/tm.texi.in: Add hook have_shadow_call_stack.
27785         * flag-types.h (enum sanitize_code):
27786         Add SANITIZE_SHADOW_CALL_STACK.
27787         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
27788         and exclude SANITIZE_SHADOW_CALL_STACK.
27789         * target.def: New hook.
27790         * toplev.cc (process_options): Add SCS compile option check.
27791         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
27793 2022-02-21  Tom de Vries  <tdevries@suse.de>
27795         PR target/104440
27796         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
27797         (workaround_uninit_method_2, workaround_uninit_method_3)
27798         (workaround_uninit): New function.
27799         (nvptx_reorg): Use workaround_uninit.
27800         * config/nvptx/nvptx.opt (minit-regs): New option.
27802 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
27804         PR rtl-optimization/104498
27805         * alias.cc (compare_base_symbol_refs): Correct distance computation
27806         when swapping x and y.
27808 2022-02-21  Andrew Pinski  <apinski@marvell.com>
27810         PR c/104506
27811         * tree-ssa.cc (tree_ssa_useless_type_conversion):
27812         Check the inner type before calling useless_type_conversion_p.
27814 2022-02-19  Tom de Vries  <tdevries@suse.de>
27816         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
27817         * config/nvptx/nvptx.md
27818         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
27819         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
27820         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
27821         (define_expand "atomic_store<mode>"): Handle rename.  Use
27822         nvptx_atomic_store instead of atomic_exchange.
27824 2022-02-19  Tom de Vries  <tdevries@suse.de>
27826         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
27827         insns with atomic attribute.  Assert that all handled insns are
27828         PARALLELs.
27829         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
27830         Set atomic attribute to false.
27832 2022-02-19  Tom de Vries  <tdevries@suse.de>
27834         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
27835         type to bool.
27836         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
27837         nvptx_warpsync, if necessary.
27839 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
27841         PR sanitizer/102656
27842         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
27843         known to be within bounds, treat it like automatic variables.
27844         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
27845         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
27846         it addressable.
27848 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
27850         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
27851         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
27852         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
27853         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
27854         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
27855         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
27856         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
27857         power10_sched_reorder): Likewise.
27858         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
27859         gen_addadd): Likewise
27860         * config/rs6000/fusion.md: Regenerate.
27862 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
27864         PR target/104257
27865         PR target/104598
27866         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
27867         rather than __posix_memalign.
27869 2022-02-18  Richard Biener  <rguenther@suse.de>
27871         PR target/104581
27872         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
27873         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
27874         of calling ix86_avx_u128_mode_source which would eventually
27875         have returned AVX_U128_ANY in some very special case.
27877 2022-02-18  Richard Biener  <rguenther@suse.de>
27879         PR tree-optimization/96881
27880         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
27881         CLOBBER handling.
27882         (control_parents_preserved_p): New function.
27883         (eliminate_unnecessary_stmts): Check that we preserved control
27884         parents before retaining a CLOBBER.
27885         (perform_tree_ssa_dce): Pass down aggressive flag
27886         to eliminate_unnecessary_stmts.
27888 2022-02-17  Jason Merrill  <jason@redhat.com>
27890         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
27891         on TYPE_MAIN_VARIANT.
27893 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
27895         PR target/104257
27896         * config/rs6000/bmi2intrin.h: Uglify local variables.
27897         * config/rs6000/emmintrin.h: Likewise.
27898         * config/rs6000/mm_malloc.h: Likewise.
27899         * config/rs6000/mmintrin.h: Likewise.
27900         * config/rs6000/pmmintrin.h: Likewise.
27901         * config/rs6000/smmintrin.h: Likewise.
27902         * config/rs6000/tmmintrin.h: Likewise.
27903         * config/rs6000/xmmintrin.h: Likewise.
27905 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
27907         PR target/104335
27908         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
27909         if the expected comparison's first operand is of mode MODE_CC.
27911 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
27913         PR rtl-optimization/104447
27914         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
27915         hard reg set by lra_no_alloc_regs.
27917 2022-02-17  liuhongt  <hongtao.liu@intel.com>
27919         PR tree-optimization/104551
27920         PR tree-optimization/103771
27921         * match.pd (cond_expr_convert_p): Add types_match check when
27922         convert is extension.
27923         * tree-vect-patterns.cc
27924         (gimple_cond_expr_convert_p): Adjust comments.
27925         (vect_recog_cond_expr_convert_pattern): Ditto.
27927 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
27929         PR debug/104557
27930         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
27931         if expr has VOIDmode.
27933 2022-02-17  liuhongt  <hongtao.liu@intel.com>
27935         * config/i386/cpuid.h (bit_MPX): Removed.
27936         (bit_BNDREGS): Ditto.
27937         (bit_BNDCSR): Ditto.
27939 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
27941         PR target/99708
27942         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
27943         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
27944         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
27945         is created.
27947 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
27949         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
27950         range_compatible_p instead of direct type comparison.
27952 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
27954         PR rtl-optimization/104544
27955         * combine.cc (try_combine): When looking for insn whose links
27956         should be updated from i3 to i2, don't stop on debug insns, instead
27957         skip over them.
27959 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
27961         PR target/100056
27962         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
27963         * config/aarch64/aarch64.md: Extend the PR100056 patterns
27964         to handle plus in the same way as ior, if the operands have
27965         no set bits in common.
27967 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
27969         PR tree-optimization/104526
27970         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
27971         new routine.
27972         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
27973         of dependency chain if there isn't one.
27974         (gori_compute::condexpr_adjust): New.
27975         * gimple-range-gori.h (class gori_compute): New prototype.
27977 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
27979         PR target/100874
27980         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
27981         Declare.
27982         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
27983         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
27985 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
27987         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
27988         (vect_scalar_ops_slice_hash): Likewise.
27989         (vect_scalar_ops_slice::op): New function.
27990         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
27991         (vect_scalar_ops_slice_hash::hash): Likewise.
27992         (vect_scalar_ops_slice_hash::equal): Likewise.
27993         (vect_prologue_cost_for_slp): Check for duplicate vectors.
27994         * config/aarch64/aarch64.cc
27995         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
27996         (aarch64_aligned_constant_offset_p): New function.
27997         (aarch64_stp_sequence_cost): Likewise.
27998         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
27999         (aarch64_vector_costs::finish_cost): Likewise.
28001 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
28003         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
28004         use after free.
28006 2022-02-15  Richard Biener  <rguenther@suse.de>
28008         PR tree-optimization/104543
28009         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
28010         come after the inner loop.
28012 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
28014         PR target/104536
28015         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
28016         cannot instead of can%'t in diagnostics.  Formatting fixes.
28018 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
28020         PR middle-end/104522
28021         * fold-const.h (native_interpret_real): Declare.
28022         * fold-const.cc (native_interpret_real): No longer static.  Don't
28023         perform MODE_COMPOSITE_P verification here.
28024         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
28025         for all modes.
28026         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
28027         instead of native_interpret_expr.
28028         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
28029         and comparison verification for all FLOAT_MODE_P modes, not just
28030         MODE_COMPOSITE_P.
28032 2022-02-15  Richard Biener  <rguenther@suse.de>
28034         PR tree-optimization/104519
28035         * fold-const.cc (multiple_of_p): Remove never true condition.
28036         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
28037         the appropriate types for determining whether the difference
28038         of final and base is a multiple of the step.
28040 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
28042         PR debug/104517
28043         * omp-low.cc (task_cpyfns): New variable.
28044         (delete_omp_context): Don't call finalize_task_copyfn from here.
28045         (create_task_copyfn): Push task_stmt into task_cpyfns.
28046         (execute_lower_omp): Call finalize_task_copyfn here on entries from
28047         task_cpyfns vector and release the vector.
28049 2022-02-14  Martin Sebor  <msebor@redhat.com>
28051         PR middle-end/104355
28052         * doc/invoke.texi (-Warray-bounds): Update documentation.
28054 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
28056         PR target/104253
28057         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
28058         conversion functions used to convert IFmode types.
28060 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
28062         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
28064 2022-02-14  Richard Biener  <rguenther@suse.de>
28066         PR tree-optimization/104528
28067         * tree-ssa.h (find_released_ssa_name): Declare.
28068         * tree-ssa.cc (find_released_ssa_name): Export.
28069         * cfgloop.cc (verify_loop_structure): Look for released
28070         SSA names in loops nb_iterations.
28071         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
28072         estimates.
28074 2022-02-14  Richard Biener  <rguenther@suse.de>
28076         PR tree-optimization/104511
28077         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
28078         touching DFP <-> FP conversions.
28080 2022-02-14  Richard Biener  <rguenther@suse.de>
28082         PR middle-end/104497
28083         * gimplify.cc (gimplify_compound_lval): Make sure the
28084         base is a non-register if needed and possible.
28086 2022-02-13  liuhongt  <hongtao.liu@intel.com>
28088         PR target/103771
28089         * match.pd (cond_expr_convert_p): New match.
28090         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
28091         (vect_recog_cond_expr_convert_pattern): New.
28093 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
28095         PR sanitizer/104449
28096         * asan.cc: Include tree-eh.h.
28097         (handle_builtin_alloca): Handle the case when __builtin_alloca or
28098         __builtin_alloca_with_align can throw.
28100 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
28102         PR target/104502
28103         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
28104         and AVX512VL isn't available, move operands[1] to operands[0] first.
28106 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
28108         PR target/79754
28109         * config/i386/i386.cc (type_natural_mode):
28110         Skip decimal float vector modes.
28112 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
28113             Vladimir Makarov  <vmakarov@redhat.com>
28115         PR target/104117
28116         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
28117         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
28118         emitting PIC code.
28119         (legitimate_lo_sum_address_p): Likewise.
28120         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
28121         load from an invalid lo_sum address.
28123 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28125         PR tree-optimization/104499
28126         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
28127         of convert.
28129 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28131         * tree.cc (build_common_builtin_nodes): Fix up formatting in
28132         __builtin_clear_padding decl creation.
28133         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
28134         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
28135         argument rather than in 3rd argument.
28136         (gimplify_call_expr): Likewise.  Fix up comment formatting.
28137         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
28138         2 arguments instead of 3, take for_auto_init from the value
28139         of 2nd argument.
28141 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
28143         PR rtl-optimization/104400
28144         * lra-constraints.cc (process_alt_operands): Don't make union of
28145         this_alternative_exclude_start_hard_regs when reg class in insn
28146         alternative covers other reg classes in the same alternative.
28148 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28150         PR middle-end/104446
28151         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
28152         operands.
28154 2022-02-11  Richard Biener  <rguenther@suse.de>
28156         PR middle-end/104496
28157         * internal-fn.cc (vectorized_internal_fn_supported_p):
28158         Bail out for integer mode vector types.
28160 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28162         PR rtl-optimization/104459
28163         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
28164         moving DEBUG_INSNs between bbs.
28166 2022-02-11  liuhongt  <hongtao.liu@intel.com>
28168         PR tree-optimization/104479
28169         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
28170         for the dest of uncond_op.
28172 2022-02-11  Tom de Vries  <tdevries@suse.de>
28174         PR target/104456
28175         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
28176         insn.
28178 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
28180         PR middle-end/100775
28181         * function.cc (gen_call_used_regs_seq): Call
28182         df_update_exit_block_uses when updating df.
28184 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
28186         PR target/104469
28187         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
28188         Change operand 1 constraint to register_operand.
28190 2022-02-10  Richard Biener  <rguenther@suse.de>
28192         PR tree-optimization/104373
28193         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
28194         walk kind.
28195         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
28196         walk kind as argument.
28197         (run_rpo_vn): Adjust.
28198         (pass_fre::execute): Likewise.
28199         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
28200         blocks not reachable.
28201         (execute_late_warn_uninitialized): Mark all edges as
28202         executable.
28203         (execute_early_warn_uninitialized): Use VN to compute
28204         executable edges.
28205         (pass_data_early_warn_uninitialized): Enable a dump file,
28206         change dump name to warn_uninit.
28208 2022-02-10  Richard Biener  <rguenther@suse.de>
28210         PR middle-end/104467
28211         * match.pd (vector extract simplification): Multiply the
28212         number of CTOR elements with the number of element elements.
28214 2022-02-10  Richard Biener  <rguenther@suse.de>
28216         PR tree-optimization/104466
28217         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
28218         for the MR_DEPENDENCE checks as intended.
28220 2022-02-10  Tom de Vries  <tdevries@suse.de>
28222         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
28223         define_insn.
28224         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
28225         TARGET_SM70.
28226         (define_c_enum "unspecv"): Add UNSPECV_ST.
28228 2022-02-10  Tom de Vries  <tdevries@suse.de>
28230         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
28231         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
28232         (nvptx_mem_maybe_shared_p): New function.
28233         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
28234         define_expand.
28236 2022-02-10  Tom de Vries  <tdevries@suse.de>
28238         PR target/97005
28239         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
28240         driver JIT bug by using sub.s16 instead of sub.u16.
28242 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28244         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
28245         floating point constants as operands 1 and/or 2.
28247 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28249         PR target/104345
28250         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
28251         (sel_false<mode>): Likewise.
28252         (define_code_iterator eqne): New code iterator for EQ and NE.
28253         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
28254         the negation of a selp instruction.
28255         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
28256         the bitwise not of a selp instruction.
28257         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
28259 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28261         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
28262         in machine description.
28263         (logic): Move code attribute earlier in machine description.
28264         (ilogic): New code attribute, like logic but "ior" for IOR.
28265         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
28266         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
28267         (<ilogic>bi3): New define_insn for BI mode logic operations.
28268         (define_split): Lower logic operations from integer modes to
28269         BI mode predicate operations.
28271 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28273         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
28274         (one_cmplbi2): New define_insn for not.pred.
28275         (mulditi3): New define_expand for signed widening multiply.
28276         (umulditi3): New define_expand for unsigned widening multiply.
28277         (smul<mode>3_highpart): New define_insn for signed highpart mult.
28278         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
28279         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
28280         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
28281         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
28282         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
28283         (*setcc<mode>_from_not_bi): New define_insn.
28284         (*setcc_isinf<mode>): New define_insn for testp.infinite.
28285         (isinf<mode>2): New define_expand.
28287 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28289         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
28290         (setcc<mode>_from_bi): Additionally support QImode.
28291         (extendbi<mode>2): Additionally support QImode.
28292         (zero_extendbi<mode>2): Additionally support QImode.
28293         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
28294         iterators for signed and unsigned, binary and unary operations.
28295         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
28296         expanders to perform QImode operations using SImode instructions.
28297         (cstoreqi4): New define_expand.
28298         (*ext_truncsi2_qi): New define_insn.
28299         (*zext_truncsi2_qi): New define_insn.
28301 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28303         * config/nvptx/nvptx.md (*cmpf): New define_insn.
28304         (cstorehf4): New define_expand.
28305         (fmahf4): New define_insn.
28306         (neghf2): New define_insn.
28307         (abshf2): New define_insn.
28309 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
28311         * doc/install.texi (Specific): Change the www.bitwizard.nl
28312         reference to use https.
28314 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
28316         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
28317         OMP_CLAUSE_HAS_DEVICE_ADDR
28318         and handle array sections.
28319         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
28320         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
28321         (lower_omp_target): Same.
28322         * tree-core.h (enum omp_clause_code): Same.
28323         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
28324         (convert_local_omp_clauses): Same.
28325         * tree-pretty-print.cc (dump_omp_clause): Same.
28326         * tree.cc: Same.
28328 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
28330         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
28331         that will result in direct recursive calls.
28333 2022-02-10  Andrew Pinski  <apinski@marvell.com>
28335         PR target/104474
28336         * config/aarch64/aarch64.cc
28337         (aarch64_sve_expand_vector_init_handle_trailing_constants):
28338         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
28340 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
28342         PR target/104462
28343         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
28344         Also include OPTION_MASK_ISA2_AVX2_UNSET.
28346 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
28348         PR target/104458
28349         * config/i386/i386-expand.cc (ix86_split_idivmod):
28350         Force operands[2] and operands[3] into a register..
28352 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
28354         PR target/97040
28355         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
28356         (*v850_fnmssf4): Renamed from fnmssf4
28358 2022-02-09  Ian Lance Taylor  <iant@golang.org>
28360         * godump.cc (go_force_record_alignment): Really name the alignment
28361         field "_" (complete 2021-12-29 change).
28363 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
28365         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
28366         function prototype.
28367         (VREPLACE_UN_UV4SI): Likewise.
28368         (VREPLACE_UN_V2DF): Likewise.
28369         (VREPLACE_UN_V2DI): Likewise.
28370         (VREPLACE_UN_V4SF): Likewise.
28371         (VREPLACE_UN_V4SI): Likewise.
28372         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
28373         function prototypes.
28374         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
28375         (vreplace_un_<mode>): New define_insn.
28377 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28379         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
28380         (VDBL): Handle SF.
28381         (single_wx, single_type, single_dtype, dblq): New mode attributes.
28382         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
28383         from VDC to VDCSIF.
28384         (store_pair_lanes<mode>): Likewise.
28385         (*aarch64_combine_internal<mode>): Likewise.
28386         (*aarch64_combine_internal_be<mode>): Likewise.
28387         (*aarch64_combinez<mode>): Likewise.
28388         (*aarch64_combinez_be<mode>): Likewise.
28389         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
28390         8-byte modes for ADDR_QUERY_LDP_STP_N.
28391         (aarch64_print_operand): Likewise for %y.
28393 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28395         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
28396         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
28397         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
28398         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
28399         (vec_pack_trunc_<mode>): Take general_operand elements and use
28400         aarch64_combine rather than move_lo/hi_quad to combine them.
28401         (vec_pack_trunc_df): Likewise.
28403 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28405         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
28406         Delete.
28407         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
28408         to...
28409         (*aarch64_combinez<mode>): ...this.
28410         (@aarch64_combinez_be<mode>): Rename to...
28411         (*aarch64_combinez_be<mode>): ...this.
28412         (@aarch64_vec_concat<mode>): New expander.
28413         (aarch64_combine<mode>): Use it.
28414         (@aarch64_simd_combine<mode>): Delete.
28415         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
28416         (aarch64_expand_vector_init): Use aarch64_vec_concat.
28418 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28420         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
28421         New predicate.
28422         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
28423         (*aarch64_combine_internal_be<mode>): New patterns.
28425 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28427         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
28428         (move_lo_quad_internal_be_<mode>): Delete.
28429         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
28431 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28433         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
28434         Declare.
28435         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
28436         aarch64_mergeable_load_pair_p instead of inline check.
28437         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
28438         (aarch64_check_consecutive_mems): Allow the reversed parameter
28439         to be null.
28440         (aarch64_mergeable_load_pair_p): New function.
28442 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28444         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
28445         element to be an aarch64_simd_nonimmediate_operand.
28447 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
28449         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
28450         aarch64_simd_nonimmediate_operand instead of
28451         aarch64_simd_general_operand.
28452         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
28453         general_operand.
28454         (@aarch64_combinez_be<mode>): Likewise.
28456 2022-02-09  Richard Biener  <rguenther@suse.de>
28458         PR middle-end/104464
28459         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
28460         throwing check to after unproblematic replacement.
28462 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
28464         PR tree-optimization/104420
28465         * match.pd (mult @0 real_zerop): Tweak conditions for constant
28466         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
28468 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
28470         PR debug/104407
28471         * dwarf2out.cc (mangle_referenced_decls): New function.
28472         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
28473         early_dwarf.  Instead walk the initializer and try to mangle vars or
28474         functions referenced from it.
28476 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
28478         PR tree-optimization/104288
28479         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
28480         (non_null_ref::adjust_range): Move to header.
28481         (ranger_cache::range_of_def): Don't check non-null.
28482         (ranger_cache::entry_range): Don't check non-null.
28483         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
28484         (ranger_cache::update_to_nonnull): New.
28485         (non_null_loadstore): New.
28486         (ranger_cache::block_apply_nonnull): New.
28487         * gimple-range-cache.h (class non_null_ref): Update prototypes.
28488         (non_null_ref::adjust_range): Move to here and inline.
28489         (class ranger_cache): Update prototypes.
28490         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
28491         not search dominators.
28492         (path_range_query::adjust_for_non_null_uses): Ditto.
28493         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
28494         def overrides.  Do not check nonnull.
28495         (gimple_ranger::range_on_entry): Check dominators for nonnull.
28496         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
28497         (gimple_ranger::register_side_effects): New.
28498         * gimple-range.h (gimple_ranger::register_side_effects): New.
28499         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
28501 2022-02-09  Richard Biener  <rguenther@suse.de>
28503         PR tree-optimization/104445
28504         PR tree-optimization/102832
28505         * optabs-query.h (can_vec_extract): New.
28506         * optabs-query.cc (can_vec_extract): Likewise.
28507         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
28508         we can extract a hi/lo part from the larger vector, rework
28509         check iteration from larger to smaller sizes.
28511 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
28513         PR target/35513
28514         PR target/100593
28515         * config/i386/gnu-property.cc: Include "i386-protos.h".
28516         (file_end_indicate_exec_stack_and_gnu_property): Generate
28517         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
28518         nodirect_extern_access attribute.
28519         * config/i386/i386-options.cc
28520         (handle_nodirect_extern_access_attribute): New function.
28521         (ix86_attribute_table): Add nodirect_extern_access attribute.
28522         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
28523         bool argument.
28524         (ix86_has_no_direct_extern_access): New.
28525         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
28526         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
28527         call operand.  Force non-call load from GOT for
28528         -mno-direct-extern-access or nodirect_extern_access attribute.
28529         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
28530         for -mno-direct-extern-access or nodirect_extern_access attribute.
28531         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
28532         for call operand.
28533         (asm_preferred_eh_data_format): Use PC-relative format for
28534         -mno-direct-extern-access to avoid copy relocation.  Check
28535         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
28536         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
28537         true for -mno-direct-extern-access or nodirect_extern_access
28538         attribute.  Don't treat protected data as extern and avoid copy
28539         relocation on common symbol with -mno-direct-extern-access or
28540         nodirect_extern_access attribute.
28541         (ix86_reloc_rw_mask): New to avoid copy relocation for
28542         -mno-direct-extern-access.
28543         (TARGET_ASM_RELOC_RW_MASK): New.
28544         * config/i386/i386.opt: Add -mdirect-extern-access.
28545         * doc/extend.texi: Document nodirect_extern_access attribute.
28546         * doc/invoke.texi: Document -m[no-]direct-extern-access.
28548 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
28550         PR target/104441
28551         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
28552         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
28553         Call ix86_avx_u128_mode_source to check mode for each component
28554         of source operand.
28556 2022-02-09  liuhongt  <hongtao.liu@intel.com>
28558         PR target/104451
28559         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
28560         operands[2] from SImode to QImode.
28562 2022-02-09  Richard Biener  <rguenther@suse.de>
28564         PR middle-end/104450
28565         * gimple-isel.cc: Pass cfun around.
28566         (+gimple_expand_vec_cond_expr): Do not combine a throwing
28567         comparison with the select.
28569 2022-02-09  Richard Biener  <rguenther@suse.de>
28571         PR target/104453
28572         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
28573         folding for NULL LHS.
28575 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
28577         PR rtl-optimization/104198
28578         PR rtl-optimization/104153
28579         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
28580         using it directly.  Rework comparison handling and always
28581         perform a second pass.
28583 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
28585         PR target/102140
28586         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
28587         split1 pass has finished already.
28589 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
28591         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
28592         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
28593         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
28594         (vmsumcud): New define_insn.
28596 2022-02-08  Tom de Vries  <tdevries@suse.de>
28598         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
28599         * config/nvptx/nvptx.h (TARGET_SM70): Define.
28601 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
28603         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
28604         on condition.
28605         * config/s390/s390.md: Use paradoxical subreg.
28607 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
28609         * combine.cc (reg_subword_p): Check for paradoxical subreg.
28611 2022-02-08  Tom de Vries  <tdevries@suse.de>
28613         PR target/104283
28614         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
28615         and PTX_VERSION_4_2.
28616         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
28617         (default_ptx_version_option, ptx_version_to_string)
28618         (sm_version_to_string, handle_ptx_version_option): New function.
28619         (nvptx_option_override): Call handle_ptx_version_option.
28620         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
28621         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
28622         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
28623         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
28625 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
28627         * doc/install.texi (Configuration): Document `--with-isa-spec='
28628         RISC-V option.
28629         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
28630         option.
28631         (RISC-V Options): Document it.
28633 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
28635         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
28637 2022-02-08  Tom de Vries  <tdevries@suse.de>
28639         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
28641 2022-02-08  Tom de Vries  <tdevries@suse.de>
28643         PR target/104364
28644         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
28645         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
28646         change is validated.
28647         (nvptx_mem_local_p): New function.
28648         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
28649         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
28650         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
28651         non-atomic, non-predicable define_insn, factored out of ...
28652         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
28653         Make predicable again.
28654         (define_expand "atomic_compare_and_swap<mode>"): Use
28655         atomic_compare_and_swap<mode>_1_local.
28657 2022-02-08  liuhongt  <hongtao.liu@intel.com>
28659         PR rtl-optimization/104059
28660         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
28661         for a more expensive reg-reg move.
28663 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
28665         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
28666         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
28667         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
28668         (usdot_laneq, sudot_laneq): New.
28669         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
28670         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
28672 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
28674         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
28675         vdot_laneq_s32, vdotq_laneq_s32): New.
28676         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
28677         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
28678         (<sup>dot_prod<vsi2qi>): Re-order rtl.
28679         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
28680         (neon_<sup>dot_laneq<vsi2qi>): New.
28682 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
28684         PR target/104327
28685         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
28686         if always_inline is set. Don't inline when tune differs without
28687         always_inline.
28689 2022-02-07  Richard Biener  <rguenther@suse.de>
28691         PR middle-end/104402
28692         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
28693         compares are not valid.
28694         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
28695         check is_gimple_condexpr.
28697 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
28699         PR target/103627
28700         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
28701         hunk affecting VSX and ALTIVEC to appropriate place.
28703 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
28705         PR target/103627
28706         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
28707         MMA if !TARGET_VSX.
28709 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
28711         PR c++/89074
28712         PR c++/104033
28713         * fold-const.h (folding_initializer): Adjust comment.
28714         (folding_cxx_constexpr): Declare.
28715         * fold-const.cc (folding_initializer): Adjust comment.
28716         (folding_cxx_constexpr): New variable.
28717         (address_compare): Restrict the decl vs. STRING_CST
28718         or vice versa or STRING_CST vs. STRING_CST or
28719         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
28720         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
28721         assume non-aliased functions have non-zero size and have different
28722         addresses.  For folding_cxx_constexpr, punt on comparisons of start
28723         of some object and end of another one, regardless whether it is a decl
28724         or string literal.  Also punt for folding_cxx_constexpr on
28725         STRING_CST vs. STRING_CST comparisons if the two literals could be
28726         overlapping.
28728 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
28730         PR tree-optimization/104389
28731         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
28732         honored.
28734 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
28736         * configure.ac: Fix detection for zifencei support.
28737         * configure: Regenerate.
28739 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
28741         PR target/104219
28742         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
28743         (all_defaults): Add isa_spec.
28744         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
28746 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
28748         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
28749         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
28750         unnecessary test for argument count mismatch.
28751         (resolve_vec_cmpne): Likewise.
28752         (resolve_vec_adde_sube): Likewise.
28753         (resolve_vec_addec_subec): Likewise.
28754         (altivec_resolve_overloaded_builtin): Move overload special handling
28755         after the gathering of arguments into args[] and types[] and the test
28756         for correct number of arguments.  Don't perform the test for correct
28757         number of arguments for certain special cases.  Call the other special
28758         cases with args and types instead of arglist and nargs.
28760 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
28762         PR target/100808
28763         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
28764         3.1): Provide consistent type names.  Remove unnecessary semicolons.
28765         Fix bad line breaks.
28767 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
28769         PR target/104380
28770         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
28771         adjust mangling of __builtin*printf_chk.
28773 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
28775         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
28777 2022-02-04  Richard Biener  <rguenther@suse.de>
28778             Bin Cheng   <bin.cheng@linux.alibaba.com>
28780         PR tree-optimization/100499
28781         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
28782         to true.
28783         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
28784         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
28785         switching to false for conversions.
28786         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
28787         claim the outermost expression does not wrap when calling
28788         multiple_of_p.  Refactor the check done to check the
28789         original IV, avoiding a bias that might wrap.
28791 2022-02-04  Richard Biener  <rguenther@suse.de>
28793         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
28794         handling.
28796 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
28798         PR debug/104366
28799         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
28800         (dwarf2out_early_finish): Likewise.
28802 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
28804         PR tree-optimization/104356
28805         * match.pd (X / bool_range_Y is X): Add guard.
28806         (X / X is one): Likewise.
28807         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
28808         (X / -X is -1): Likewise.
28809         (1 / X -> X == 1): Likewise.
28811 2022-02-04  Richard Biener  <rguenther@suse.de>
28813         PR tree-optimization/103641
28814         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
28815         Pass the vector mode to choose_mult_variant.
28817 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
28819         PR rtl-optimization/101885
28820         * combine.cc (try_combine): When splitting a parallel into two
28821         sequential sets, check not only that the first doesn't clobber
28822         the second but also that the second doesn't clobber the first.
28824 2022-02-04  Richard Biener  <rguenther@suse.de>
28826         PR middle-end/90348
28827         PR middle-end/104092
28828         * tree-core.h (clobber_kind): New enum.
28829         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
28830         * tree.h (CLOBBER_KIND): Add.
28831         (build_clobber): Add clobber kind argument, defaulted to
28832         CLOBBER_UNDEF.
28833         * tree.cc (build_clobber): Likewise.
28834         * gimple.h (gimple_clobber_p): New overload with specified kind.
28835         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
28836         CLOBBER_KIND.
28837         * tree-streamer-out.cc (streamer_write_tree_bitfields):
28838         Likewise.
28839         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
28840         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
28841         with CLOBBER_EOL.
28842         (gimplify_target_expr): Likewise.
28843         * tree-inline.cc (expand_call_inline): Likewise.
28844         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
28845         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
28846         CLOBBER_EOL clobbers as ending lifetime of storage.
28848 2022-02-04  Martin Sebor  <msebor@redhat.com>
28850         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
28851         cleanup.
28853 2022-02-03  Martin Sebor  <msebor@redhat.com>
28855         PR middle-end/104260
28856         * passes.def (pass_warn_access): Adjust pass placement.
28858 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
28860         PR target/104362
28861         * config/i386/i386.cc (find_drap_reg): For 32bit targets
28862         return DI_REG if function uses __builtin_eh_return.
28864 2022-02-03  Martin Sebor  <msebor@redhat.com>
28866         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
28867         (pass_wrestrict::m_ptr_qry): New member.
28868         (wrestrict_walk): Rename...
28869         (pass_wrestrict::check_block): ...to this.
28870         (pass_wrestrict::execute): Set up and tear down pointer_query and
28871         ranger.
28872         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
28873         (builtin_access::builtin_access): Same.
28874         (builtin_access::m_ptr_qry): New member.
28875         (check_call): Rename...
28876         (pass_wrestrict::check_call): ...to this.
28877         (check_bounds_or_overlap): Change argument.
28878         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
28880 2022-02-03  Martin Sebor  <msebor@redhat.com>
28882         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
28883         Define ctor.
28884         (array_bounds_checker::get_value_range): Use new member.
28885         (array_bounds_checker::check_mem_ref): Same.
28886         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
28887         Outline ctor.
28888         (array_bounds_checker::m_ptr_query): New member.
28890 2022-02-03  Martin Sebor  <msebor@redhat.com>
28892         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
28893         pointer_query cache.
28894         * pointer-query.cc (pointer_query::pointer_query): Remove cache
28895         argument.  Zero-initialize new cache member.
28896         (pointer_query::get_ref): Replace cache pointer with direct access.
28897         (pointer_query::put_ref): Same.
28898         (pointer_query::flush_cache): Same.
28899         (pointer_query::dump): Same.
28900         * pointer-query.h (class pointer_query): Remove cache argument from
28901         ctor.  Change cache pointer to cache subobject member.
28902         * tree-ssa-strlen.cc: Remove pointer_query cache.
28904 2022-02-03  Martin Sebor  <msebor@redhat.com>
28906         PR tree-optimization/104119
28907         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
28908         (format_none): Same.
28909         (format_percent): Same.
28910         (format_integer): Same.
28911         (format_floating): Same.
28912         (get_string_length): Same.
28913         (format_character): Same.
28914         (format_string): Same.
28915         (format_plain): Same.
28916         (format_directive): Same.
28917         (compute_format_length): Same.
28918         (handle_printf_call): Same.
28919         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
28920         get_maxbound.
28921         (get_range_strlen_phi): Same.
28922         (get_maxbound): New function.
28923         (strlen_pass::get_len_or_size): Adjust to parameter change.
28924         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
28926 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
28928         PR target/103686
28929         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
28930         test for !rs6000_fold_gimple.
28931         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
28932         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
28934 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
28936         PR target/95082
28937         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
28938         endianness for vclzlsbb and vctzlsbb.
28939         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
28940         default pattern and indicate a different pattern will be used for
28941         big endian.
28942         (VCLZLSBB_V4SI): Likewise.
28943         (VCLZLSBB_V8HI): Likewise.
28944         (VCTZLSBB_V16QI): Likewise.
28945         (VCTZLSBB_V4SI): Likewise.
28946         (VCTZLSBB_V8HI): Likewise.
28948 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
28950         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
28951         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
28952         from other files.
28953         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
28954         rs6000-builtin.cc.
28955         (cpu_supports_info): Likewise.
28956         (rs6000_type_string): Likewise.
28957         (altivec_expand_predicate_builtin): Likewise.
28958         (rs6000_htm_spr_icode): Likewise.
28959         (altivec_expand_vec_init_builtin): Likewise.
28960         (get_element_number): Likewise.
28961         (altivec_expand_vec_set_builtin): Likewise.
28962         (altivec_expand_vec_ext_builtin): Likewise.
28963         (rs6000_invalid_builtin): Likewise.
28964         (rs6000_fold_builtin): Likewise.
28965         (fold_build_vec_cmp): Likewise.
28966         (fold_compare_helper): Likewise.
28967         (map_to_integral_tree_type): Likewise.
28968         (fold_mergehl_helper): Likewise.
28969         (fold_mergeeo_helper): Likewise.
28970         (rs6000_builtin_valid_without_lhs): Likewise.
28971         (rs6000_builtin_is_supported): Likewise.
28972         (rs6000_gimple_fold_mma_builtin): Likewise.
28973         (rs6000_gimple_fold_builtin): Likewise.
28974         (rs6000_expand_ldst_mask): Likewise.
28975         (cpu_expand_builtin): Likewise.
28976         (elemrev_icode): Likewise.
28977         (ldv_expand_builtin): Likewise.
28978         (lxvrse_expand_builtin): Likewise.
28979         (lxvrze_expand_builtin): Likewise.
28980         (stv_expand_builtin): Likewise.
28981         (mma_expand_builtin): Likewise.
28982         (htm_spr_num): Likewise.
28983         (htm_expand_builtin): Likewise.
28984         (rs6000_expand_builtin): Likewise.
28985         (rs6000_vector_type): Likewise.
28986         (rs6000_init_builtins): Likewise.  Remove initialization of
28987         builtin_mode_to_type entries.
28988         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
28989         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
28990         external declaration.
28991         (rs6000_builtin_md_vectorized_function): Likewise.
28992         (rs6000_builtin_reciprocal): Likewise.
28993         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
28994         (rs6000_builtin_types): Likewise.
28995         (builtin_mode_to_type): Remove.
28996         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
28997         static qualifier.
28998         (rs6000_builtin_md_vectorized_function): Likewise.
28999         (rs6000_builtin_reciprocal): Likewise.
29000         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
29001         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
29003 2022-02-03  Richard Biener  <rguenther@suse.de>
29005         PR debug/104337
29006         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
29007         together via DECL_ABSTRACT_ORIGIN.
29009 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
29011         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
29012         message for RES_BITS case.
29014 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
29016         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
29018 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
29020         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
29021         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
29023 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
29025         * cfganal.cc (verify_marked_backedges): New.
29026         * cfganal.h (verify_marked_backedges): New.
29027         * gimple-range-path.cc (path_range_query::path_range_query):
29028         Verify freshness of back edges.
29029         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
29030         mark_dfs_back_edges.
29031         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
29032         path_range_query construction after backedges have been
29033         updated.
29035 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
29037         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
29038         VALL to VALL_F16.
29040 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
29042         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
29043         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
29044         of VALL_F16MOV.
29046 2022-02-03  Martin Liska  <mliska@suse.cz>
29048         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
29049         Change subject and object in the error message.
29050         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29051         Likewise.
29053 2022-02-03  Martin Liska  <mliska@suse.cz>
29055         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29056         Use the error message for i386 target.
29058 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
29060         PR tree-optimization/104334
29061         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
29062         and rh_range type to widest_int and subtract in widest_int.  Remove
29063         ov_rh, ov_lh and sign vars, always perform comparisons as signed
29064         and use >, < and == operators for it.
29066 2022-02-03  Martin Sebor  <msebor@redhat.com>
29068         * common.opt (-Wuse-after-free): Correct typos.
29070 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
29072         PR analyzer/104270
29073         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
29074         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
29075         -ftrivial-auto-var-init= doesn't suppress warnings.
29077 2022-02-02  Martin Liska  <mliska@suse.cz>
29079         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
29081 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
29083         PR target/94372
29084         * config/or1k/linux.h (CPP_SPEC): Define.
29086 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
29088         PR tree-optimization/102819
29089         PR tree-optimization/103169
29090         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
29091         canonical order.
29093 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
29095         PR tree-optimization/102819
29096         PR tree-optimization/103169
29097         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
29098         canonical order.
29099         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
29101 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
29103         PR tree-optimization/102819
29104         PR tree-optimization/103169
29105         * doc/md.texi: Update docs for cfms, cfma.
29106         * tree-data-ref.h (same_data_refs): Accept optional offset.
29107         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
29108         patterns.
29109         (vect_normalize_conj_loc): Remove.
29110         (is_eq_or_top): Change to take two nodes.
29111         (enum _conj_status, compatible_complex_nodes_p,
29112         vect_validate_multiplication): New.
29113         (class complex_add_pattern, complex_add_pattern::matches,
29114         complex_add_pattern::recognize, class complex_mul_pattern,
29115         complex_mul_pattern::recognize, class complex_fms_pattern,
29116         complex_fms_pattern::recognize, class complex_operations_pattern,
29117         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
29118         new cache.
29119         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
29120         cache and use new validation code.
29121         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
29122         vect_analyze_slp): Pass along cache.
29123         (compatible_calls_p): Expose.
29124         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
29125         slp_compat_nodes_map_t): New.
29126         (class vect_pattern): Update signatures include new cache.
29128 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29130         * config/cris/cris.cc (cris_preferred_reload_class): Reject
29131         "eliminated" registers and small-enough constants unless
29132         reloaded into a class that is a subset of GENERAL_REGS.
29133         * config/cris/cris.md (attribute "cpu_variant"): New.
29134         (attribute "enabled"): Conditionalize on a matching attribute
29135         cpu_variant, if specified.
29136         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
29137         memory, add cpu-variant-enabled variants for "r" alternatives on
29138         the far side of the "x" alternatives, preferring the "x" ones
29139         only for variants where MOF is present (in addition to SRP).
29141 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29143         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
29144         extra cost for ALL_REGS.
29146 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29148         * config/cris/constraints.md (define_register_constraint "b"): Now
29149         GENERAL_REGS.
29150         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
29151         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
29152         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
29153         and SPEC_GENNONACR_REGS.
29154         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
29155         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
29157 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29159         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
29160         Conditionalize on (sub-)register operands or operand 1 being 0.
29162 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29164         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
29165         (MUL_BUG_ASM_DEFAULT): New macro.
29166         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
29167         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
29168         accordingly.
29170 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
29172         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
29173         to 10 for AutoFDO.
29175 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
29177         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
29179 2022-02-01  Andrew Pinski  <apinski@marvell.com>
29181         * doc/install.texi:
29183 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
29185         * config/s390/s390.cc (s390_code_end): Do not switch back to
29186         code section.
29188 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
29190         PR target/104323
29191         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
29192         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
29193         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
29194         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
29195         GTY((skip(""))) to members with pointer and enum types that don't need
29196         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
29197         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
29198         (write_extern_fntype, write_fntype): Remove.
29199         (write_fntype_init): Emit the fntype vars as automatic vars instead
29200         of file scope ones.
29201         (write_header_file): Don't iterate with write_extern_fntype.
29202         (write_init_file): Don't iterate with write_fntype.  Don't emit
29203         gt_ggc_mx and gt_pch_nx definitions.
29205 2022-02-01  Jason Merrill  <jason@redhat.com>
29207         * tree.h (struct tree_vec_map_cache_hasher): Move from...
29208         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
29210 2022-02-01  Tom de Vries  <tdevries@suse.de>
29212         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
29213         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29214         UNSPECV_UNIFORM_WARP_CHECK.
29215         (define_insn "nvptx_uniform_warp_check"): New define_insn.
29217 2022-02-01  Tom de Vries  <tdevries@suse.de>
29219         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
29220         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29221         UNSPECV_WARPSYNC.
29222         (define_insn "nvptx_warpsync"): New define_insn.
29224 2022-02-01  Tom de Vries  <tdevries@suse.de>
29226         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
29228 2022-02-01  Tom de Vries  <tdevries@suse.de>
29230         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
29231         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
29232         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
29233         insn for TARGET_PTX_6_0.
29235 2022-02-01  Tom de Vries  <tdevries@suse.de>
29237         PR target/100428
29238         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
29239         insn.
29241 2022-02-01  Tom de Vries  <tdevries@suse.de>
29243         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
29244         (define_insn "atomic_exchange<mode>")
29245         (define_insn "atomic_fetch_add<mode>")
29246         (define_insn "atomic_fetch_addsf")
29247         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
29248         if memory operands is frame-relative.
29250 2022-02-01  Tom de Vries  <tdevries@suse.de>
29252         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
29253         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
29254         (VOID): New macro.
29255         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
29256         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
29257         NVPTX_BUILTIN_MEMBAR_CTA.
29258         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
29259         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
29260         nvptx_lockfull_update.
29261         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29262         UNSPECV_MEMBAR_GL.
29263         (define_expand "nvptx_membar_gl"): New expand.
29264         (define_insn "*nvptx_membar_gl"): New insn.
29266 2022-02-01  Martin Liska  <mliska@suse.cz>
29268         * doc/install.texi: Remove option for GCC < 4.8.
29270 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
29272         PR middle-end/104307
29273         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
29274         stmts to uses vector, just set vec_cond_expr_only to false for
29275         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
29276         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
29277         like non-VEC_COND_EXPRs.
29279 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
29281         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
29282         (VEC_BLENDV): Likewise.
29283         (VEC_BPERM): Likewise.
29284         (VEC_CFUGE): Likewise.
29285         (VEC_CIPHER_BE): Likewise.
29286         (VEC_CIPHERLAST_BE): Likewise.
29287         (VEC_CLRL): Likewise.
29288         (VEC_CLRR): Likewise.
29289         (VEC_CMPNEZ): Likewise.
29290         (VEC_CNTLZ): Likewise.
29291         (VEC_CNTLZM): Likewise.
29292         (VEC_CNTTZM): Likewise.
29293         (VEC_CNTLZ_LSBB): Likewise.
29294         (VEC_CNTM): Likewise.
29295         (VEC_CNTTZ): Likewise.
29296         (VEC_CNTTZ_LSBB): Likewise.
29297         (VEC_CONVERT_4F32_8F16): Likewise.
29298         (VEC_DIV): Likewise.
29299         (VEC_DIVE): Likewise.
29300         (VEC_EQV): Likewise.
29301         (VEC_EXPANDM): Likewise.
29302         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
29303         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
29304         (VEC_EXTRACTH): Likewise.
29305         (VEC_EXTRACTL): Likewise.
29306         (VEC_EXTRACTM): Likewise.
29307         (VEC_EXTRACT4B): Likewise.
29308         (VEC_EXTULX): Likewise.
29309         (VEC_EXTURX): Likewise.
29310         (VEC_FIRSTMATCHINDEX): Likewise.
29311         (VEC_FIRSTMACHOREOSINDEX): Likewise.
29312         (VEC_FIRSTMISMATCHINDEX): Likewise.
29313         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
29314         (VEC_GB): Likewise.
29315         (VEC_GENBM): Likewise.
29316         (VEC_GENHM): Likewise.
29317         (VEC_GENWM): Likewise.
29318         (VEC_GENDM): Likewise.
29319         (VEC_GENQM): Likewise.
29320         (VEC_GENPCVM): Likewise.
29321         (VEC_GNB): Likewise.
29322         (VEC_INSERTH): Likewise.
29323         (VEC_INSERTL): Likewise.
29324         (VEC_INSERT4B): Likewise.
29325         (VEC_LXVL): Likewise.
29326         (VEC_MERGEE): Likewise.
29327         (VEC_MERGEO): Likewise.
29328         (VEC_MOD): Likewise.
29329         (VEC_MSUB): Likewise.
29330         (VEC_MULH): Likewise.
29331         (VEC_NAND): Likewise.
29332         (VEC_NCIPHER_BE): Likewise.
29333         (VEC_NCIPHERLAST_BE): Likewise.
29334         (VEC_NEARBYINT): Likewise.
29335         (VEC_NMADD): Likewise.
29336         (VEC_ORC): Likewise.
29337         (VEC_PDEP): Likewise.
29338         (VEC_PERMX): Likewise.
29339         (VEC_PEXT): Likewise.
29340         (VEC_POPCNT): Likewise.
29341         (VEC_PARITY_LSBB): Likewise.
29342         (VEC_REPLACE_ELT): Likewise.
29343         (VEC_REPLACE_UN): Likewise.
29344         (VEC_REVB): Likewise.
29345         (VEC_RINT): Likewise.
29346         (VEC_RLMI): Likewise.
29347         (VEC_RLNM): Likewise.
29348         (VEC_SBOX_BE): Likewise.
29349         (VEC_SIGNEXTI): Likewise.
29350         (VEC_SIGNEXTLL): Likewise.
29351         (VEC_SIGNEXTQ): Likewise.
29352         (VEC_SLDB): Likewise.
29353         (VEC_SLV): Likewise.
29354         (VEC_SPLATI): Likewise.
29355         (VEC_SPLATID): Likewise.
29356         (VEC_SPLATI_INS): Likewise.
29357         (VEC_SQRT): Likewise.
29358         (VEC_SRDB): Likewise.
29359         (VEC_SRV): Likewise.
29360         (VEC_STRIL): Likewise.
29361         (VEC_STRIL_P): Likewise.
29362         (VEC_STRIR): Likewise.
29363         (VEC_STRIR_P): Likewise.
29364         (VEC_STXVL): Likewise.
29365         (VEC_TERNARYLOGIC): Likewise.
29366         (VEC_TEST_LSBB_ALL_ONES): Likewise.
29367         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
29368         (VEC_VEE): Likewise.
29369         (VEC_VES): Likewise.
29370         (VEC_VIE): Likewise.
29371         (VEC_VPRTYB): Likewise.
29372         (VEC_VSCEEQ): Likewise.
29373         (VEC_VSCEGT): Likewise.
29374         (VEC_VSCELT): Likewise.
29375         (VEC_VSCEUO): Likewise.
29376         (VEC_VSEE): Likewise.
29377         (VEC_VSES): Likewise.
29378         (VEC_VSIE): Likewise.
29379         (VEC_VSTDC): Likewise.
29380         (VEC_VSTDCN): Likewise.
29381         (VEC_VTDC): Likewise.
29382         (VEC_XL): Likewise.
29383         (VEC_XL_BE): Likewise.
29384         (VEC_XL_LEN_R): Likewise.
29385         (VEC_XL_SEXT): Likewise.
29386         (VEC_XL_ZEXT): Likewise.
29387         (VEC_XST): Likewise.
29388         (VEC_XST_BE): Likewise.
29389         (VEC_XST_LEN_R): Likewise.
29390         (VEC_XST_TRUNC): Likewise.
29391         (VEC_XXPERMDI): Likewise.
29392         (VEC_XXSLDWI): Likewise.
29393         (VEC_TSTSFI_EQ_DD): Likewise.
29394         (VEC_TSTSFI_EQ_TD): Likewise.
29395         (VEC_TSTSFI_GT_DD): Likewise.
29396         (VEC_TSTSFI_GT_TD): Likewise.
29397         (VEC_TSTSFI_LT_DD): Likewise.
29398         (VEC_TSTSFI_LT_TD): Likewise.
29399         (VEC_TSTSFI_OV_DD): Likewise.
29400         (VEC_TSTSFI_OV_TD): Likewise.
29401         (VEC_VADDCUQ): Likewise.
29402         (VEC_VADDECUQ): Likewise.
29403         (VEC_VADDEUQM): Likewise.
29404         (VEC_VADDUDM): Likewise.
29405         (VEC_VADDUQM): Likewise.
29406         (VEC_VBPERMQ): Likewise.
29407         (VEC_VCLZB): Likewise.
29408         (VEC_VCLZD): Likewise.
29409         (VEC_VCLZH): Likewise.
29410         (VEC_VCLZW): Likewise.
29411         (VEC_VCTZB): Likewise.
29412         (VEC_VCTZD): Likewise.
29413         (VEC_VCTZH): Likewise.
29414         (VEC_VCTZW): Likewise.
29415         (VEC_VEEDP): Likewise.
29416         (VEC_VEESP): Likewise.
29417         (VEC_VESDP): Likewise.
29418         (VEC_VESSP): Likewise.
29419         (VEC_VIEDP): Likewise.
29420         (VEC_VIESP): Likewise.
29421         (VEC_VPKSDSS): Likewise.
29422         (VEC_VPKSDUS): Likewise.
29423         (VEC_VPKUDUM): Likewise.
29424         (VEC_VPKUDUS): Likewise.
29425         (VEC_VPOPCNT): Likewise.
29426         (VEC_VPOPCNTB): Likewise.
29427         (VEC_VPOPCNTD): Likewise.
29428         (VEC_VPOPCNTH): Likewise.
29429         (VEC_VPOPCNTW): Likewise.
29430         (VEC_VPRTYBD): Likewise.
29431         (VEC_VPRTYBQ): Likewise.
29432         (VEC_VPRTYBW): Likewise.
29433         (VEC_VRLD): Likewise.
29434         (VEC_VSLD): Likewise.
29435         (VEC_VSRAD): Likewise.
29436         (VEC_VSRD): Likewise.
29437         (VEC_VSTDCDP): Likewise.
29438         (VEC_VSTDCNDP): Likewise.
29439         (VEC_VSTDCNQP): Likewise.
29440         (VEC_VSTDCNSP): Likewise.
29441         (VEC_VSTDCQP): Likewise.
29442         (VEC_VSTDCSP): Likewise.
29443         (VEC_VSUBECUQ): Likewise.
29444         (VEC_VSUBEUQM): Likewise.
29445         (VEC_VSUBUDM): Likewise.
29446         (VEC_VSUBUQM): Likewise.
29447         (VEC_VTDCDP): Likewise.
29448         (VEC_VTDCSP): Likewise.
29449         (VEC_VUPKHSW): Likewise.
29450         (VEC_VUPKLSW): Likewise.
29452 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
29454         PR rtl-optimization/101260
29455         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
29456         copy_regno.
29458 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
29460         PR middle-end/95115
29461         * fold-const.cc (const_binop): Do not fold NaN result from
29462         non-NaN operands.
29464 2022-02-01  Tom de Vries  <tdevries@suse.de>
29466         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
29467         -ftree-loop-distribute-patterns.
29468         (loop_distribution::execute): Don't call transform_reduction_loop for
29469         -fno-tree-loop-distribute-patterns.
29471 2022-01-31  Andrew Pinski  <apinski@marvell.com>
29473         * fold-const.h (operand_compare::operand_equal_p):
29474         Fix comment about OEP_* flags.
29476 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
29478         PR target/104298
29479         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
29480         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
29481         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
29482         if not already defined.
29484 2022-01-31  Martin Sebor  <msebor@redhat.com>
29486         PR middle-end/104232
29487         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
29488         Handle PHIs.  Add a synonymous overload.
29489         (pass_waccess::check_pointer_uses): Call pointers_related_p.
29491 2022-01-31  Richard Biener  <rguenther@suse.de>
29493         PR tree-optimization/100499
29494         * fold-const.cc (multiple_of_p): Pass the correct type of
29495         the expression to the recursive invocation of multiple_of_p
29496         for conversions and use CASE_CONVERT.
29498 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
29500         PR target/104189
29501         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
29503 2022-01-31  Richard Biener  <rguenther@suse.de>
29505         PR tree-optimization/100499
29506         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
29507         on poly-ints instead of multiple_of_p.
29508         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
29509         (non_rewritable_mem_ref_base): Likewise.
29510         (non_rewritable_lvalue_p): Likewise.
29511         (execute_update_addresses_taken): Likewise.
29513 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
29514             Andrew Pinski  <apinski@marvell.com>
29516         PR tree-optimization/104279
29517         PR tree-optimization/104280
29518         PR tree-optimization/104281
29519         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
29520         boolean_type_node and convert to type.  Formatting fixes.
29522 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
29524         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
29526 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
29528         PR tree-optimization/103514
29529         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
29530         (a & b) == (a ^ b) -> !(a | b): New optimization.
29532 2022-01-28  Marek Polacek  <polacek@redhat.com>
29534         * doc/invoke.texi: Update -Wbidi-chars documentation.
29536 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
29538         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
29540 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
29542         PR tree-optimization/95424
29543         * match.pd: Simplify 1 / X where X is an integer.
29545 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
29547         PR tree-optimization/104263
29548         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
29549         cfun->can_throw_non_call_exceptions && cfun->eh test whether
29550         last non-debug stmt in the bb is store_valid_for_store_merging_p
29551         rather than last stmt.
29553 2022-01-28  Martin Liska  <mliska@suse.cz>
29555         * diagnostic.cc (diagnostic_action_after_output): Remove extra
29556         newline.
29558 2022-01-28  Martin Liska  <mliska@suse.cz>
29560         * config/rs6000/host-darwin.cc (segv_crash_handler):
29561         Do not use leading capital letter.
29562         (segv_handler): Likewise.
29563         * ipa-sra.cc (verify_splitting_accesses): Likewise.
29564         * varasm.cc (get_section): Likewise.
29566 2022-01-28  Richard Biener  <rguenther@suse.de>
29568         PR tree-optimization/104267
29569         * tree-vect-stmts.cc (vectorizable_call): Properly use the
29570         per-argument determined vector type for externals and
29571         invariants.
29573 2022-01-28  Richard Biener  <rguenther@suse.de>
29575         PR tree-optimization/104263
29576         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
29577         Purge edges also when !cfun->has_nonlocal_label
29578         and !cfun->calls_setjmp.
29580 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
29582         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
29583         attributes.
29585 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
29587         PR lto/104237
29588         * cfgrtl.cc (loc_equal): New function.
29589         (unique_locus_on_edge_between_p): Use it.
29591 2022-01-28  Richard Biener  <rguenther@suse.de>
29593         * cfganal.h (mark_dfs_back_edges): Provide API with struct
29594         function argument.
29595         * cfganal.cc (mark_dfs_back_edges): Take a struct function
29596         to work on, add a wrapper passing cfun.
29597         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
29598         uses with fun which is already passed.
29599         (draw_cfg_edges): Likewise.
29600         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
29601         for fun != cfun.
29603 2022-01-27  Patrick Palka  <ppalka@redhat.com>
29605         PR c++/99895
29606         * tree.cc (build_call_vec): Add const to second parameter.
29607         * tree.h (build_call_vec): Likewise.
29609 2022-01-27  Martin Liska  <mliska@suse.cz>
29611         PR web/104254
29612         * diagnostic.cc (diagnostic_initialize):
29613         Initialize report_bug flag.
29614         (diagnostic_action_after_output):
29615         Explain that -freport-bug option can be used for pre-processed
29616         file creation.  Make the message shorter.
29617         (error_recursion): Rename Internal to internal.
29618         * diagnostic.h (struct diagnostic_context): New field.
29619         * opts.cc (common_handle_option): Init the field here.
29621 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
29623         PR target/103702
29624         * config/rs6000/rs6000.cc
29625         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
29626         assertion with early return.
29628 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
29630         PR middle-end/103642
29631         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
29632         for non-pointer or non-reference-to-pointer cases.
29634 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
29636         PR tree-optimization/104196
29637         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
29638         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
29639         return NULL and emit needed stmts before and after stmt.
29640         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
29641         pick as operand_entry that will hold the merged test the one feeding
29642         earliest condition, ensure that by swapping range->idx with some
29643         other range's idx if needed.  If seq is non-NULL, don't actually swap
29644         it but instead rewrite stmts with undefined overflow in between
29645         the two locations.
29646         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
29647         corresponding condition even if they have non-NULL ops[]->op.
29648         Formatting fix.
29650 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
29652         PR target/104239
29653         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
29654         asm.
29655         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
29656         before for loop instead of for init clause.
29657         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
29659 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
29661         PR target/104239
29662         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
29663         _X86INTRIN_H_INCLUDED and adjust #error wording.
29664         * config/rs6000/bmi2intrin.h: Likewise.
29666 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
29668         PR debug/104194
29669         * dwarf2out.cc (long_double_as_float128): New function.
29670         (modified_type_die): For powerpc64le IEEE 754 quad long double
29671         and complex long double emit those as DW_TAG_typedef to
29672         _Float128 or complex _Float128 base type.
29674 2022-01-26  Marek Polacek  <polacek@redhat.com>
29676         PR target/104213
29677         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
29678         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
29680 2022-01-26  Martin Liska  <mliska@suse.cz>
29682         * ipa-modref-tree.cc (modref_access_node::update):
29683         Remove "--param param=foo" with "--param foo".
29684         (modref_access_node::insert): Likewise.
29685         (modref_access_node::insert_kill): Likewise.
29686         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
29687         (struct modref_base_node): Likewise.
29688         (struct modref_tree): Likewise.
29690 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
29692         PR target/94193
29693         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
29694         predicate check.
29696 2022-01-25  Martin Sebor  <msebor@redhat.com>
29698         PR tree-optimization/104203
29699         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
29700         TV_WARN_ACCESS.
29701         * pointer-query.cc (access_ref::merge_ref): Change return type.
29702         Convert failure to a conservative success.
29703         (access_ref::get_ref): Adjust to the change above.  Short-circuit
29704         PHI evaluation after first failure turned into conservative success.
29705         * pointer-query.h (access_ref::merge_ref): Change return type.
29706         * timevar.def (TV_WARN_ACCESS): New timer variable.
29708 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
29710         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
29712 2022-01-25  Richard Biener  <rguenther@suse.de>
29714         PR tree-optimization/104214
29715         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
29716         stronger guarantees for relational pointer compares when
29717         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
29718         BASE0 + STEP0 - STEP1 cmp BASE1.
29720 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
29722         PR target/104172
29723         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
29724         declare.
29725         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
29726         ieee128_mangling_gcc_8_1): Remove.
29727         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
29728         (rs6000_mangle_type): Return "u9__ieee128" instead of
29729         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
29730         (rs6000_globalize_decl_name): Remove.
29731         * config/rs6000/rs6000-call.cc (init_cumulative_args,
29732         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
29734 2022-01-24  Martin Sebor  <msebor@redhat.com>
29736         * pointer-query.cc (pointer_query::dump): Remove duplicate
29737         block.
29739 2022-01-24  Marek Polacek  <polacek@redhat.com>
29741         PR preprocessor/104030
29742         * doc/invoke.texi: Update documentation for -Wbidi-chars.
29744 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
29746         PR target/94193
29747         * builtins.cc (expand_builtin_fegetround): New function.
29748         (expand_builtin_feclear_feraise_except): New function.
29749         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
29750         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
29751         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
29752         (feclearexceptsi): New Pattern.
29753         (feraiseexceptsi): New Pattern.
29754         * doc/extend.texi: Add a new introductory paragraph about the
29755         new builtins.
29756         * doc/md.texi: (fegetround@var{m}): Document new optab.
29757         (feclearexcept@var{m}): Document new optab.
29758         (feraiseexcept@var{m}): Document new optab.
29759         * optabs.def (fegetround_optab): New optab.
29760         (feclearexcept_optab): New optab.
29761         (feraiseexcept_optab): New optab.
29763 2022-01-24  Richard Biener  <rguenther@suse.de>
29764             Jiufu Guo  <guojiufu@linux.ibm.com>
29766         PR tree-optimization/100740
29767         PR tree-optimization/101508
29768         PR tree-optimization/101972
29769         PR tree-optimization/102131
29770         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
29771         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
29772         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
29774 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
29776         PR sanitizer/104158
29777         * opt-functions.awk (var_set): Handle EnumBitSet property.
29778         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
29779         specified.
29780         * opts.h (enum cl_enum_var_value): New type.
29781         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
29782         Handle CLEV_BITSET.
29783         (cmdline_handle_error): Handle CLEV_BITSET.
29784         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
29785         * doc/options.texi (EnumBitSet): Document.
29786         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
29787         EnumSet.
29788         (trace-pc, trace-cmp): Drop Set properties.
29790 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
29792         PR sanitizer/104158
29793         * common.opt (flag_sanitize_coverage): Remove Variable entry.
29794         (fsanitize-coverage=): Remove RejectNegative property, add
29795         Var(flag_sanitize_coverage) and EnumSet properties.
29796         (trace-pc): Add Set(1) property.
29797         (trace-cmp): Add Set(2) property.
29798         * opts.cc (common_handle_option): Don't handle
29799         OPT_fsanitize_coverage_.
29801 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
29803         PR sanitizer/104158
29804         * opt-functions.awk (var_set): Handle EnumSet property.
29805         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
29806         specified.
29807         * opt-read.awk: Handle Set property.
29808         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
29809         (struct cl_decoded_option): Mention enum in value description.
29810         Add mask member.
29811         (set_option): Add mask argument defaulted to 0.
29812         * opts.cc (test_enum_sets): New function.
29813         (opts_cc_tests): Call it.
29814         * opts-common.cc (enum_arg_to_value): Change return argument
29815         from bool to int, on success return index into the cl_enum_arg
29816         array, on failure -1.  Add len argument, if non-0, use strncmp
29817         instead of strcmp.
29818         (opt_enum_arg_to_value): Adjust caller.
29819         (decode_cmdline_option): Handle EnumSet represented as
29820         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
29821         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
29822         (handle_option): Pass decoded->mask to set_options last argument.
29823         (generate_option): Clear decoded->mask.
29824         (generate_option_input_file): Likewise.
29825         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
29826         (set_option): Add mask argument, use it for CLVC_ENUM.
29827         (control_warning_option): Adjust enum_arg_to_value caller.
29828         * doc/options.texi: Document Set and EnumSet properties.
29830 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
29832         PR bootstrap/104170
29833         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29834         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29835         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29836         using OPTION_*_P macros.
29837         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29838         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29839         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29840         using OPTION_*_P macros.
29841         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29842         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29843         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29844         using OPTION_*_P macros.
29845         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29846         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29847         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29848         using OPTION_*_P macros.
29849         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
29850         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
29851         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
29852         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
29853         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
29854         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
29855         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
29856         otherwise assume if (true).
29858 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
29860         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
29861         Skip zicsr and zifencei if I-ext is 2.0.
29863 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
29865         * config.gcc: Modify default isa_spec version.
29867 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
29869         PR tree-optimization/102087
29870         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
29871         Correct PLUS result type.
29873 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
29875         PR target/104188
29876         * config/i386/predicates.md (bcst_mem_operand): Also check mode
29877         of memory broadcast.
29879 2022-01-23  Andrew Pinski  <apinski@marvell.com>
29881         PR target/64821
29882         * config/aarch64/aarch64-builtins.cc
29883         (aarch64_general_gimple_fold_builtin): Handle
29884         __builtin_aarch64_sqrt* and simplify into SQRT internal
29885         function.
29887 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
29889         PR other/104176
29890         * opts-global.cc (handle_common_deferred_options): Quote
29891         --enable-plugin in diagnostics to avoid -Werror=format-diag.
29893 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
29895         PR target/104136
29896         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
29897         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
29898         * config/rs6000/rs6000.md (prefixed attribute): Delete section
29899         that sets the prefixed attribute for xxspltiw, xxspltidp, and
29900         xxsplti32dx instructions.
29901         (movsf_hardfloat): Explicitly set the prefixed attribute
29902         when xxspltiw and xxspltidp instructions are generated.
29903         (mov<mode>_hardfloat32): Likewise.
29904         (mov<mode>_hardfloat64): Likewise.
29905         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
29906         prefixed attribute for xxspltiw and xxspltidp instructions.
29907         (vsx_mov<mode>_32bit): Likewise.
29909 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
29911         PR bootstrap/104170
29912         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
29913         Return true only on glibc.
29914         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
29915         Revert commit c163647ffbc.
29916         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
29918 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
29920         * common/config/s390/s390-common.cc (s390_supports_split_stack):
29921         Only support split-stack on glibc targets.
29922         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
29923         * config/i386/gnu.h (defined): Ditto.
29925 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
29927         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
29928         vector float and vector double.
29930 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
29932         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
29933         Fix mention of ifunc in string.
29935 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
29937         PR middle-end/104140
29938         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
29939         operands of the widening multiplication are either both signed or
29940         both unsigned, and abort the conversion if mismatched.
29941         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
29942         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
29943         signedness.
29944         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
29945         integer types with the same precision and signedness.
29946         (WIDEN_MULT_EXPR): Document that operands must have integer types
29947         with the same precision, but possibly differing signedness.
29948         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
29949         riscv_current_subset_list returning a NULL pointer (empty list).
29951 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
29953         PR target/103676
29954         * ira.h (struct target_ira): Add member
29955         x_ira_exclude_class_mode_regs.
29956         (ira_exclude_class_mode_regs): New macro.
29957         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
29958         move from here ...
29959         * lra-int.h: ... to here.
29960         (lra_create_new_reg_with_unique_value): Add arg
29961         exclude_start_hard_regs.
29962         (class lra_reg): Add member exclude_start_hard_regs.
29963         * lra-assigns.cc (find_hard_regno_for_1): Setup
29964         impossible_start_hard_regs from exclude_start_hard_regs.
29965         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
29966         it lra_create_new_reg[_with_unique_value].
29967         (match_reload): Ditto.
29968         (check_and_process_move): Pass NULL
29969         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
29970         (goal_alt_exclude_start_hard_regs): New static variable.
29971         (process_addr_reg, simplify_operand_subreg): Pass NULL
29972         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
29973         and get_reload_reg.
29974         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
29975         Use this_alternative_exclude_start_hard_regs additionally to find
29976         winning operand alternative.
29977         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
29978         exclude_start_hard_regs to lra_create_new_reg.
29979         (process_address_1, emit_inc): Ditto.
29980         (curr_insn_transform): Pass exclude_start_hard_regs value to
29981         lra_create_new_reg, get_reload_reg, match_reload.
29982         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
29983         to lra_create_new_reg.
29984         (process_invariant_for_inheritance): Ditto.
29985         * lra-remat.cc (update_scratch_ops): Ditto.
29986         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
29987         exclude_start_hard_regs.  Setup the corresponding member of
29988         lra reg info.
29989         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
29990         to lra_create_new_reg_with_unique_value.
29991         (initialize_lra_reg_info_element): Initialize member
29992         exclude_start_hard_regs.
29993         (get_scratch_reg): Pass NULL to lra_create_new_reg.
29994         * ira.cc (setup_prohibited_class_mode_regs): Rename to
29995         setup_prohibited_and_exclude_class_mode_regs and calculate
29996         ira_exclude_class_mode_regs.
29998 2022-01-21  Martin Liska  <mliska@suse.cz>
30000         * configure.ac: Detect ld_is_mold and use it for
30001         comdat_group=yes and gcc_cv_ld_hidden=yes.
30002         * configure: Regenerate.
30004 2022-01-21  Richard Biener  <rguenther@suse.de>
30006         PR tree-optimization/100089
30007         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
30008         of if-converted loops with unvectorized COND_EXPRs for
30009         all but the unlimited cost models.
30011 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
30013         * config/arm/arm-opts.h (enum stack_protector_guard): New.
30014         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
30015         New.
30016         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
30017         (arm_option_override_internal): Handle and put in error checks.
30018         for stack protector guard options.
30019         (arm_option_reconfigure_globals): Likewise.
30020         (arm_stack_protect_tls_canary_mem): New.
30021         (arm_stack_protect_guard): New.
30022         * config/arm/arm.md (stack_protect_set): New.
30023         (stack_protect_set_tls): Likewise.
30024         (stack_protect_test): Likewise.
30025         (stack_protect_test_tls): Likewise.
30026         (reload_tp_hard): Likewise.
30027         * config/arm/arm.opt (-mstack-protector-guard): New
30028         (-mstack-protector-guard-offset): New.
30029         * doc/invoke.texi: Document new options.
30031 2022-01-21  Richard Biener  <rguenther@suse.de>
30033         PR tree-optimization/104156
30034         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
30035         Collect and reset debug stmts with out-of-loop uses when
30036         hoisting guards.
30037         (find_loop_guard): Adjust.
30038         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
30039         (used_outside_loop_p): Push debug uses to a vector of
30040         debug stmts to reset.
30041         (hoist_guard): Adjust -fopt-info category.
30043 2022-01-21  Richard Biener  <rguenther@suse.de>
30045         PR tree-optimization/104152
30046         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
30047         can_duplicate_and_interleave_p check.
30049 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
30051         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
30052         Avoid passing var to warning_at when the format string doesn't
30053         refer to it.
30055 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
30057         PR tree-optimization/103721
30058         * gimple-range-path.cc
30059         (path_range_query::relations_may_be_invalidated): New.
30060         (path_range_query::compute_ranges_in_block): Reset relations if
30061         they may be invalidated.
30062         (path_range_query::maybe_register_phi_relation): Exit if relations
30063         may be invalidated on incoming edge.
30064         (path_range_query::compute_phi_relations): Pass incoming PHI edge
30065         to maybe_register_phi_relation.
30066         * gimple-range-path.h (relations_may_be_invalidated): New.
30067         (maybe_register_phi_relation): Pass edge instead of tree.
30068         * tree-ssa-threadbackward.cc (back_threader::back_threader):
30069         Mark DFS edges.
30070         * value-relation.cc (path_oracle::path_oracle): Call
30071         mark_dfs_back_edges.
30072         (path_oracle::register_relation): Add SSA names to m_registered
30073         bitmap.
30074         (path_oracle::reset_path): Clear m_registered bitmap.
30075         * value-relation.h (path_oracle::set_root_oracle): New.
30077 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
30079         PR rtl-optimization/102478
30080         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
30081         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
30082         would be needed.
30084 2022-01-20  Richard Biener  <rguenther@suse.de>
30086         PR middle-end/100786
30087         * gimple-fold.cc (get_symbol_constant_value): Only return
30088         values of compatible type to the symbol.
30090 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
30092         * value-relation.cc (relation_oracle::valid_equivs): Query and add
30093         if valid members of a set.
30094         (equiv_oracle::register_equiv): Call valid_equivs rather than
30095         bitmap direct operations.
30096         (path_oracle::register_equiv): Ditto.
30097         * value-relation.h (relation_oracle::valid_equivs): New prototype.
30099 2022-01-20  Richard Biener  <rguenther@suse.de>
30101         PR target/100784
30102         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
30103         LHS before folding __builtin_ia32_shufpd and friends.
30105 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30107         * config/arm/crypto.md (aes_op_protect): Allow moves from core
30108         registers and from memory.
30109         (aes_op_protect_misalign_load): New pattern.
30110         (aes_op_protect_neon_vld1v16qi): New pattern.
30112 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30114         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
30115         New pattern.
30116         (aarch32_crypto_aese_fused_protected): Likewise.
30117         (aarch32_crypto_aesd_fused_protected): Likewise.
30119 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30121         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
30122         to define_expand.  Add mitigation for the Cortex-A AES erratum
30123         when enabled.
30124         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
30125         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
30126         (aes_op_protect): New pattern.
30127         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
30129 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30131         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
30132         (ALL_QUIRKS): Add it.
30133         (cortex-a57, cortex-a72): Enable it.
30134         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
30135         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
30136         option.
30137         (mfix-cortex-a72-aes-1655431): New option alias.
30138         * config/arm/arm.cc (arm_option_override): Handle default settings
30139         for AES erratum switch.
30140         * doc/invoke.texi (Arm Options): Document new options.
30142 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30144         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
30145         <crypto_mode> rather than hard-coding the mode.
30146         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
30147         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
30148         (*aarch32_crypto_aese_fused): Likewise.
30149         (*aarch32_crypto_aesd_fused): Likewise.
30150         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
30151         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
30152         (crypto_sha1h_lb): Likewise.
30153         (crypto_vmullp64): Likewise.
30154         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
30155         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
30157 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30159         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
30160         iterator to pattern name to disambiguate.
30161         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
30162         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
30163         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
30164         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
30165         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
30167 2022-01-20  Martin Liska  <mliska@suse.cz>
30169         PR bootstrap/104135
30170         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
30171         * rtl.cc: Partially disable -Wformat-diag for RTL checking
30172         error messages.
30174 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
30176         PR debug/103874
30177         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
30178         block_num > 0, index entry even if !have_multiple_function_sections.
30180 2022-01-20  liuhongt  <hongtao.liu@intel.com>
30182         PR target/103771
30183         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
30184         integral mode mask pack by multi steps which takes
30185         vec_pack_sbool_trunc_optab as start when elements number is
30186         less than BITS_PER_UNITS.
30188 2022-01-20  Richard Biener  <rguenther@suse.de>
30190         PR tree-optimization/104114
30191         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
30192         single element vector decomposition.
30194 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30196         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
30197         (noce_convert_multiple_sets): Call function a second time if we can
30198         improve the first try.
30200 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30202         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
30203         reversed comparison.
30204         (try_emit_cmove_seq): New function to facilitate creating a cmov
30205         sequence.
30206         (noce_convert_multiple_sets): Create two sequences and use the less
30207         expensive one.
30209 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30211         * rtl.h (struct rtx_comparison): New struct that holds an rtx
30212         comparison.
30213         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
30214         single parameters.
30215         (rs6000_emit_swsqrt): Likewise.
30216         * expmed.cc (expand_sdiv_pow2): Likewise.
30217         (emit_store_flag): Likewise.
30218         * expr.cc (expand_cond_expr_using_cmove): Likewise.
30219         (expand_expr_real_2): Likewise.
30220         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
30221         parameters.
30222         * optabs.cc (emit_conditional_move_1): New function.
30223         (expand_doubleword_shift_condmove): Use struct.
30224         (emit_conditional_move): Use struct and allow to call directly
30225         without going through preparation steps.
30226         * optabs.h (emit_conditional_move): Use struct.
30228 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30230         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
30231         (noce_process_if_block): Use potential costs.
30233 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30235         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
30236         (bb_ok_for_noce_convert_multiple_sets): Likewise.
30238 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30240         * ifcvt.cc (need_cmov_or_rewire): New function.
30241         (noce_convert_multiple_sets): Call it.
30243 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
30245         * attribs.cc (attribute_c_tests): Rename to...
30246         (attribs_cc_tests): ...this.
30247         * bitmap.cc (bitmap_c_tests): Rename to...
30248         (bitmap_cc_tests): ...this.
30249         * cgraph.cc (cgraph_c_finalize): Rename to...
30250         (cgraph_cc_finalize): ...this.
30251         (cgraph_c_tests): Rename to...
30252         (cgraph_cc_tests): ...this.
30253         * cgraph.h (cgraph_c_finalize): Rename to...
30254         (cgraph_cc_finalize): ...this.
30255         (cgraphunit_c_finalize): Rename to...
30256         (cgraphunit_cc_finalize): ...this.
30257         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
30258         (cgraphunit_cc_finalize): ...this.
30259         * convert.cc (convert_c_tests): Rename to...
30260         (convert_cc_tests): ...this.
30261         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
30262         (dbgcnt_cc_tests): ...this.
30263         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
30264         (diagnostic_show_locus_cc_tests): ...this.
30265         * diagnostic.cc (diagnostic_c_tests): Rename to...
30266         (diagnostic_cc_tests): ...this.
30267         * dumpfile.cc (dumpfile_c_tests): Rename to...
30268         (dumpfile_cc_tests): ...this.
30269         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
30270         (dwarf2out_cc_finalize): ...this.
30271         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
30272         (dwarf2out_cc_finalize): ...this.
30273         * edit-context.cc (edit_context_c_tests): Rename to...
30274         (edit_context_cc_tests): ...this.
30275         * et-forest.cc (et_forest_c_tests): Rename to...
30276         (et_forest_cc_tests): ...this.
30277         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
30278         (fibonacci_heap_cc_tests): ...this.
30279         * fold-const.cc (fold_const_c_tests): Rename to...
30280         (fold_const_cc_tests): ...this.
30281         * function-tests.cc (function_tests_c_tests): Rename to...
30282         (function_tests_cc_tests): ...this.
30283         * gcse.cc (gcse_c_finalize): Rename to...
30284         (gcse_cc_finalize): ...this.
30285         * gcse.h (gcse_c_finalize): Rename to...
30286         (gcse_cc_finalize): ...this.
30287         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
30288         (ggc_tests_cc_tests): ...this.
30289         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
30290         (store_merging_cc_tests): ...this.
30291         * gimple.cc (gimple_c_tests): Rename to...
30292         (gimple_cc_tests): ...this.
30293         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
30294         (hash_map_tests_cc_tests): ...this.
30295         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
30296         (hash_set_tests_cc_tests): ...this.
30297         * input.cc (input_c_tests): Rename to...
30298         (input_cc_tests): ...this.
30299         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
30300         (ipa_cp_cc_finalize): ...this.
30301         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
30302         (ipa_fnsummary_cc_finalize): ...this.
30303         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
30304         (ipa_fnsummary_cc_finalize): ...this.
30305         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
30306         (ipa_modref_tree_cc_tests): ...this.
30307         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
30308         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
30309         (ipa_modref_cc_finalize): ...this.
30310         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
30311         (ipa_modref_cc_finalize): ...this.
30312         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
30313         (ipa_cp_cc_finalize): ...this.
30314         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
30315         (ipa_reference_cc_finalize): ...this.
30316         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
30317         (ipa_reference_cc_finalize): ...this.
30318         * ira-costs.cc (ira_costs_c_finalize): Rename to...
30319         (ira_costs_cc_finalize): ...this.
30320         * ira.h (ira_costs_c_finalize): Rename to...
30321         (ira_costs_cc_finalize): ...this.
30322         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
30323         (opt_suggestions_cc_tests): ...this.
30324         * opts.cc (opts_c_tests): Rename to...
30325         (opts_cc_tests): ...this.
30326         * predict.cc (predict_c_tests): Rename to...
30327         (predict_cc_tests): ...this.
30328         * pretty-print.cc (pretty_print_c_tests): Rename to...
30329         (pretty_print_cc_tests): ...this.
30330         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
30331         (read_rtl_function_cc_tests): ...this.
30332         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
30333         (rtl_tests_cc_tests): ...this.
30334         * sbitmap.cc (sbitmap_c_tests): Rename to...
30335         (sbitmap_cc_tests): ...this.
30336         * selftest-run-tests.cc (selftest::run_tests): Update calls for
30337         _c_ to _cc_ function renamings; fix names of attribs and
30338         opt-suggestions tests.
30339         * selftest.cc (selftest_c_tests): Rename to...
30340         (selftest_cc_tests): ...this.
30341         * selftest.h (attribute_c_tests): Rename to...
30342         (attribs_cc_tests): ...this.
30343         (bitmap_c_tests): Rename to...
30344         (bitmap_cc_tests): ...this.
30345         (cgraph_c_tests): Rename to...
30346         (cgraph_cc_tests): ...this.
30347         (convert_c_tests): Rename to...
30348         (convert_cc_tests): ...this.
30349         (diagnostic_c_tests): Rename to...
30350         (diagnostic_cc_tests): ...this.
30351         (diagnostic_show_locus_c_tests): Rename to...
30352         (diagnostic_show_locus_cc_tests): ...this.
30353         (dumpfile_c_tests): Rename to...
30354         (dumpfile_cc_tests): ...this.
30355         (edit_context_c_tests): Rename to...
30356         (edit_context_cc_tests): ...this.
30357         (et_forest_c_tests): Rename to...
30358         (et_forest_cc_tests): ...this.
30359         (fibonacci_heap_c_tests): Rename to...
30360         (fibonacci_heap_cc_tests): ...this.
30361         (fold_const_c_tests): Rename to...
30362         (fold_const_cc_tests): ...this.
30363         (function_tests_c_tests): Rename to...
30364         (function_tests_cc_tests): ...this.
30365         (ggc_tests_c_tests): Rename to...
30366         (ggc_tests_cc_tests): ...this.
30367         (gimple_c_tests): Rename to...
30368         (gimple_cc_tests): ...this.
30369         (hash_map_tests_c_tests): Rename to...
30370         (hash_map_tests_cc_tests): ...this.
30371         (hash_set_tests_c_tests): Rename to...
30372         (hash_set_tests_cc_tests): ...this.
30373         (input_c_tests): Rename to...
30374         (input_cc_tests): ...this.
30375         (opts_c_tests): Rename to...
30376         (opts_cc_tests): ...this.
30377         (predict_c_tests): Rename to...
30378         (predict_cc_tests): ...this.
30379         (pretty_print_c_tests): Rename to...
30380         (pretty_print_cc_tests): ...this.
30381         (read_rtl_function_c_tests): Rename to...
30382         (read_rtl_function_cc_tests): ...this.
30383         (rtl_tests_c_tests): Rename to...
30384         (rtl_tests_cc_tests): ...this.
30385         (sbitmap_c_tests): Rename to...
30386         (sbitmap_cc_tests): ...this.
30387         (selftest_c_tests): Rename to...
30388         (selftest_cc_tests): ...this.
30389         (simplify_rtx_c_tests): Rename to...
30390         (simplify_rtx_cc_tests): ...this.
30391         (spellcheck_c_tests): Rename to...
30392         (spellcheck_cc_tests): ...this.
30393         (spellcheck_tree_c_tests): Rename to...
30394         (spellcheck_tree_cc_tests): ...this.
30395         (sreal_c_tests): Rename to...
30396         (sreal_cc_tests): ...this.
30397         (store_merging_c_tests): Rename to...
30398         (store_merging_cc_tests): ...this.
30399         (tree_c_tests): Rename to...
30400         (tree_cc_tests): ...this.
30401         (tree_cfg_c_tests): Rename to...
30402         (tree_cfg_cc_tests): ...this.
30403         (typed_splay_tree_c_tests): Rename to...
30404         (typed_splay_tree_cc_tests): ...this.
30405         (vec_c_tests): Rename to...
30406         (vec_cc_tests): ...this.
30407         (vec_perm_indices_c_tests): Rename to...
30408         (vec_perm_indices_cc_tests): ..this.
30409         (opt_proposer_c_tests): Rename to...
30410         (opt_suggestions_cc_tests): ...this.
30411         (dbgcnt_c_tests): Rename to...
30412         (dbgcnt_cc_tests): ...this.
30413         (ipa_modref_tree_c_tests): Rename to...
30414         (ipa_modref_tree_cc_tests): ...this.
30415         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
30416         (simplify_rtx_cc_tests): ...this.
30417         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
30418         (spellcheck_tree_cc_tests): ...this.
30419         * spellcheck.cc (spellcheck_c_tests): Rename to...
30420         (spellcheck_cc_tests): ...this.
30421         * sreal.cc (sreal_c_tests): Rename to...
30422         (sreal_cc_tests): ...this.
30423         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
30424         function renamings.
30425         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
30426         (tree_cfg_cc_tests): ...this.
30427         * tree.cc (tree_c_tests): Rename to...
30428         (tree_cc_tests): ...this.
30429         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
30430         (typed_splay_tree_cc_tests): ...this.
30431         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
30432         (vec_perm_indices_cc_tests): ...this.
30433         * vec.cc (vec_c_tests): Rename to...
30434         (vec_cc_tests): ...this.
30436 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
30438         PR tree-optimization/103997
30439         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
30440         vectorization.
30442 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
30444         PR middle-end/102860
30445         * match.pd (x %[fl] y -> x % y): New simplification for
30446         unsigned integral types.
30447         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
30448         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
30450 2022-01-19  Richard Biener  <rguenther@suse.de>
30452         PR tree-optimization/104112
30453         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
30454         for required intermediate vector types.
30456 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
30458         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
30460 2022-01-19  Martin Liska  <mliska@suse.cz>
30462         * configure.ac: Remove -Wno-error=format-diag.
30463         * configure: Regenerate.
30465 2022-01-19  Martin Liska  <mliska@suse.cz>
30467         * config/riscv/riscv.cc (riscv_handle_type_attribute):
30468         Update one -Wformat-diag string in warning message.
30470 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
30472         PR middle-end/104103
30473         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
30474         .ASAN_MARK calls.
30476 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
30478         PR c++/89074
30479         * fold-const.cc (address_compare): Consider different STRING_CSTs
30480         with the same lengths that memcmp the same as equal, not different.
30482 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
30484         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
30485         {%0}.
30487 2022-01-19  Martin Liska  <mliska@suse.cz>
30488             Thomas Schwinge  <thomas@codesourcery.com>
30490         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
30491         warning messages.
30493 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
30495         PR target/104090
30496         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
30497         rs6000_cpu.
30499 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
30501         PR target/104104
30502         * config/i386/sse.md
30503         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
30504         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
30505         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
30506         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
30507         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
30508         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
30509         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
30510         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
30511         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
30513 2022-01-19  Martin Sebor  <msebor@redhat.com>
30515         PR middle-end/104069
30516         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
30517         an unknown result as documented.
30519 2022-01-18  Andrew Pinski  <apinski@marvell.com>
30521         * ipa-split.cc (visit_bb): Fix comment before the
30522         warning/error attribute checking code.
30524 2022-01-18  David Faust  <david.faust@oracle.com>
30526         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
30527         for base strtab offset yet as it may change.
30528         (output_asm_btfext_core_reloc): Do so here instead.
30529         (output_btfext_core_sections): Likewise.
30531 2022-01-18  David Faust  <david.faust@oracle.com>
30533         * config/bpf/coreout.cc (output_btfext_header): Account for
30534         4-byte record size in core_relo_len.
30535         (output_btfext_core_sections): Only write record size once.
30536         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
30537         member.
30539 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
30541         * common/config/riscv/riscv-common.cc
30542         (riscv_subset_list::parse_multiletter_ext): Move pointer
30543         arithmetic ahead of `free'.
30545 2022-01-18  Jason Merrill  <jason@redhat.com>
30547         PR c++/104007
30548         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
30549         context.
30551 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
30553         PR middle-end/103163
30554         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
30555         (init_emit_once): ...not here.
30557 2022-01-18  Martin Liska  <mliska@suse.cz>
30559         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
30560         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
30561         * config/arc/arc.md: Likewise.
30562         * config/avr/avr.cc (avr_section_type_flags): Likewise.
30563         * config/bfin/bfin.cc (bfin_option_override): Likewise.
30564         (bfin_handle_longcall_attribute): Likewise.
30565         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
30566         * config/frv/frv.cc (frv_expand_builtin): Likewise.
30567         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
30568         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
30569         (iq2000_print_operand_address): Likewise.
30570         (iq2000_print_operand): Likewise.
30571         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
30572         (m32c_pragma_address): Likewise.
30573         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
30574         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
30575         (mips_set_compression_mode): Likewise.
30576         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
30577         (mmix_print_operand): Likewise.
30578         (mmix_output_shiftvalue_op_from_str): Likewise.
30579         (mmix_output_shifted_value): Likewise.
30580         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
30581         * config/msp430/msp430.cc (msp430_option_override): Likewise.
30582         (msp430_attr): Likewise.
30583         (msp430_expand_delay_cycles): Likewise.
30584         (msp430_expand_builtin): Likewise.
30585         * config/rs6000/aix73.h: Likewise.
30586         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
30587         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
30588         (valid_psw_flag): Likewise.
30589         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
30590         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
30591         (xstormy16_expand_builtin_va_start): Likewise.
30592         (xstormy16_handle_below100_attribute): Likewise.
30594 2022-01-18  Martin Liska  <mliska@suse.cz>
30596         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
30597         warning.
30598         (vms_pragma_standard): Likewise.
30599         (vms_pragma_extern_prefix): Likewise.
30601 2022-01-18  Martin Liska  <mliska@suse.cz>
30603         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
30604         (print_operand_address): Likewise.
30605         (xtensa_multibss_section_type_flags): Likewise.
30607 2022-01-18  Martin Liska  <mliska@suse.cz>
30609         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
30610         wording of an error message.
30612 2022-01-18  Martin Liska  <mliska@suse.cz>
30614         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
30615         warning.
30616         (ghs_pragma_section): Likewise.
30617         (ghs_pragma_interrupt): Likewise.
30618         (ghs_pragma_starttda): Likewise.
30619         (ghs_pragma_startsda): Likewise.
30620         (ghs_pragma_startzda): Likewise.
30621         (ghs_pragma_endtda): Likewise.
30622         (ghs_pragma_endsda): Likewise.
30623         (ghs_pragma_endzda): Likewise.
30625 2022-01-18  Martin Liska  <mliska@suse.cz>
30627         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
30628         Fix warnings.
30629         * config/nds32/nds32-intrinsic.md: Likewise.
30630         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
30631         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
30632         (nds32_insert_attributes): Likewise.
30634 2022-01-18  Martin Liska  <mliska@suse.cz>
30636         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
30637         keyword.
30638         * config/nvptx/nvptx.md: Remove trailing dot.
30640 2022-01-18  Martin Liska  <mliska@suse.cz>
30642         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
30643         Wrap keywords with quotes and remove trailing dots.
30644         (riscv_subset_list::parsing_subset_version): Likewise.
30645         (riscv_subset_list::parse_std_ext): Likewise.
30646         (riscv_subset_list::parse_multiletter_ext): Likewise.
30647         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
30649 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
30651         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
30652         argument suggested_unroll_factor.
30653         (vect_analyze_loop_costing): Likewise.
30654         (_loop_vec_info::_loop_vec_info): Initialize new member
30655         suggested_unroll_factor.
30656         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
30657         main loop use partial vectors.
30658         (vect_analyze_loop_2): Pass and use new argument
30659         suggested_unroll_factor.
30660         (vect_analyze_loop_1): Change to intialize local
30661         suggested_unroll_factor and use it.
30662         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
30663         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
30664         suggested_unroll_factor.
30665         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
30666         (vector_costs::suggested_unroll_factor): New getter function.
30667         (finish_cost): Set return argument suggested_unroll_factor.
30669 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
30671         PR tree-optimization/104038
30672         * doc/invoke.texi (relation-block-limit): New.
30673         * params.opt (relation-block-limit): New.
30674         * value-relation.cc (dom_oracle::register_relation): Check for NULL
30675         record before invoking transitive registery.
30676         (dom_oracle::set_one_relation): Check limit before creating record.
30677         (dom_oracle::register_transitives): Stop when no record created.
30678         * value-relation.h (relation_chain_head::m_num_relations): New.
30680 2022-01-18  Richard Biener  <rguenther@suse.de>
30682         PR ipa/103989
30683         * ipa-inline.cc (inline_small_functions): Do not enqueue call
30684         edges originating in functions compiled with -Og.
30686 2022-01-18  Richard Biener  <rguenther@suse.de>
30688         PR ipa/103989
30689         * passes.def (pass_all_optimizations_g): Remove pass_modref
30690         and pass_local_pure_const.
30692 2022-01-18  Martin Liska  <mliska@suse.cz>
30694         * config/s390/s390.cc: Fix -Wformat-diag warnings.
30696 2022-01-18  Martin Liska  <mliska@suse.cz>
30698         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
30699         keyword in quotes.
30700         (s390_resolve_overloaded_builtin): Remove trailing dot.
30701         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
30702         (s390_expand_builtin): Remove trailing dot.
30703         (s390_emit_prologue): Likewise, use semicolon.
30704         (s390_option_override_internal): Update keyword.
30705         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
30707 2022-01-18  Martin Liska  <mliska@suse.cz>
30709         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
30710         keywords and use %qs instead of %<%s%>.
30712 2022-01-18  Richard Biener  <rguenther@suse.de>
30714         PR tree-optimization/103987
30715         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
30716         query with a pointer check.
30718 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
30720         PR target/104005
30721         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
30722         When using MEM_EXPR, require the base to be a decl.
30724 2022-01-18  Richard Biener  <rguenther@suse.de>
30726         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
30727         avoid padding.
30728         * function.h (struct function): Likewise.
30730 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
30732         * doc/install.texi: Update prerequisites for GNAT
30734 2022-01-18  Andrew Pinski  <apinski@marvell.com>
30736         PR tree-optimization/101941
30737         * ipa-split.cc (visit_bb): Disallow function calls where
30738         the function has either error or warning attribute.
30740 2022-01-18  Richard Biener  <rguenther@suse.de>
30742         PR tree-optimization/104064
30743         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
30744         DR_INIT fits in a signed HWI, represent the difference from the
30745         first DR in unsigned.
30747 2022-01-17  Martin Liska  <mliska@suse.cz>
30749         * Makefile.in: Rename .c names to .cc.
30750         * config.gcc: Likewise.
30751         * configure: Regenerate. Likewise.
30752         * configure.ac: Likewise.
30753         * gengtype.cc (set_gc_used): Likewise.
30754         (source_dot_c_frul): Likewise.
30755         (source_dot_cc_frul): Likewise.
30756         (struct file_rule_st): Likewise.
30757         (close_output_files): Likewise.
30758         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
30760 2022-01-17  Martin Liska  <mliska@suse.cz>
30762         * Makefile.in: Rename .c names to .cc.
30763         * alias.h: Likewise.
30764         * asan.cc: Likewise.
30765         * auto-profile.h: Likewise.
30766         * basic-block.h (struct basic_block_d): Likewise.
30767         * btfout.cc: Likewise.
30768         * builtins.cc (expand_builtin_longjmp): Likewise.
30769         (validate_arg): Likewise.
30770         (access_ref::offset_bounded): Likewise.
30771         * caller-save.cc (reg_restore_code): Likewise.
30772         (setup_save_areas): Likewise.
30773         * calls.cc (initialize_argument_information): Likewise.
30774         (expand_call): Likewise.
30775         (emit_library_call_value_1): Likewise.
30776         * cfg-flags.def (RTL): Likewise.
30777         (SIBCALL): Likewise.
30778         (CAN_FALLTHRU): Likewise.
30779         * cfganal.cc (post_order_compute): Likewise.
30780         * cfgcleanup.cc (try_simplify_condjump): Likewise.
30781         (merge_blocks_move_predecessor_nojumps): Likewise.
30782         (merge_blocks_move_successor_nojumps): Likewise.
30783         (merge_blocks_move): Likewise.
30784         (old_insns_match_p): Likewise.
30785         (try_crossjump_bb): Likewise.
30786         * cfgexpand.cc (expand_gimple_stmt): Likewise.
30787         * cfghooks.cc (split_block_before_cond_jump): Likewise.
30788         (profile_record_check_consistency): Likewise.
30789         * cfghooks.h: Likewise.
30790         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
30791         (rtl_can_merge_blocks): Likewise.
30792         (try_redirect_by_replacing_jump): Likewise.
30793         (make_pass_outof_cfg_layout_mode): Likewise.
30794         (cfg_layout_can_merge_blocks_p): Likewise.
30795         * cgraph.cc (release_function_body): Likewise.
30796         (cgraph_node::get_fun): Likewise.
30797         * cgraph.h (struct cgraph_node): Likewise.
30798         (asmname_hasher::equal): Likewise.
30799         (cgraph_inline_failed_type): Likewise.
30800         (thunk_adjust): Likewise.
30801         (dump_callgraph_transformation): Likewise.
30802         (record_references_in_initializer): Likewise.
30803         (ipa_discover_variable_flags): Likewise.
30804         * cgraphclones.cc (GTY): Likewise.
30805         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
30806         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
30807         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
30808         * collect2.cc (maybe_run_lto_and_relink): Likewise.
30809         * combine-stack-adj.cc: Likewise.
30810         * combine.cc (setup_incoming_promotions): Likewise.
30811         (combine_simplify_rtx): Likewise.
30812         (count_rtxs): Likewise.
30813         * common.opt: Likewise.
30814         * common/config/aarch64/aarch64-common.cc: Likewise.
30815         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
30816         * common/config/avr/avr-common.cc: Likewise.
30817         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
30818         * conditions.h: Likewise.
30819         * config.gcc: Likewise.
30820         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
30821         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
30822         (aarch64_get_extension_string_for_isa_flags): Likewise.
30823         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
30824         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
30825         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
30826         (aarch64_option_valid_attribute_p): Likewise.
30827         (aarch64_short_vector_p): Likewise.
30828         (aarch64_float_const_representable_p): Likewise.
30829         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
30830         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
30831         (GTY): Likewise.
30832         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
30833         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
30834         * config/aarch64/t-aarch64: Likewise.
30835         * config/aarch64/x-aarch64: Likewise.
30836         * config/aarch64/x-darwin: Likewise.
30837         * config/alpha/alpha-protos.h: Likewise.
30838         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
30839         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
30840         (enum reg_class): Likewise.
30841         * config/alpha/alpha.md: Likewise.
30842         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
30843         * config/alpha/x-alpha: Likewise.
30844         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
30845         * config/arc/arc.cc (ARC_OPT): Likewise.
30846         (arc_ccfsm_advance): Likewise.
30847         (arc_arg_partial_bytes): Likewise.
30848         (conditionalize_nonjump): Likewise.
30849         * config/arc/arc.md: Likewise.
30850         * config/arc/builtins.def: Likewise.
30851         * config/arc/t-arc: Likewise.
30852         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
30853         (arm_pragma_target_parse): Likewise.
30854         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
30855         (arm_cpu_cpp_builtins): Likewise.
30856         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
30857         (shift_op): Likewise.
30858         (thumb2_final_prescan_insn): Likewise.
30859         (arm_final_prescan_insn): Likewise.
30860         (arm_asm_output_labelref): Likewise.
30861         (arm_small_register_classes_for_mode_p): Likewise.
30862         * config/arm/arm.h: Likewise.
30863         * config/arm/arm.md: Likewise.
30864         * config/arm/driver-arm.cc: Likewise.
30865         * config/arm/symbian.h: Likewise.
30866         * config/arm/t-arm: Likewise.
30867         * config/arm/thumb1.md: Likewise.
30868         * config/arm/x-arm: Likewise.
30869         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
30870         * config/avr/avr-fixed.md: Likewise.
30871         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
30872         * config/avr/avr-mcus.def: Likewise.
30873         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
30874         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
30875         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
30876         * config/avr/avr.cc (avr_option_override): Likewise.
30877         (avr_build_builtin_va_list): Likewise.
30878         (avr_mode_dependent_address_p): Likewise.
30879         (avr_function_arg_advance): Likewise.
30880         (avr_asm_output_aligned_decl_common): Likewise.
30881         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
30882         (SUPPORTS_INIT_PRIORITY): Likewise.
30883         * config/avr/avr.md: Likewise.
30884         * config/avr/builtins.def: Likewise.
30885         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
30886         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
30887         (main): Likewise.
30888         * config/avr/t-avr: Likewise.
30889         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
30890         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
30891         * config/bpf/bpf.h (enum reg_class): Likewise.
30892         * config/bpf/t-bpf: Likewise.
30893         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
30894         * config/cr16/cr16-protos.h: Likewise.
30895         * config/cris/cris.cc (cris_address_cost): Likewise.
30896         (cris_side_effect_mode_ok): Likewise.
30897         (cris_init_machine_status): Likewise.
30898         (cris_emit_movem_store): Likewise.
30899         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
30900         (enum reg_class): Likewise.
30901         (struct cum_args): Likewise.
30902         * config/cris/cris.opt: Likewise.
30903         * config/cris/sync.md: Likewise.
30904         * config/csky/csky.cc (csky_expand_prologue): Likewise.
30905         * config/darwin-c.cc: Likewise.
30906         * config/darwin-f.cc: Likewise.
30907         * config/darwin-sections.def (zobj_const_section): Likewise.
30908         * config/darwin.cc (output_objc_section_asm_op): Likewise.
30909         (fprintf): Likewise.
30910         * config/darwin.h (GTY): Likewise.
30911         * config/elfos.h: Likewise.
30912         * config/epiphany/epiphany-sched.md: Likewise.
30913         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
30914         * config/epiphany/epiphany.h (GTY): Likewise.
30915         (NO_FUNCTION_CSE): Likewise.
30916         * config/epiphany/mode-switch-use.cc: Likewise.
30917         * config/epiphany/predicates.md: Likewise.
30918         * config/epiphany/t-epiphany: Likewise.
30919         * config/fr30/fr30-protos.h: Likewise.
30920         * config/frv/frv-protos.h: Likewise.
30921         * config/frv/frv.cc (TLS_BIAS): Likewise.
30922         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
30923         * config/ft32/ft32-protos.h: Likewise.
30924         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
30925         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
30926         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
30927         * config/gcn/t-gcn-hsa: Likewise.
30928         * config/gcn/t-omp-device: Likewise.
30929         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
30930         (same_cmp_following_p): Likewise.
30931         * config/h8300/h8300.cc (F): Likewise.
30932         * config/h8300/h8300.h (struct cum_arg): Likewise.
30933         (BRANCH_COST): Likewise.
30934         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
30935         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
30936         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
30937         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
30938         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
30939         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
30940         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
30941         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
30942         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
30943         (ix86_register_pragmas): Likewise.
30944         (ix86_d_has_stdcall_convention): Likewise.
30945         (i386_pe_seh_init_sections): Likewise.
30946         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
30947         (ix86_function_value_regno_p): Likewise.
30948         (ix86_compute_frame_layout): Likewise.
30949         (legitimize_pe_coff_symbol): Likewise.
30950         (output_pic_addr_const): Likewise.
30951         * config/i386/i386.h (defined): Likewise.
30952         (host_detect_local_cpu): Likewise.
30953         (CONSTANT_ADDRESS_P): Likewise.
30954         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
30955         (struct machine_frame_state): Likewise.
30956         * config/i386/i386.md: Likewise.
30957         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
30958         * config/i386/mmx.md: Likewise.
30959         * config/i386/sse.md: Likewise.
30960         * config/i386/t-cygming: Likewise.
30961         * config/i386/t-djgpp: Likewise.
30962         * config/i386/t-gnu-property: Likewise.
30963         * config/i386/t-i386: Likewise.
30964         * config/i386/t-intelmic: Likewise.
30965         * config/i386/t-omp-device: Likewise.
30966         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
30967         (i386_pe_adjust_class_at_definition): Likewise.
30968         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
30969         (i386_pe_mangle_decl_assembler_name): Likewise.
30970         (i386_pe_encode_section_info): Likewise.
30971         * config/i386/x-cygwin: Likewise.
30972         * config/i386/x-darwin: Likewise.
30973         * config/i386/x-i386: Likewise.
30974         * config/i386/x-mingw32: Likewise.
30975         * config/i386/x86-tune-sched-core.cc: Likewise.
30976         * config/i386/x86-tune.def: Likewise.
30977         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
30978         * config/ia64/freebsd.h: Likewise.
30979         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
30980         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
30981         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
30982         (ia64_secondary_reload_class): Likewise.
30983         (bundling): Likewise.
30984         * config/ia64/ia64.h: Likewise.
30985         * config/ia64/ia64.md: Likewise.
30986         * config/ia64/predicates.md: Likewise.
30987         * config/ia64/sysv4.h: Likewise.
30988         * config/ia64/t-ia64: Likewise.
30989         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
30990         * config/iq2000/iq2000.md: Likewise.
30991         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
30992         (if): Likewise.
30993         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
30994         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
30995         * config/m32c/t-m32c: Likewise.
30996         * config/m32r/m32r-protos.h: Likewise.
30997         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
30998         * config/m32r/m32r.h: Likewise.
30999         * config/m32r/m32r.md: Likewise.
31000         * config/m68k/m68k-isas.def: Likewise.
31001         * config/m68k/m68k-microarchs.def: Likewise.
31002         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
31003         (m68k_epilogue_uses): Likewise.
31004         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
31005         (m68k_sched_adjust_cost): Likewise.
31006         (m68k_sched_md_init): Likewise.
31007         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
31008         (enum m68k_function_kind): Likewise.
31009         * config/m68k/m68k.md: Likewise.
31010         * config/m68k/m68kemb.h: Likewise.
31011         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
31012         * config/mcore/mcore-protos.h: Likewise.
31013         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
31014         (mcore_expand_prolog): Likewise.
31015         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
31016         * config/mcore/mcore.md: Likewise.
31017         * config/microblaze/microblaze-protos.h: Likewise.
31018         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
31019         (microblaze_function_prologue): Likewise.
31020         (microblaze_function_epilogue): Likewise.
31021         (microblaze_select_section): Likewise.
31022         (microblaze_asm_output_mi_thunk): Likewise.
31023         (microblaze_eh_return): Likewise.
31024         * config/microblaze/microblaze.h: Likewise.
31025         * config/microblaze/microblaze.md: Likewise.
31026         * config/microblaze/t-microblaze: Likewise.
31027         * config/mips/driver-native.cc: Likewise.
31028         * config/mips/loongson2ef.md: Likewise.
31029         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
31030         * config/mips/mips.cc (mips_rtx_costs): Likewise.
31031         (mips_output_filename): Likewise.
31032         (mips_output_function_prologue): Likewise.
31033         (mips_output_function_epilogue): Likewise.
31034         (mips_output_mi_thunk): Likewise.
31035         * config/mips/mips.h: Likewise.
31036         * config/mips/mips.md: Likewise.
31037         * config/mips/t-mips: Likewise.
31038         * config/mips/x-native: Likewise.
31039         * config/mmix/mmix-protos.h: Likewise.
31040         * config/mmix/mmix.cc (mmix_option_override): Likewise.
31041         (mmix_dbx_register_number): Likewise.
31042         (mmix_expand_prologue): Likewise.
31043         * config/mmix/mmix.h: Likewise.
31044         * config/mmix/mmix.md: Likewise.
31045         * config/mmix/predicates.md: Likewise.
31046         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
31047         (mn10300_legitimate_pic_operand_p): Likewise.
31048         * config/mn10300/mn10300.h (enum reg_class): Likewise.
31049         (NO_FUNCTION_CSE): Likewise.
31050         * config/moxie/moxie-protos.h: Likewise.
31051         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
31052         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
31053         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
31054         (msp430_incoming_return_addr_rtx): Likewise.
31055         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
31056         * config/msp430/t-msp430: Likewise.
31057         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
31058         (nds32_rtx_costs_size_prefer): Likewise.
31059         (nds32_init_rtx_costs): Likewise.
31060         * config/nds32/nds32-doubleword.md: Likewise.
31061         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
31062         (nds32_builtin_decl): Likewise.
31063         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
31064         (enum nds32_isr_nested_type): Likewise.
31065         (enum reg_class): Likewise.
31066         * config/nds32/predicates.md: Likewise.
31067         * config/nds32/t-nds32: Likewise.
31068         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
31069         * config/nvptx/nvptx-protos.h: Likewise.
31070         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
31071         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
31072         * config/nvptx/t-nvptx: Likewise.
31073         * config/nvptx/t-omp-device: Likewise.
31074         * config/pa/elf.h: Likewise.
31075         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
31076         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
31077         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
31078         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
31079         (pa_legitimize_reload_address): Likewise.
31080         (pa_can_use_return_insn): Likewise.
31081         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
31082         (som_output_text_section_asm_op): Likewise.
31083         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
31084         * config/pa/pa.md: Likewise.
31085         * config/pa/som.h: Likewise.
31086         * config/pa/t-pa: Likewise.
31087         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
31088         * config/pdp11/pdp11.h: Likewise.
31089         * config/pdp11/pdp11.md: Likewise.
31090         * config/pdp11/t-pdp11: Likewise.
31091         * config/pru/pru.md: Likewise.
31092         * config/pru/t-pru: Likewise.
31093         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
31094         (riscv_gpr_save_operation_p): Likewise.
31095         (riscv_d_register_target_info): Likewise.
31096         (riscv_init_builtins): Likewise.
31097         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
31098         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
31099         * config/riscv/t-riscv: Likewise.
31100         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
31101         * config/rl78/t-rl78: Likewise.
31102         * config/rs6000/aix.h: Likewise.
31103         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
31104         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
31105         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
31106         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
31107         * config/rs6000/driver-rs6000.cc: Likewise.
31108         * config/rs6000/freebsd.h: Likewise.
31109         * config/rs6000/freebsd64.h: Likewise.
31110         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
31111         * config/rs6000/rbtree.cc: Likewise.
31112         * config/rs6000/rbtree.h: Likewise.
31113         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
31114         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
31115         (rs6000_expand_builtin): Likewise.
31116         (rs6000_init_builtins): Likewise.
31117         * config/rs6000/rs6000-cpus.def: Likewise.
31118         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
31119         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
31120         (quad_address_offset_p): Likewise.
31121         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
31122         (rs6000_emit_epilogue): Likewise.
31123         * config/rs6000/rs6000-overload.def: Likewise.
31124         * config/rs6000/rs6000-p8swap.cc: Likewise.
31125         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
31126         (rs6000_const_f32_to_i32): Likewise.
31127         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
31128         (rs6000_debug_legitimize_address): Likewise.
31129         (rs6000_mode_dependent_address): Likewise.
31130         (rs6000_adjust_priority): Likewise.
31131         (rs6000_c_mode_for_suffix): Likewise.
31132         * config/rs6000/rs6000.h (defined): Likewise.
31133         (LONG_DOUBLE_TYPE_SIZE): Likewise.
31134         * config/rs6000/rs6000.md: Likewise.
31135         * config/rs6000/sysv4.h: Likewise.
31136         * config/rs6000/t-linux: Likewise.
31137         * config/rs6000/t-linux64: Likewise.
31138         * config/rs6000/t-rs6000: Likewise.
31139         * config/rs6000/x-darwin: Likewise.
31140         * config/rs6000/x-darwin64: Likewise.
31141         * config/rs6000/x-rs6000: Likewise.
31142         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
31143         * config/rx/rx.cc (rx_expand_builtin): Likewise.
31144         * config/s390/constraints.md: Likewise.
31145         * config/s390/driver-native.cc: Likewise.
31146         * config/s390/htmxlintrin.h: Likewise.
31147         * config/s390/s390-builtins.def (B_DEF): Likewise.
31148         (OB_DEF_VAR): Likewise.
31149         * config/s390/s390-builtins.h: Likewise.
31150         * config/s390/s390-c.cc: Likewise.
31151         * config/s390/s390-opts.h: Likewise.
31152         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
31153         (s390_register_target_pragmas): Likewise.
31154         * config/s390/s390.cc (s390_init_builtins): Likewise.
31155         (s390_expand_plus_operand): Likewise.
31156         (s390_expand_atomic): Likewise.
31157         (s390_valid_target_attribute_inner_p): Likewise.
31158         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
31159         * config/s390/s390.md: Likewise.
31160         * config/s390/t-s390: Likewise.
31161         * config/s390/vx-builtins.md: Likewise.
31162         * config/s390/x-native: Likewise.
31163         * config/sh/divtab-sh4-300.cc (main): Likewise.
31164         * config/sh/divtab-sh4.cc (main): Likewise.
31165         * config/sh/divtab.cc (main): Likewise.
31166         * config/sh/elf.h: Likewise.
31167         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
31168         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
31169         (sh_struct_value_rtx): Likewise.
31170         (sh_remove_reg_dead_or_unused_notes): Likewise.
31171         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
31172         * config/sh/t-sh: Likewise.
31173         * config/sol2-protos.h (solaris_override_options): Likewise.
31174         * config/sol2.h: Likewise.
31175         * config/sparc/driver-sparc.cc: Likewise.
31176         * config/sparc/freebsd.h: Likewise.
31177         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
31178         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
31179         (sparc_asan_shadow_offset): Likewise.
31180         * config/sparc/sparc.h: Likewise.
31181         * config/sparc/sparc.md: Likewise.
31182         * config/sparc/t-sparc: Likewise.
31183         * config/sparc/x-sparc: Likewise.
31184         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
31185         * config/t-darwin: Likewise.
31186         * config/t-dragonfly: Likewise.
31187         * config/t-freebsd: Likewise.
31188         * config/t-glibc: Likewise.
31189         * config/t-linux: Likewise.
31190         * config/t-netbsd: Likewise.
31191         * config/t-openbsd: Likewise.
31192         * config/t-pnt16-warn: Likewise.
31193         * config/t-sol2: Likewise.
31194         * config/t-vxworks: Likewise.
31195         * config/t-winnt: Likewise.
31196         * config/tilegx/t-tilegx: Likewise.
31197         * config/tilegx/tilegx-c.cc: Likewise.
31198         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
31199         * config/tilegx/tilegx.md: Likewise.
31200         * config/tilepro/t-tilepro: Likewise.
31201         * config/tilepro/tilepro-c.cc: Likewise.
31202         * config/v850/t-v850: Likewise.
31203         * config/v850/v850-protos.h: Likewise.
31204         * config/v850/v850.cc (F): Likewise.
31205         * config/v850/v850.h (enum reg_class): Likewise.
31206         (SLOW_BYTE_ACCESS): Likewise.
31207         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
31208         * config/vax/vax.h (enum reg_class): Likewise.
31209         * config/vax/vax.md: Likewise.
31210         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
31211         * config/visium/visium.h: Likewise.
31212         * config/vms/t-vms: Likewise.
31213         * config/vms/vms-crtlmap.map: Likewise.
31214         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
31215         * config/vx-common.h: Likewise.
31216         * config/x-darwin: Likewise.
31217         * config/x-hpux: Likewise.
31218         * config/x-linux: Likewise.
31219         * config/x-netbsd: Likewise.
31220         * config/x-openbsd: Likewise.
31221         * config/x-solaris: Likewise.
31222         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
31223         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
31224         * config/xtensa/xtensa.h: Likewise.
31225         * configure.ac: Likewise.
31226         * context.cc: Likewise.
31227         * convert.h: Likewise.
31228         * coretypes.h: Likewise.
31229         * coverage.cc: Likewise.
31230         * coverage.h: Likewise.
31231         * cppdefault.h (struct default_include): Likewise.
31232         * cprop.cc (local_cprop_pass): Likewise.
31233         (one_cprop_pass): Likewise.
31234         * cse.cc (hash_rtx_cb): Likewise.
31235         (fold_rtx): Likewise.
31236         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
31237         * data-streamer.h (bp_unpack_var_len_int): Likewise.
31238         (streamer_write_widest_int): Likewise.
31239         * dbgcnt.def: Likewise.
31240         * dbxout.cc (dbxout_early_global_decl): Likewise.
31241         (dbxout_common_check): Likewise.
31242         * dbxout.h: Likewise.
31243         * debug.h (struct gcc_debug_hooks): Likewise.
31244         (dump_go_spec_init): Likewise.
31245         * df-core.cc: Likewise.
31246         * df-scan.cc (df_insn_info_delete): Likewise.
31247         (df_insn_delete): Likewise.
31248         * df.h (debug_df_chain): Likewise.
31249         (can_move_insns_across): Likewise.
31250         * dfp.cc (decimal_from_binary): Likewise.
31251         * diagnostic-color.cc: Likewise.
31252         * diagnostic-event-id.h: Likewise.
31253         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
31254         * diagnostic.cc (bt_callback): Likewise.
31255         (num_digits): Likewise.
31256         * doc/avr-mmcu.texi: Likewise.
31257         * doc/cfg.texi: Likewise.
31258         * doc/contrib.texi: Likewise.
31259         * doc/cppinternals.texi: Likewise.
31260         * doc/extend.texi: Likewise.
31261         * doc/generic.texi: Likewise.
31262         * doc/gimple.texi: Likewise.
31263         * doc/gty.texi: Likewise.
31264         * doc/invoke.texi: Likewise.
31265         * doc/loop.texi: Likewise.
31266         * doc/lto.texi: Likewise.
31267         * doc/match-and-simplify.texi: Likewise.
31268         * doc/md.texi: Likewise.
31269         * doc/optinfo.texi: Likewise.
31270         * doc/options.texi: Likewise.
31271         * doc/passes.texi: Likewise.
31272         * doc/plugins.texi: Likewise.
31273         * doc/rtl.texi: Likewise.
31274         * doc/sourcebuild.texi: Likewise.
31275         * doc/tm.texi: Likewise.
31276         * doc/tm.texi.in: Likewise.
31277         * doc/tree-ssa.texi: Likewise.
31278         * dojump.cc (do_jump): Likewise.
31279         * dojump.h: Likewise.
31280         * dumpfile.cc (test_impl_location): Likewise.
31281         (test_capture_of_dump_calls): Likewise.
31282         * dumpfile.h (enum dump_kind): Likewise.
31283         (class dump_location_t): Likewise.
31284         (dump_enabled_p): Likewise.
31285         (enable_rtl_dump_file): Likewise.
31286         (dump_combine_total_stats): Likewise.
31287         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
31288         * dwarf2ctf.h (ctf_debug_finish): Likewise.
31289         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
31290         (struct loc_descr_context): Likewise.
31291         (rtl_for_decl_location): Likewise.
31292         (gen_subprogram_die): Likewise.
31293         (gen_label_die): Likewise.
31294         (is_trivial_indirect_ref): Likewise.
31295         (dwarf2out_late_global_decl): Likewise.
31296         (dwarf_file_hasher::hash): Likewise.
31297         (dwarf2out_end_source_file): Likewise.
31298         (dwarf2out_define): Likewise.
31299         (dwarf2out_early_finish): Likewise.
31300         * dwarf2out.h (struct dw_fde_node): Likewise.
31301         (struct dw_discr_list_node): Likewise.
31302         (output_loc_sequence_raw): Likewise.
31303         * emit-rtl.cc (gen_raw_REG): Likewise.
31304         (maybe_set_max_label_num): Likewise.
31305         * emit-rtl.h (struct rtl_data): Likewise.
31306         * errors.cc (internal_error): Likewise.
31307         (trim_filename): Likewise.
31308         * et-forest.cc: Likewise.
31309         * except.cc (init_eh_for_function): Likewise.
31310         * explow.cc (promote_ssa_mode): Likewise.
31311         (get_dynamic_stack_size): Likewise.
31312         * explow.h: Likewise.
31313         * expmed.h: Likewise.
31314         * expr.cc (safe_from_p): Likewise.
31315         (expand_expr_real_2): Likewise.
31316         (expand_expr_real_1): Likewise.
31317         * file-prefix-map.cc (remap_filename): Likewise.
31318         * final.cc (app_enable): Likewise.
31319         (make_pass_compute_alignments): Likewise.
31320         (final_scan_insn_1): Likewise.
31321         (final_scan_insn): Likewise.
31322         * fixed-value.h (fixed_from_string): Likewise.
31323         * flag-types.h (NO_DEBUG): Likewise.
31324         (DWARF2_DEBUG): Likewise.
31325         (VMS_DEBUG): Likewise.
31326         (BTF_DEBUG): Likewise.
31327         (enum ctf_debug_info_levels): Likewise.
31328         * fold-const.cc (const_binop): Likewise.
31329         (fold_binary_loc): Likewise.
31330         (fold_checksum_tree): Likewise.
31331         * fp-test.cc: Likewise.
31332         * function.cc (expand_function_end): Likewise.
31333         * function.h (struct function): Likewise.
31334         * fwprop.cc (should_replace_address): Likewise.
31335         * gcc-main.cc: Likewise.
31336         * gcc-rich-location.h (class gcc_rich_location): Likewise.
31337         * gcc-symtab.h: Likewise.
31338         * gcc.cc (MIN_FATAL_STATUS): Likewise.
31339         (driver_handle_option): Likewise.
31340         (quote_spec_arg): Likewise.
31341         (driver::finalize): Likewise.
31342         * gcc.h (set_input): Likewise.
31343         * gcov-dump.cc: Likewise.
31344         * gcov.cc (solve_flow_graph): Likewise.
31345         * gcse-common.cc: Likewise.
31346         * gcse.cc (make_pass_rtl_hoist): Likewise.
31347         * genattr-common.cc: Likewise.
31348         * genattrtab.cc (min_fn): Likewise.
31349         (write_const_num_delay_slots): Likewise.
31350         * genautomata.cc: Likewise.
31351         * genconditions.cc (write_one_condition): Likewise.
31352         * genconstants.cc: Likewise.
31353         * genemit.cc (gen_exp): Likewise.
31354         * generic-match-head.cc: Likewise.
31355         * genextract.cc: Likewise.
31356         * gengenrtl.cc (always_void_p): Likewise.
31357         * gengtype-parse.cc (gtymarker_opt): Likewise.
31358         * gengtype-state.cc (state_writer::state_writer): Likewise.
31359         (write_state_trailer): Likewise.
31360         (equals_type_number): Likewise.
31361         (read_state): Likewise.
31362         * gengtype.cc (open_base_files): Likewise.
31363         (struct file_rule_st): Likewise.
31364         (header_dot_h_frul): Likewise.
31365         * gengtype.h: Likewise.
31366         * genmatch.cc (main): Likewise.
31367         * genmddeps.cc: Likewise.
31368         * genmodes.cc (emit_mode_inner): Likewise.
31369         (emit_mode_unit_size): Likewise.
31370         * genpeep.cc (gen_peephole): Likewise.
31371         * genpreds.cc (write_tm_preds_h): Likewise.
31372         * genrecog.cc (validate_pattern): Likewise.
31373         (write_header): Likewise.
31374         (main): Likewise.
31375         * gensupport.cc (change_subst_attribute): Likewise.
31376         (traverse_c_tests): Likewise.
31377         (add_predicate): Likewise.
31378         (init_predicate_table): Likewise.
31379         * gensupport.h (struct optab_pattern): Likewise.
31380         (get_num_insn_codes): Likewise.
31381         (maybe_eval_c_test): Likewise.
31382         (struct pred_data): Likewise.
31383         * ggc-internal.h: Likewise.
31384         * gimple-fold.cc (maybe_fold_reference): Likewise.
31385         (get_range_strlen_tree): Likewise.
31386         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
31387         * gimple-low.cc: Likewise.
31388         * gimple-match-head.cc (directly_supported_p): Likewise.
31389         * gimple-pretty-print.h: Likewise.
31390         * gimple-ssa-sprintf.cc (format_percent): Likewise.
31391         (adjust_range_for_overflow): Likewise.
31392         * gimple-streamer.h: Likewise.
31393         * gimple.h (struct GTY): Likewise.
31394         (is_gimple_resx): Likewise.
31395         * gimplify.cc (gimplify_expr): Likewise.
31396         (gimplify_init_constructor): Likewise.
31397         (omp_construct_selector_matches): Likewise.
31398         (gimplify_omp_target_update): Likewise.
31399         (gimplify_omp_ordered): Likewise.
31400         (gimplify_va_arg_expr): Likewise.
31401         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
31402         * haifa-sched.cc (increase_insn_priority): Likewise.
31403         (try_ready): Likewise.
31404         (sched_create_recovery_edges): Likewise.
31405         * ifcvt.cc (find_if_case_1): Likewise.
31406         (find_if_case_2): Likewise.
31407         * inchash.h: Likewise.
31408         * incpath.cc (add_env_var_paths): Likewise.
31409         * input.cc (dump_location_info): Likewise.
31410         (assert_loceq): Likewise.
31411         (test_lexer_string_locations_concatenation_1): Likewise.
31412         (test_lexer_string_locations_concatenation_2): Likewise.
31413         (test_lexer_string_locations_concatenation_3): Likewise.
31414         * input.h (BUILTINS_LOCATION): Likewise.
31415         (class string_concat_db): Likewise.
31416         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
31417         (expand_LOOP_VECTORIZED): Likewise.
31418         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
31419         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
31420         (ipa_fn_summary_t::duplicate): Likewise.
31421         (make_pass_ipa_fn_summary): Likewise.
31422         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
31423         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
31424         (free_lang_data_in_decl): Likewise.
31425         * ipa-inline.cc (compute_inlined_call_time): Likewise.
31426         (inline_always_inline_functions): Likewise.
31427         * ipa-inline.h (free_growth_caches): Likewise.
31428         (inline_account_function_p): Likewise.
31429         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
31430         (modref_eaf_analysis::analyze_ssa_name): Likewise.
31431         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
31432         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
31433         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
31434         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
31435         (unadjusted_ptr_and_unit_offset): Likewise.
31436         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
31437         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
31438         * ipa-split.cc (consider_split): Likewise.
31439         * ipa-sra.cc (isra_read_node_info): Likewise.
31440         * ipa-utils.h (struct ipa_dfs_info): Likewise.
31441         (recursive_call_p): Likewise.
31442         (ipa_make_function_pure): Likewise.
31443         * ira-build.cc (ira_create_allocno): Likewise.
31444         (ira_flattening): Likewise.
31445         * ira-color.cc (do_coloring): Likewise.
31446         (update_curr_costs): Likewise.
31447         * ira-conflicts.cc (process_regs_for_copy): Likewise.
31448         * ira-int.h (struct ira_emit_data): Likewise.
31449         (ira_prohibited_mode_move_regs): Likewise.
31450         (ira_get_dup_out_num): Likewise.
31451         (ira_destroy): Likewise.
31452         (ira_tune_allocno_costs): Likewise.
31453         (ira_implicitly_set_insn_hard_regs): Likewise.
31454         (ira_build_conflicts): Likewise.
31455         (ira_color): Likewise.
31456         * ira-lives.cc (process_bb_node_lives): Likewise.
31457         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
31458         (setup_uniform_class_p): Likewise.
31459         (def_dominates_uses): Likewise.
31460         * ira.h (ira_nullify_asm_goto): Likewise.
31461         * langhooks.cc (lhd_post_options): Likewise.
31462         * langhooks.h (class substring_loc): Likewise.
31463         (struct lang_hooks_for_tree_inlining): Likewise.
31464         (struct lang_hooks_for_types): Likewise.
31465         (struct lang_hooks): Likewise.
31466         * libfuncs.h (synchronize_libfunc): Likewise.
31467         * loop-doloop.cc (doloop_condition_get): Likewise.
31468         * loop-init.cc (fix_loop_structure): Likewise.
31469         * loop-invariant.cc: Likewise.
31470         * lower-subreg.h: Likewise.
31471         * lra-constraints.cc (curr_insn_transform): Likewise.
31472         * lra-int.h (struct lra_insn_reg): Likewise.
31473         (lra_undo_inheritance): Likewise.
31474         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
31475         (lra_split_hard_reg_for): Likewise.
31476         (lra_coalesce): Likewise.
31477         (lra_final_code_change): Likewise.
31478         * lra-spills.cc (lra_final_code_change): Likewise.
31479         * lra.cc (lra_process_new_insns): Likewise.
31480         * lto-compress.h (struct lto_compression_stream): Likewise.
31481         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
31482         (write_symbol): Likewise.
31483         * lto-streamer.h (enum LTO_tags): Likewise.
31484         (lto_value_range_error): Likewise.
31485         (lto_append_block): Likewise.
31486         (lto_streamer_hooks_init): Likewise.
31487         (stream_read_tree_ref): Likewise.
31488         (lto_prepare_function_for_streaming): Likewise.
31489         (select_what_to_stream): Likewise.
31490         (omp_lto_input_declare_variant_alt): Likewise.
31491         (cl_optimization_stream_in): Likewise.
31492         * lto-wrapper.cc (append_compiler_options): Likewise.
31493         * machmode.def: Likewise.
31494         * machmode.h (struct int_n_data_t): Likewise.
31495         * main.cc (main): Likewise.
31496         * match.pd: Likewise.
31497         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
31498         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
31499         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
31500         (make_pass_expand_omp_ssa): Likewise.
31501         * omp-low.cc (struct omp_context): Likewise.
31502         (struct omp_taskcopy_context): Likewise.
31503         (lower_omp): Likewise.
31504         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
31505         (mask_name): Likewise.
31506         (omp_sese_dump_pars): Likewise.
31507         (worker_single_simple): Likewise.
31508         * omp-offload.cc (omp_finish_file): Likewise.
31509         (execute_oacc_loop_designation): Likewise.
31510         * optabs-query.cc (lshift_cheap_p): Likewise.
31511         * optc-gen.awk: Likewise.
31512         * optc-save-gen.awk: Likewise.
31513         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
31514         * opts-common.cc: Likewise.
31515         * output.h (app_enable): Likewise.
31516         (output_operand_lossage): Likewise.
31517         (insn_current_reference_address): Likewise.
31518         (get_insn_template): Likewise.
31519         (output_quoted_string): Likewise.
31520         * pass_manager.h (struct register_pass_info): Likewise.
31521         * plugin.cc: Likewise.
31522         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
31523         * plugin.h (invoke_plugin_callbacks): Likewise.
31524         * pointer-query.cc (handle_mem_ref): Likewise.
31525         * postreload-gcse.cc (alloc_mem): Likewise.
31526         * predict.h (enum prediction): Likewise.
31527         (add_reg_br_prob_note): Likewise.
31528         * prefix.h: Likewise.
31529         * profile.h (get_working_sets): Likewise.
31530         * read-md.cc: Likewise.
31531         * read-md.h (struct mapping): Likewise.
31532         (class md_reader): Likewise.
31533         (class noop_reader): Likewise.
31534         * read-rtl-function.cc (function_reader::create_function): Likewise.
31535         (function_reader::extra_parsing_for_operand_code_0): Likewise.
31536         * read-rtl.cc (initialize_iterators): Likewise.
31537         * real.cc: Likewise.
31538         * real.h (struct real_value): Likewise.
31539         (format_helper::format_helper): Likewise.
31540         (real_hash): Likewise.
31541         (real_can_shorten_arithmetic): Likewise.
31542         * recog.cc (struct target_recog): Likewise.
31543         (offsettable_nonstrict_memref_p): Likewise.
31544         (constrain_operands): Likewise.
31545         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
31546         (which_op_alt): Likewise.
31547         (struct insn_gen_fn): Likewise.
31548         * reg-notes.def (REG_NOTE): Likewise.
31549         * reg-stack.cc: Likewise.
31550         * regs.h (reg_is_parm_p): Likewise.
31551         * regset.h: Likewise.
31552         * reload.cc (push_reload): Likewise.
31553         (find_reloads): Likewise.
31554         (find_reloads_address_1): Likewise.
31555         (find_replacement): Likewise.
31556         (refers_to_regno_for_reload_p): Likewise.
31557         (refers_to_mem_for_reload_p): Likewise.
31558         * reload.h (push_reload): Likewise.
31559         (deallocate_reload_reg): Likewise.
31560         * reload1.cc (emit_input_reload_insns): Likewise.
31561         * reorg.cc (relax_delay_slots): Likewise.
31562         * rtl.def (UNKNOWN): Likewise.
31563         (SEQUENCE): Likewise.
31564         (BARRIER): Likewise.
31565         (ASM_OPERANDS): Likewise.
31566         (EQ_ATTR_ALT): Likewise.
31567         * rtl.h (struct GTY): Likewise.
31568         (LABEL_NAME): Likewise.
31569         (LABEL_ALT_ENTRY_P): Likewise.
31570         (SUBREG_BYTE): Likewise.
31571         (get_stack_check_protect): Likewise.
31572         (dump_rtx_statistics): Likewise.
31573         (unwrap_const_vec_duplicate): Likewise.
31574         (subreg_promoted_mode): Likewise.
31575         (gen_lowpart_common): Likewise.
31576         (operand_subword): Likewise.
31577         (immed_wide_int_const): Likewise.
31578         (decide_function_section): Likewise.
31579         (active_insn_p): Likewise.
31580         (delete_related_insns): Likewise.
31581         (try_split): Likewise.
31582         (val_signbit_known_clear_p): Likewise.
31583         (simplifiable_subregs): Likewise.
31584         (set_insn_deleted): Likewise.
31585         (subreg_get_info): Likewise.
31586         (remove_free_EXPR_LIST_node): Likewise.
31587         (finish_subregs_of_mode): Likewise.
31588         (get_mem_attrs): Likewise.
31589         (lookup_constant_def): Likewise.
31590         (rtx_to_tree_code): Likewise.
31591         (hash_rtx): Likewise.
31592         (condjump_in_parallel_p): Likewise.
31593         (validate_subreg): Likewise.
31594         (make_compound_operation): Likewise.
31595         (schedule_ebbs): Likewise.
31596         (print_inline_rtx): Likewise.
31597         (fixup_args_size_notes): Likewise.
31598         (expand_dec): Likewise.
31599         (prepare_copy_insn): Likewise.
31600         (mark_elimination): Likewise.
31601         (valid_mode_changes_for_regno): Likewise.
31602         (make_debug_expr_from_rtl): Likewise.
31603         (delete_vta_debug_insns): Likewise.
31604         (simplify_using_condition): Likewise.
31605         (set_insn_locations): Likewise.
31606         (fatal_insn_not_found): Likewise.
31607         (word_register_operation_p): Likewise.
31608         * rtlanal.cc (get_call_fndecl): Likewise.
31609         (side_effects_p): Likewise.
31610         (subreg_nregs): Likewise.
31611         (rtx_cost): Likewise.
31612         (canonicalize_condition): Likewise.
31613         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
31614         * run-rtl-passes.cc (run_rtl_passes): Likewise.
31615         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
31616         * sched-deps.cc (add_dependence_1): Likewise.
31617         * sched-ebb.cc (begin_move_insn): Likewise.
31618         (add_deps_for_risky_insns): Likewise.
31619         (advance_target_bb): Likewise.
31620         * sched-int.h (reemit_notes): Likewise.
31621         (struct _haifa_insn_data): Likewise.
31622         (HID): Likewise.
31623         (DEP_CANCELLED): Likewise.
31624         (debug_ds): Likewise.
31625         (number_in_ready): Likewise.
31626         (schedule_ebbs_finish): Likewise.
31627         (find_modifiable_mems): Likewise.
31628         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
31629         * sel-sched-dump.cc (dump_lv_set): Likewise.
31630         * sel-sched-dump.h: Likewise.
31631         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
31632         (setup_id_reg_sets): Likewise.
31633         (has_dependence_p): Likewise.
31634         (sel_num_cfg_preds_gt_1): Likewise.
31635         (bb_ends_ebb_p): Likewise.
31636         * sel-sched-ir.h (struct _list_node): Likewise.
31637         (struct idata_def): Likewise.
31638         (bb_next_bb): Likewise.
31639         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
31640         (choose_best_pseudo_reg): Likewise.
31641         (verify_target_availability): Likewise.
31642         (can_speculate_dep_p): Likewise.
31643         (sel_rank_for_schedule): Likewise.
31644         * selftest-run-tests.cc (selftest::run_tests): Likewise.
31645         * selftest.h (class auto_fix_quotes): Likewise.
31646         * shrink-wrap.cc (handle_simple_exit): Likewise.
31647         * shrink-wrap.h: Likewise.
31648         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
31649         (simplify_context::simplify_gen_vec_select): Likewise.
31650         * spellcheck-tree.h: Likewise.
31651         * spellcheck.h: Likewise.
31652         * statistics.h (struct function): Likewise.
31653         * stmt.cc (conditional_probability): Likewise.
31654         * stmt.h: Likewise.
31655         * stor-layout.h: Likewise.
31656         * streamer-hooks.h: Likewise.
31657         * stringpool.h: Likewise.
31658         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
31659         * target.def (HOOK_VECTOR_END): Likewise.
31660         (type.): Likewise.
31661         * target.h (union cumulative_args_t): Likewise.
31662         (by_pieces_ninsns): Likewise.
31663         (class predefined_function_abi): Likewise.
31664         * targhooks.cc (default_translate_mode_attribute): Likewise.
31665         * timevar.def: Likewise.
31666         * timevar.h (class timer): Likewise.
31667         * toplev.h (enable_rtl_dump_file): Likewise.
31668         * trans-mem.cc (collect_bb2reg): Likewise.
31669         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
31670         * tree-cfg.cc (remove_bb): Likewise.
31671         (verify_gimple_debug): Likewise.
31672         (remove_edge_and_dominated_blocks): Likewise.
31673         (push_fndecl): Likewise.
31674         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
31675         * tree-complex.cc (expand_complex_multiplication): Likewise.
31676         (expand_complex_div_straight): Likewise.
31677         * tree-core.h (enum tree_index): Likewise.
31678         (enum operand_equal_flag): Likewise.
31679         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
31680         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
31681         * tree-inline.cc (initialize_inlined_parameters): Likewise.
31682         * tree-inline.h (force_value_to_type): Likewise.
31683         * tree-nested.cc (get_chain_decl): Likewise.
31684         (walk_all_functions): Likewise.
31685         * tree-object-size.h: Likewise.
31686         * tree-outof-ssa.cc: Likewise.
31687         * tree-parloops.cc (create_parallel_loop): Likewise.
31688         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
31689         (dump_generic_node): Likewise.
31690         * tree-profile.cc (tree_profiling): Likewise.
31691         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
31692         * tree-ssa-address.cc: Likewise.
31693         * tree-ssa-alias.cc: Likewise.
31694         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
31695         (dump_alias_stats): Likewise.
31696         * tree-ssa-ccp.cc: Likewise.
31697         * tree-ssa-coalesce.h: Likewise.
31698         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
31699         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
31700         * tree-ssa-loop-unswitch.cc: Likewise.
31701         * tree-ssa-math-opts.cc: Likewise.
31702         * tree-ssa-operands.cc (class operands_scanner): Likewise.
31703         * tree-ssa-pre.cc: Likewise.
31704         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
31705         (debug_range_entry): Likewise.
31706         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
31707         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
31708         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
31709         (equal_mem_array_ref_p): Likewise.
31710         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
31711         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
31712         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
31713         * tree-ssa-ter.h: Likewise.
31714         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
31715         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
31716         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
31717         (write_ts_block_tree_pointers): Likewise.
31718         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
31719         (streamer_read_tree_bitfields): Likewise.
31720         (streamer_write_integer_cst): Likewise.
31721         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
31722         (vect_synth_mult_by_constant): Likewise.
31723         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
31724         * tree-vectorizer.cc: Likewise.
31725         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
31726         (vect_update_inits_of_drs): Likewise.
31727         (vect_get_mask_type_for_stmt): Likewise.
31728         (vect_rgroup_iv_might_wrap_p): Likewise.
31729         (cse_and_gimplify_to_preheader): Likewise.
31730         (vect_free_slp_tree): Likewise.
31731         (vect_pattern_recog): Likewise.
31732         (vect_stmt_dominates_stmt_p): Likewise.
31733         * tree.cc (initialize_tree_contains_struct): Likewise.
31734         (need_assembler_name_p): Likewise.
31735         (type_with_interoperable_signedness): Likewise.
31736         * tree.def (SWITCH_EXPR): Likewise.
31737         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
31738         (poly_int_tree_p): Likewise.
31739         (inlined_function_outer_scope_p): Likewise.
31740         (tree_code_for_canonical_type_merging): Likewise.
31741         * value-prof.cc: Likewise.
31742         * value-prof.h (get_nth_most_common_value): Likewise.
31743         (find_func_by_profile_id): Likewise.
31744         * value-range.cc (vrp_operand_equal_p): Likewise.
31745         * value-range.h: Likewise.
31746         * var-tracking.cc: Likewise.
31747         * varasm.cc (default_function_section): Likewise.
31748         (function_section_1): Likewise.
31749         (assemble_variable): Likewise.
31750         (handle_vtv_comdat_section): Likewise.
31751         * vec.h (struct vec_prefix): Likewise.
31752         * vmsdbgout.cc (full_name): Likewise.
31753         * vtable-verify.cc: Likewise.
31754         * vtable-verify.h (struct vtv_graph_node): Likewise.
31755         * xcoffout.cc: Likewise.
31756         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
31758 2022-01-17  Martin Liska  <mliska@suse.cz>
31760         * adjust-alignment.c: Moved to...
31761         * adjust-alignment.cc: ...here.
31762         * alias.c: Moved to...
31763         * alias.cc: ...here.
31764         * alloc-pool.c: Moved to...
31765         * alloc-pool.cc: ...here.
31766         * asan.c: Moved to...
31767         * asan.cc: ...here.
31768         * attribs.c: Moved to...
31769         * attribs.cc: ...here.
31770         * auto-inc-dec.c: Moved to...
31771         * auto-inc-dec.cc: ...here.
31772         * auto-profile.c: Moved to...
31773         * auto-profile.cc: ...here.
31774         * bb-reorder.c: Moved to...
31775         * bb-reorder.cc: ...here.
31776         * bitmap.c: Moved to...
31777         * bitmap.cc: ...here.
31778         * btfout.c: Moved to...
31779         * btfout.cc: ...here.
31780         * builtins.c: Moved to...
31781         * builtins.cc: ...here.
31782         * caller-save.c: Moved to...
31783         * caller-save.cc: ...here.
31784         * calls.c: Moved to...
31785         * calls.cc: ...here.
31786         * ccmp.c: Moved to...
31787         * ccmp.cc: ...here.
31788         * cfg.c: Moved to...
31789         * cfg.cc: ...here.
31790         * cfganal.c: Moved to...
31791         * cfganal.cc: ...here.
31792         * cfgbuild.c: Moved to...
31793         * cfgbuild.cc: ...here.
31794         * cfgcleanup.c: Moved to...
31795         * cfgcleanup.cc: ...here.
31796         * cfgexpand.c: Moved to...
31797         * cfgexpand.cc: ...here.
31798         * cfghooks.c: Moved to...
31799         * cfghooks.cc: ...here.
31800         * cfgloop.c: Moved to...
31801         * cfgloop.cc: ...here.
31802         * cfgloopanal.c: Moved to...
31803         * cfgloopanal.cc: ...here.
31804         * cfgloopmanip.c: Moved to...
31805         * cfgloopmanip.cc: ...here.
31806         * cfgrtl.c: Moved to...
31807         * cfgrtl.cc: ...here.
31808         * cgraph.c: Moved to...
31809         * cgraph.cc: ...here.
31810         * cgraphbuild.c: Moved to...
31811         * cgraphbuild.cc: ...here.
31812         * cgraphclones.c: Moved to...
31813         * cgraphclones.cc: ...here.
31814         * cgraphunit.c: Moved to...
31815         * cgraphunit.cc: ...here.
31816         * collect-utils.c: Moved to...
31817         * collect-utils.cc: ...here.
31818         * collect2-aix.c: Moved to...
31819         * collect2-aix.cc: ...here.
31820         * collect2.c: Moved to...
31821         * collect2.cc: ...here.
31822         * combine-stack-adj.c: Moved to...
31823         * combine-stack-adj.cc: ...here.
31824         * combine.c: Moved to...
31825         * combine.cc: ...here.
31826         * common/common-targhooks.c: Moved to...
31827         * common/common-targhooks.cc: ...here.
31828         * common/config/aarch64/aarch64-common.c: Moved to...
31829         * common/config/aarch64/aarch64-common.cc: ...here.
31830         * common/config/alpha/alpha-common.c: Moved to...
31831         * common/config/alpha/alpha-common.cc: ...here.
31832         * common/config/arc/arc-common.c: Moved to...
31833         * common/config/arc/arc-common.cc: ...here.
31834         * common/config/arm/arm-common.c: Moved to...
31835         * common/config/arm/arm-common.cc: ...here.
31836         * common/config/avr/avr-common.c: Moved to...
31837         * common/config/avr/avr-common.cc: ...here.
31838         * common/config/bfin/bfin-common.c: Moved to...
31839         * common/config/bfin/bfin-common.cc: ...here.
31840         * common/config/bpf/bpf-common.c: Moved to...
31841         * common/config/bpf/bpf-common.cc: ...here.
31842         * common/config/c6x/c6x-common.c: Moved to...
31843         * common/config/c6x/c6x-common.cc: ...here.
31844         * common/config/cr16/cr16-common.c: Moved to...
31845         * common/config/cr16/cr16-common.cc: ...here.
31846         * common/config/cris/cris-common.c: Moved to...
31847         * common/config/cris/cris-common.cc: ...here.
31848         * common/config/csky/csky-common.c: Moved to...
31849         * common/config/csky/csky-common.cc: ...here.
31850         * common/config/default-common.c: Moved to...
31851         * common/config/default-common.cc: ...here.
31852         * common/config/epiphany/epiphany-common.c: Moved to...
31853         * common/config/epiphany/epiphany-common.cc: ...here.
31854         * common/config/fr30/fr30-common.c: Moved to...
31855         * common/config/fr30/fr30-common.cc: ...here.
31856         * common/config/frv/frv-common.c: Moved to...
31857         * common/config/frv/frv-common.cc: ...here.
31858         * common/config/gcn/gcn-common.c: Moved to...
31859         * common/config/gcn/gcn-common.cc: ...here.
31860         * common/config/h8300/h8300-common.c: Moved to...
31861         * common/config/h8300/h8300-common.cc: ...here.
31862         * common/config/i386/i386-common.c: Moved to...
31863         * common/config/i386/i386-common.cc: ...here.
31864         * common/config/ia64/ia64-common.c: Moved to...
31865         * common/config/ia64/ia64-common.cc: ...here.
31866         * common/config/iq2000/iq2000-common.c: Moved to...
31867         * common/config/iq2000/iq2000-common.cc: ...here.
31868         * common/config/lm32/lm32-common.c: Moved to...
31869         * common/config/lm32/lm32-common.cc: ...here.
31870         * common/config/m32r/m32r-common.c: Moved to...
31871         * common/config/m32r/m32r-common.cc: ...here.
31872         * common/config/m68k/m68k-common.c: Moved to...
31873         * common/config/m68k/m68k-common.cc: ...here.
31874         * common/config/mcore/mcore-common.c: Moved to...
31875         * common/config/mcore/mcore-common.cc: ...here.
31876         * common/config/microblaze/microblaze-common.c: Moved to...
31877         * common/config/microblaze/microblaze-common.cc: ...here.
31878         * common/config/mips/mips-common.c: Moved to...
31879         * common/config/mips/mips-common.cc: ...here.
31880         * common/config/mmix/mmix-common.c: Moved to...
31881         * common/config/mmix/mmix-common.cc: ...here.
31882         * common/config/mn10300/mn10300-common.c: Moved to...
31883         * common/config/mn10300/mn10300-common.cc: ...here.
31884         * common/config/msp430/msp430-common.c: Moved to...
31885         * common/config/msp430/msp430-common.cc: ...here.
31886         * common/config/nds32/nds32-common.c: Moved to...
31887         * common/config/nds32/nds32-common.cc: ...here.
31888         * common/config/nios2/nios2-common.c: Moved to...
31889         * common/config/nios2/nios2-common.cc: ...here.
31890         * common/config/nvptx/nvptx-common.c: Moved to...
31891         * common/config/nvptx/nvptx-common.cc: ...here.
31892         * common/config/or1k/or1k-common.c: Moved to...
31893         * common/config/or1k/or1k-common.cc: ...here.
31894         * common/config/pa/pa-common.c: Moved to...
31895         * common/config/pa/pa-common.cc: ...here.
31896         * common/config/pdp11/pdp11-common.c: Moved to...
31897         * common/config/pdp11/pdp11-common.cc: ...here.
31898         * common/config/pru/pru-common.c: Moved to...
31899         * common/config/pru/pru-common.cc: ...here.
31900         * common/config/riscv/riscv-common.c: Moved to...
31901         * common/config/riscv/riscv-common.cc: ...here.
31902         * common/config/rs6000/rs6000-common.c: Moved to...
31903         * common/config/rs6000/rs6000-common.cc: ...here.
31904         * common/config/rx/rx-common.c: Moved to...
31905         * common/config/rx/rx-common.cc: ...here.
31906         * common/config/s390/s390-common.c: Moved to...
31907         * common/config/s390/s390-common.cc: ...here.
31908         * common/config/sh/sh-common.c: Moved to...
31909         * common/config/sh/sh-common.cc: ...here.
31910         * common/config/sparc/sparc-common.c: Moved to...
31911         * common/config/sparc/sparc-common.cc: ...here.
31912         * common/config/tilegx/tilegx-common.c: Moved to...
31913         * common/config/tilegx/tilegx-common.cc: ...here.
31914         * common/config/tilepro/tilepro-common.c: Moved to...
31915         * common/config/tilepro/tilepro-common.cc: ...here.
31916         * common/config/v850/v850-common.c: Moved to...
31917         * common/config/v850/v850-common.cc: ...here.
31918         * common/config/vax/vax-common.c: Moved to...
31919         * common/config/vax/vax-common.cc: ...here.
31920         * common/config/visium/visium-common.c: Moved to...
31921         * common/config/visium/visium-common.cc: ...here.
31922         * common/config/xstormy16/xstormy16-common.c: Moved to...
31923         * common/config/xstormy16/xstormy16-common.cc: ...here.
31924         * common/config/xtensa/xtensa-common.c: Moved to...
31925         * common/config/xtensa/xtensa-common.cc: ...here.
31926         * compare-elim.c: Moved to...
31927         * compare-elim.cc: ...here.
31928         * config/aarch64/aarch64-bti-insert.c: Moved to...
31929         * config/aarch64/aarch64-bti-insert.cc: ...here.
31930         * config/aarch64/aarch64-builtins.c: Moved to...
31931         * config/aarch64/aarch64-builtins.cc: ...here.
31932         * config/aarch64/aarch64-c.c: Moved to...
31933         * config/aarch64/aarch64-c.cc: ...here.
31934         * config/aarch64/aarch64-d.c: Moved to...
31935         * config/aarch64/aarch64-d.cc: ...here.
31936         * config/aarch64/aarch64.c: Moved to...
31937         * config/aarch64/aarch64.cc: ...here.
31938         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
31939         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
31940         * config/aarch64/driver-aarch64.c: Moved to...
31941         * config/aarch64/driver-aarch64.cc: ...here.
31942         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
31943         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
31944         * config/aarch64/host-aarch64-darwin.c: Moved to...
31945         * config/aarch64/host-aarch64-darwin.cc: ...here.
31946         * config/alpha/alpha.c: Moved to...
31947         * config/alpha/alpha.cc: ...here.
31948         * config/alpha/driver-alpha.c: Moved to...
31949         * config/alpha/driver-alpha.cc: ...here.
31950         * config/arc/arc-c.c: Moved to...
31951         * config/arc/arc-c.cc: ...here.
31952         * config/arc/arc.c: Moved to...
31953         * config/arc/arc.cc: ...here.
31954         * config/arc/driver-arc.c: Moved to...
31955         * config/arc/driver-arc.cc: ...here.
31956         * config/arm/aarch-common.c: Moved to...
31957         * config/arm/aarch-common.cc: ...here.
31958         * config/arm/arm-builtins.c: Moved to...
31959         * config/arm/arm-builtins.cc: ...here.
31960         * config/arm/arm-c.c: Moved to...
31961         * config/arm/arm-c.cc: ...here.
31962         * config/arm/arm-d.c: Moved to...
31963         * config/arm/arm-d.cc: ...here.
31964         * config/arm/arm.c: Moved to...
31965         * config/arm/arm.cc: ...here.
31966         * config/arm/driver-arm.c: Moved to...
31967         * config/arm/driver-arm.cc: ...here.
31968         * config/avr/avr-c.c: Moved to...
31969         * config/avr/avr-c.cc: ...here.
31970         * config/avr/avr-devices.c: Moved to...
31971         * config/avr/avr-devices.cc: ...here.
31972         * config/avr/avr-log.c: Moved to...
31973         * config/avr/avr-log.cc: ...here.
31974         * config/avr/avr.c: Moved to...
31975         * config/avr/avr.cc: ...here.
31976         * config/avr/driver-avr.c: Moved to...
31977         * config/avr/driver-avr.cc: ...here.
31978         * config/avr/gen-avr-mmcu-specs.c: Moved to...
31979         * config/avr/gen-avr-mmcu-specs.cc: ...here.
31980         * config/avr/gen-avr-mmcu-texi.c: Moved to...
31981         * config/avr/gen-avr-mmcu-texi.cc: ...here.
31982         * config/bfin/bfin.c: Moved to...
31983         * config/bfin/bfin.cc: ...here.
31984         * config/bpf/bpf.c: Moved to...
31985         * config/bpf/bpf.cc: ...here.
31986         * config/bpf/coreout.c: Moved to...
31987         * config/bpf/coreout.cc: ...here.
31988         * config/c6x/c6x.c: Moved to...
31989         * config/c6x/c6x.cc: ...here.
31990         * config/cr16/cr16.c: Moved to...
31991         * config/cr16/cr16.cc: ...here.
31992         * config/cris/cris.c: Moved to...
31993         * config/cris/cris.cc: ...here.
31994         * config/csky/csky.c: Moved to...
31995         * config/csky/csky.cc: ...here.
31996         * config/darwin-c.c: Moved to...
31997         * config/darwin-c.cc: ...here.
31998         * config/darwin-d.c: Moved to...
31999         * config/darwin-d.cc: ...here.
32000         * config/darwin-driver.c: Moved to...
32001         * config/darwin-driver.cc: ...here.
32002         * config/darwin-f.c: Moved to...
32003         * config/darwin-f.cc: ...here.
32004         * config/darwin.c: Moved to...
32005         * config/darwin.cc: ...here.
32006         * config/default-c.c: Moved to...
32007         * config/default-c.cc: ...here.
32008         * config/default-d.c: Moved to...
32009         * config/default-d.cc: ...here.
32010         * config/dragonfly-d.c: Moved to...
32011         * config/dragonfly-d.cc: ...here.
32012         * config/epiphany/epiphany.c: Moved to...
32013         * config/epiphany/epiphany.cc: ...here.
32014         * config/epiphany/mode-switch-use.c: Moved to...
32015         * config/epiphany/mode-switch-use.cc: ...here.
32016         * config/epiphany/resolve-sw-modes.c: Moved to...
32017         * config/epiphany/resolve-sw-modes.cc: ...here.
32018         * config/fr30/fr30.c: Moved to...
32019         * config/fr30/fr30.cc: ...here.
32020         * config/freebsd-d.c: Moved to...
32021         * config/freebsd-d.cc: ...here.
32022         * config/frv/frv.c: Moved to...
32023         * config/frv/frv.cc: ...here.
32024         * config/ft32/ft32.c: Moved to...
32025         * config/ft32/ft32.cc: ...here.
32026         * config/gcn/driver-gcn.c: Moved to...
32027         * config/gcn/driver-gcn.cc: ...here.
32028         * config/gcn/gcn-run.c: Moved to...
32029         * config/gcn/gcn-run.cc: ...here.
32030         * config/gcn/gcn-tree.c: Moved to...
32031         * config/gcn/gcn-tree.cc: ...here.
32032         * config/gcn/gcn.c: Moved to...
32033         * config/gcn/gcn.cc: ...here.
32034         * config/gcn/mkoffload.c: Moved to...
32035         * config/gcn/mkoffload.cc: ...here.
32036         * config/glibc-c.c: Moved to...
32037         * config/glibc-c.cc: ...here.
32038         * config/glibc-d.c: Moved to...
32039         * config/glibc-d.cc: ...here.
32040         * config/h8300/h8300.c: Moved to...
32041         * config/h8300/h8300.cc: ...here.
32042         * config/host-darwin.c: Moved to...
32043         * config/host-darwin.cc: ...here.
32044         * config/host-hpux.c: Moved to...
32045         * config/host-hpux.cc: ...here.
32046         * config/host-linux.c: Moved to...
32047         * config/host-linux.cc: ...here.
32048         * config/host-netbsd.c: Moved to...
32049         * config/host-netbsd.cc: ...here.
32050         * config/host-openbsd.c: Moved to...
32051         * config/host-openbsd.cc: ...here.
32052         * config/host-solaris.c: Moved to...
32053         * config/host-solaris.cc: ...here.
32054         * config/i386/djgpp.c: Moved to...
32055         * config/i386/djgpp.cc: ...here.
32056         * config/i386/driver-i386.c: Moved to...
32057         * config/i386/driver-i386.cc: ...here.
32058         * config/i386/driver-mingw32.c: Moved to...
32059         * config/i386/driver-mingw32.cc: ...here.
32060         * config/i386/gnu-property.c: Moved to...
32061         * config/i386/gnu-property.cc: ...here.
32062         * config/i386/host-cygwin.c: Moved to...
32063         * config/i386/host-cygwin.cc: ...here.
32064         * config/i386/host-i386-darwin.c: Moved to...
32065         * config/i386/host-i386-darwin.cc: ...here.
32066         * config/i386/host-mingw32.c: Moved to...
32067         * config/i386/host-mingw32.cc: ...here.
32068         * config/i386/i386-builtins.c: Moved to...
32069         * config/i386/i386-builtins.cc: ...here.
32070         * config/i386/i386-c.c: Moved to...
32071         * config/i386/i386-c.cc: ...here.
32072         * config/i386/i386-d.c: Moved to...
32073         * config/i386/i386-d.cc: ...here.
32074         * config/i386/i386-expand.c: Moved to...
32075         * config/i386/i386-expand.cc: ...here.
32076         * config/i386/i386-features.c: Moved to...
32077         * config/i386/i386-features.cc: ...here.
32078         * config/i386/i386-options.c: Moved to...
32079         * config/i386/i386-options.cc: ...here.
32080         * config/i386/i386.c: Moved to...
32081         * config/i386/i386.cc: ...here.
32082         * config/i386/intelmic-mkoffload.c: Moved to...
32083         * config/i386/intelmic-mkoffload.cc: ...here.
32084         * config/i386/msformat-c.c: Moved to...
32085         * config/i386/msformat-c.cc: ...here.
32086         * config/i386/winnt-cxx.c: Moved to...
32087         * config/i386/winnt-cxx.cc: ...here.
32088         * config/i386/winnt-d.c: Moved to...
32089         * config/i386/winnt-d.cc: ...here.
32090         * config/i386/winnt-stubs.c: Moved to...
32091         * config/i386/winnt-stubs.cc: ...here.
32092         * config/i386/winnt.c: Moved to...
32093         * config/i386/winnt.cc: ...here.
32094         * config/i386/x86-tune-sched-atom.c: Moved to...
32095         * config/i386/x86-tune-sched-atom.cc: ...here.
32096         * config/i386/x86-tune-sched-bd.c: Moved to...
32097         * config/i386/x86-tune-sched-bd.cc: ...here.
32098         * config/i386/x86-tune-sched-core.c: Moved to...
32099         * config/i386/x86-tune-sched-core.cc: ...here.
32100         * config/i386/x86-tune-sched.c: Moved to...
32101         * config/i386/x86-tune-sched.cc: ...here.
32102         * config/ia64/ia64-c.c: Moved to...
32103         * config/ia64/ia64-c.cc: ...here.
32104         * config/ia64/ia64.c: Moved to...
32105         * config/ia64/ia64.cc: ...here.
32106         * config/iq2000/iq2000.c: Moved to...
32107         * config/iq2000/iq2000.cc: ...here.
32108         * config/linux.c: Moved to...
32109         * config/linux.cc: ...here.
32110         * config/lm32/lm32.c: Moved to...
32111         * config/lm32/lm32.cc: ...here.
32112         * config/m32c/m32c-pragma.c: Moved to...
32113         * config/m32c/m32c-pragma.cc: ...here.
32114         * config/m32c/m32c.c: Moved to...
32115         * config/m32c/m32c.cc: ...here.
32116         * config/m32r/m32r.c: Moved to...
32117         * config/m32r/m32r.cc: ...here.
32118         * config/m68k/m68k.c: Moved to...
32119         * config/m68k/m68k.cc: ...here.
32120         * config/mcore/mcore.c: Moved to...
32121         * config/mcore/mcore.cc: ...here.
32122         * config/microblaze/microblaze-c.c: Moved to...
32123         * config/microblaze/microblaze-c.cc: ...here.
32124         * config/microblaze/microblaze.c: Moved to...
32125         * config/microblaze/microblaze.cc: ...here.
32126         * config/mips/driver-native.c: Moved to...
32127         * config/mips/driver-native.cc: ...here.
32128         * config/mips/frame-header-opt.c: Moved to...
32129         * config/mips/frame-header-opt.cc: ...here.
32130         * config/mips/mips-d.c: Moved to...
32131         * config/mips/mips-d.cc: ...here.
32132         * config/mips/mips.c: Moved to...
32133         * config/mips/mips.cc: ...here.
32134         * config/mmix/mmix.c: Moved to...
32135         * config/mmix/mmix.cc: ...here.
32136         * config/mn10300/mn10300.c: Moved to...
32137         * config/mn10300/mn10300.cc: ...here.
32138         * config/moxie/moxie.c: Moved to...
32139         * config/moxie/moxie.cc: ...here.
32140         * config/msp430/driver-msp430.c: Moved to...
32141         * config/msp430/driver-msp430.cc: ...here.
32142         * config/msp430/msp430-c.c: Moved to...
32143         * config/msp430/msp430-c.cc: ...here.
32144         * config/msp430/msp430-devices.c: Moved to...
32145         * config/msp430/msp430-devices.cc: ...here.
32146         * config/msp430/msp430.c: Moved to...
32147         * config/msp430/msp430.cc: ...here.
32148         * config/nds32/nds32-cost.c: Moved to...
32149         * config/nds32/nds32-cost.cc: ...here.
32150         * config/nds32/nds32-fp-as-gp.c: Moved to...
32151         * config/nds32/nds32-fp-as-gp.cc: ...here.
32152         * config/nds32/nds32-intrinsic.c: Moved to...
32153         * config/nds32/nds32-intrinsic.cc: ...here.
32154         * config/nds32/nds32-isr.c: Moved to...
32155         * config/nds32/nds32-isr.cc: ...here.
32156         * config/nds32/nds32-md-auxiliary.c: Moved to...
32157         * config/nds32/nds32-md-auxiliary.cc: ...here.
32158         * config/nds32/nds32-memory-manipulation.c: Moved to...
32159         * config/nds32/nds32-memory-manipulation.cc: ...here.
32160         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
32161         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
32162         * config/nds32/nds32-predicates.c: Moved to...
32163         * config/nds32/nds32-predicates.cc: ...here.
32164         * config/nds32/nds32-relax-opt.c: Moved to...
32165         * config/nds32/nds32-relax-opt.cc: ...here.
32166         * config/nds32/nds32-utils.c: Moved to...
32167         * config/nds32/nds32-utils.cc: ...here.
32168         * config/nds32/nds32.c: Moved to...
32169         * config/nds32/nds32.cc: ...here.
32170         * config/netbsd-d.c: Moved to...
32171         * config/netbsd-d.cc: ...here.
32172         * config/netbsd.c: Moved to...
32173         * config/netbsd.cc: ...here.
32174         * config/nios2/nios2.c: Moved to...
32175         * config/nios2/nios2.cc: ...here.
32176         * config/nvptx/mkoffload.c: Moved to...
32177         * config/nvptx/mkoffload.cc: ...here.
32178         * config/nvptx/nvptx-c.c: Moved to...
32179         * config/nvptx/nvptx-c.cc: ...here.
32180         * config/nvptx/nvptx.c: Moved to...
32181         * config/nvptx/nvptx.cc: ...here.
32182         * config/openbsd-d.c: Moved to...
32183         * config/openbsd-d.cc: ...here.
32184         * config/or1k/or1k.c: Moved to...
32185         * config/or1k/or1k.cc: ...here.
32186         * config/pa/pa-d.c: Moved to...
32187         * config/pa/pa-d.cc: ...here.
32188         * config/pa/pa.c: Moved to...
32189         * config/pa/pa.cc: ...here.
32190         * config/pdp11/pdp11.c: Moved to...
32191         * config/pdp11/pdp11.cc: ...here.
32192         * config/pru/pru-passes.c: Moved to...
32193         * config/pru/pru-passes.cc: ...here.
32194         * config/pru/pru-pragma.c: Moved to...
32195         * config/pru/pru-pragma.cc: ...here.
32196         * config/pru/pru.c: Moved to...
32197         * config/pru/pru.cc: ...here.
32198         * config/riscv/riscv-builtins.c: Moved to...
32199         * config/riscv/riscv-builtins.cc: ...here.
32200         * config/riscv/riscv-c.c: Moved to...
32201         * config/riscv/riscv-c.cc: ...here.
32202         * config/riscv/riscv-d.c: Moved to...
32203         * config/riscv/riscv-d.cc: ...here.
32204         * config/riscv/riscv-shorten-memrefs.c: Moved to...
32205         * config/riscv/riscv-shorten-memrefs.cc: ...here.
32206         * config/riscv/riscv-sr.c: Moved to...
32207         * config/riscv/riscv-sr.cc: ...here.
32208         * config/riscv/riscv.c: Moved to...
32209         * config/riscv/riscv.cc: ...here.
32210         * config/rl78/rl78-c.c: Moved to...
32211         * config/rl78/rl78-c.cc: ...here.
32212         * config/rl78/rl78.c: Moved to...
32213         * config/rl78/rl78.cc: ...here.
32214         * config/rs6000/driver-rs6000.c: Moved to...
32215         * config/rs6000/driver-rs6000.cc: ...here.
32216         * config/rs6000/host-darwin.c: Moved to...
32217         * config/rs6000/host-darwin.cc: ...here.
32218         * config/rs6000/host-ppc64-darwin.c: Moved to...
32219         * config/rs6000/host-ppc64-darwin.cc: ...here.
32220         * config/rs6000/rbtree.c: Moved to...
32221         * config/rs6000/rbtree.cc: ...here.
32222         * config/rs6000/rs6000-c.c: Moved to...
32223         * config/rs6000/rs6000-c.cc: ...here.
32224         * config/rs6000/rs6000-call.c: Moved to...
32225         * config/rs6000/rs6000-call.cc: ...here.
32226         * config/rs6000/rs6000-d.c: Moved to...
32227         * config/rs6000/rs6000-d.cc: ...here.
32228         * config/rs6000/rs6000-gen-builtins.c: Moved to...
32229         * config/rs6000/rs6000-gen-builtins.cc: ...here.
32230         * config/rs6000/rs6000-linux.c: Moved to...
32231         * config/rs6000/rs6000-linux.cc: ...here.
32232         * config/rs6000/rs6000-logue.c: Moved to...
32233         * config/rs6000/rs6000-logue.cc: ...here.
32234         * config/rs6000/rs6000-p8swap.c: Moved to...
32235         * config/rs6000/rs6000-p8swap.cc: ...here.
32236         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
32237         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
32238         * config/rs6000/rs6000-string.c: Moved to...
32239         * config/rs6000/rs6000-string.cc: ...here.
32240         * config/rs6000/rs6000.c: Moved to...
32241         * config/rs6000/rs6000.cc: ...here.
32242         * config/rx/rx.c: Moved to...
32243         * config/rx/rx.cc: ...here.
32244         * config/s390/driver-native.c: Moved to...
32245         * config/s390/driver-native.cc: ...here.
32246         * config/s390/s390-c.c: Moved to...
32247         * config/s390/s390-c.cc: ...here.
32248         * config/s390/s390-d.c: Moved to...
32249         * config/s390/s390-d.cc: ...here.
32250         * config/s390/s390.c: Moved to...
32251         * config/s390/s390.cc: ...here.
32252         * config/sh/divtab-sh4-300.c: Moved to...
32253         * config/sh/divtab-sh4-300.cc: ...here.
32254         * config/sh/divtab-sh4.c: Moved to...
32255         * config/sh/divtab-sh4.cc: ...here.
32256         * config/sh/divtab.c: Moved to...
32257         * config/sh/divtab.cc: ...here.
32258         * config/sh/sh-c.c: Moved to...
32259         * config/sh/sh-c.cc: ...here.
32260         * config/sh/sh.c: Moved to...
32261         * config/sh/sh.cc: ...here.
32262         * config/sol2-c.c: Moved to...
32263         * config/sol2-c.cc: ...here.
32264         * config/sol2-cxx.c: Moved to...
32265         * config/sol2-cxx.cc: ...here.
32266         * config/sol2-d.c: Moved to...
32267         * config/sol2-d.cc: ...here.
32268         * config/sol2-stubs.c: Moved to...
32269         * config/sol2-stubs.cc: ...here.
32270         * config/sol2.c: Moved to...
32271         * config/sol2.cc: ...here.
32272         * config/sparc/driver-sparc.c: Moved to...
32273         * config/sparc/driver-sparc.cc: ...here.
32274         * config/sparc/sparc-c.c: Moved to...
32275         * config/sparc/sparc-c.cc: ...here.
32276         * config/sparc/sparc-d.c: Moved to...
32277         * config/sparc/sparc-d.cc: ...here.
32278         * config/sparc/sparc.c: Moved to...
32279         * config/sparc/sparc.cc: ...here.
32280         * config/stormy16/stormy16.c: Moved to...
32281         * config/stormy16/stormy16.cc: ...here.
32282         * config/tilegx/mul-tables.c: Moved to...
32283         * config/tilegx/mul-tables.cc: ...here.
32284         * config/tilegx/tilegx-c.c: Moved to...
32285         * config/tilegx/tilegx-c.cc: ...here.
32286         * config/tilegx/tilegx.c: Moved to...
32287         * config/tilegx/tilegx.cc: ...here.
32288         * config/tilepro/mul-tables.c: Moved to...
32289         * config/tilepro/mul-tables.cc: ...here.
32290         * config/tilepro/tilepro-c.c: Moved to...
32291         * config/tilepro/tilepro-c.cc: ...here.
32292         * config/tilepro/tilepro.c: Moved to...
32293         * config/tilepro/tilepro.cc: ...here.
32294         * config/v850/v850-c.c: Moved to...
32295         * config/v850/v850-c.cc: ...here.
32296         * config/v850/v850.c: Moved to...
32297         * config/v850/v850.cc: ...here.
32298         * config/vax/vax.c: Moved to...
32299         * config/vax/vax.cc: ...here.
32300         * config/visium/visium.c: Moved to...
32301         * config/visium/visium.cc: ...here.
32302         * config/vms/vms-c.c: Moved to...
32303         * config/vms/vms-c.cc: ...here.
32304         * config/vms/vms-f.c: Moved to...
32305         * config/vms/vms-f.cc: ...here.
32306         * config/vms/vms.c: Moved to...
32307         * config/vms/vms.cc: ...here.
32308         * config/vxworks-c.c: Moved to...
32309         * config/vxworks-c.cc: ...here.
32310         * config/vxworks.c: Moved to...
32311         * config/vxworks.cc: ...here.
32312         * config/winnt-c.c: Moved to...
32313         * config/winnt-c.cc: ...here.
32314         * config/xtensa/xtensa.c: Moved to...
32315         * config/xtensa/xtensa.cc: ...here.
32316         * context.c: Moved to...
32317         * context.cc: ...here.
32318         * convert.c: Moved to...
32319         * convert.cc: ...here.
32320         * coverage.c: Moved to...
32321         * coverage.cc: ...here.
32322         * cppbuiltin.c: Moved to...
32323         * cppbuiltin.cc: ...here.
32324         * cppdefault.c: Moved to...
32325         * cppdefault.cc: ...here.
32326         * cprop.c: Moved to...
32327         * cprop.cc: ...here.
32328         * cse.c: Moved to...
32329         * cse.cc: ...here.
32330         * cselib.c: Moved to...
32331         * cselib.cc: ...here.
32332         * ctfc.c: Moved to...
32333         * ctfc.cc: ...here.
32334         * ctfout.c: Moved to...
32335         * ctfout.cc: ...here.
32336         * data-streamer-in.c: Moved to...
32337         * data-streamer-in.cc: ...here.
32338         * data-streamer-out.c: Moved to...
32339         * data-streamer-out.cc: ...here.
32340         * data-streamer.c: Moved to...
32341         * data-streamer.cc: ...here.
32342         * dbgcnt.c: Moved to...
32343         * dbgcnt.cc: ...here.
32344         * dbxout.c: Moved to...
32345         * dbxout.cc: ...here.
32346         * dce.c: Moved to...
32347         * dce.cc: ...here.
32348         * ddg.c: Moved to...
32349         * ddg.cc: ...here.
32350         * debug.c: Moved to...
32351         * debug.cc: ...here.
32352         * df-core.c: Moved to...
32353         * df-core.cc: ...here.
32354         * df-problems.c: Moved to...
32355         * df-problems.cc: ...here.
32356         * df-scan.c: Moved to...
32357         * df-scan.cc: ...here.
32358         * dfp.c: Moved to...
32359         * dfp.cc: ...here.
32360         * diagnostic-color.c: Moved to...
32361         * diagnostic-color.cc: ...here.
32362         * diagnostic-show-locus.c: Moved to...
32363         * diagnostic-show-locus.cc: ...here.
32364         * diagnostic-spec.c: Moved to...
32365         * diagnostic-spec.cc: ...here.
32366         * diagnostic.c: Moved to...
32367         * diagnostic.cc: ...here.
32368         * dojump.c: Moved to...
32369         * dojump.cc: ...here.
32370         * dominance.c: Moved to...
32371         * dominance.cc: ...here.
32372         * domwalk.c: Moved to...
32373         * domwalk.cc: ...here.
32374         * double-int.c: Moved to...
32375         * double-int.cc: ...here.
32376         * dse.c: Moved to...
32377         * dse.cc: ...here.
32378         * dumpfile.c: Moved to...
32379         * dumpfile.cc: ...here.
32380         * dwarf2asm.c: Moved to...
32381         * dwarf2asm.cc: ...here.
32382         * dwarf2cfi.c: Moved to...
32383         * dwarf2cfi.cc: ...here.
32384         * dwarf2ctf.c: Moved to...
32385         * dwarf2ctf.cc: ...here.
32386         * dwarf2out.c: Moved to...
32387         * dwarf2out.cc: ...here.
32388         * early-remat.c: Moved to...
32389         * early-remat.cc: ...here.
32390         * edit-context.c: Moved to...
32391         * edit-context.cc: ...here.
32392         * emit-rtl.c: Moved to...
32393         * emit-rtl.cc: ...here.
32394         * errors.c: Moved to...
32395         * errors.cc: ...here.
32396         * et-forest.c: Moved to...
32397         * et-forest.cc: ...here.
32398         * except.c: Moved to...
32399         * except.cc: ...here.
32400         * explow.c: Moved to...
32401         * explow.cc: ...here.
32402         * expmed.c: Moved to...
32403         * expmed.cc: ...here.
32404         * expr.c: Moved to...
32405         * expr.cc: ...here.
32406         * fibonacci_heap.c: Moved to...
32407         * fibonacci_heap.cc: ...here.
32408         * file-find.c: Moved to...
32409         * file-find.cc: ...here.
32410         * file-prefix-map.c: Moved to...
32411         * file-prefix-map.cc: ...here.
32412         * final.c: Moved to...
32413         * final.cc: ...here.
32414         * fixed-value.c: Moved to...
32415         * fixed-value.cc: ...here.
32416         * fold-const-call.c: Moved to...
32417         * fold-const-call.cc: ...here.
32418         * fold-const.c: Moved to...
32419         * fold-const.cc: ...here.
32420         * fp-test.c: Moved to...
32421         * fp-test.cc: ...here.
32422         * function-tests.c: Moved to...
32423         * function-tests.cc: ...here.
32424         * function.c: Moved to...
32425         * function.cc: ...here.
32426         * fwprop.c: Moved to...
32427         * fwprop.cc: ...here.
32428         * gcc-ar.c: Moved to...
32429         * gcc-ar.cc: ...here.
32430         * gcc-main.c: Moved to...
32431         * gcc-main.cc: ...here.
32432         * gcc-rich-location.c: Moved to...
32433         * gcc-rich-location.cc: ...here.
32434         * gcc.c: Moved to...
32435         * gcc.cc: ...here.
32436         * gcov-dump.c: Moved to...
32437         * gcov-dump.cc: ...here.
32438         * gcov-io.c: Moved to...
32439         * gcov-io.cc: ...here.
32440         * gcov-tool.c: Moved to...
32441         * gcov-tool.cc: ...here.
32442         * gcov.c: Moved to...
32443         * gcov.cc: ...here.
32444         * gcse-common.c: Moved to...
32445         * gcse-common.cc: ...here.
32446         * gcse.c: Moved to...
32447         * gcse.cc: ...here.
32448         * genattr-common.c: Moved to...
32449         * genattr-common.cc: ...here.
32450         * genattr.c: Moved to...
32451         * genattr.cc: ...here.
32452         * genattrtab.c: Moved to...
32453         * genattrtab.cc: ...here.
32454         * genautomata.c: Moved to...
32455         * genautomata.cc: ...here.
32456         * gencfn-macros.c: Moved to...
32457         * gencfn-macros.cc: ...here.
32458         * gencheck.c: Moved to...
32459         * gencheck.cc: ...here.
32460         * genchecksum.c: Moved to...
32461         * genchecksum.cc: ...here.
32462         * gencodes.c: Moved to...
32463         * gencodes.cc: ...here.
32464         * genconditions.c: Moved to...
32465         * genconditions.cc: ...here.
32466         * genconfig.c: Moved to...
32467         * genconfig.cc: ...here.
32468         * genconstants.c: Moved to...
32469         * genconstants.cc: ...here.
32470         * genemit.c: Moved to...
32471         * genemit.cc: ...here.
32472         * genenums.c: Moved to...
32473         * genenums.cc: ...here.
32474         * generic-match-head.c: Moved to...
32475         * generic-match-head.cc: ...here.
32476         * genextract.c: Moved to...
32477         * genextract.cc: ...here.
32478         * genflags.c: Moved to...
32479         * genflags.cc: ...here.
32480         * gengenrtl.c: Moved to...
32481         * gengenrtl.cc: ...here.
32482         * gengtype-parse.c: Moved to...
32483         * gengtype-parse.cc: ...here.
32484         * gengtype-state.c: Moved to...
32485         * gengtype-state.cc: ...here.
32486         * gengtype.c: Moved to...
32487         * gengtype.cc: ...here.
32488         * genhooks.c: Moved to...
32489         * genhooks.cc: ...here.
32490         * genmatch.c: Moved to...
32491         * genmatch.cc: ...here.
32492         * genmddeps.c: Moved to...
32493         * genmddeps.cc: ...here.
32494         * genmddump.c: Moved to...
32495         * genmddump.cc: ...here.
32496         * genmodes.c: Moved to...
32497         * genmodes.cc: ...here.
32498         * genopinit.c: Moved to...
32499         * genopinit.cc: ...here.
32500         * genoutput.c: Moved to...
32501         * genoutput.cc: ...here.
32502         * genpeep.c: Moved to...
32503         * genpeep.cc: ...here.
32504         * genpreds.c: Moved to...
32505         * genpreds.cc: ...here.
32506         * genrecog.c: Moved to...
32507         * genrecog.cc: ...here.
32508         * gensupport.c: Moved to...
32509         * gensupport.cc: ...here.
32510         * gentarget-def.c: Moved to...
32511         * gentarget-def.cc: ...here.
32512         * genversion.c: Moved to...
32513         * genversion.cc: ...here.
32514         * ggc-common.c: Moved to...
32515         * ggc-common.cc: ...here.
32516         * ggc-none.c: Moved to...
32517         * ggc-none.cc: ...here.
32518         * ggc-page.c: Moved to...
32519         * ggc-page.cc: ...here.
32520         * ggc-tests.c: Moved to...
32521         * ggc-tests.cc: ...here.
32522         * gimple-builder.c: Moved to...
32523         * gimple-builder.cc: ...here.
32524         * gimple-expr.c: Moved to...
32525         * gimple-expr.cc: ...here.
32526         * gimple-fold.c: Moved to...
32527         * gimple-fold.cc: ...here.
32528         * gimple-iterator.c: Moved to...
32529         * gimple-iterator.cc: ...here.
32530         * gimple-laddress.c: Moved to...
32531         * gimple-laddress.cc: ...here.
32532         * gimple-loop-jam.c: Moved to...
32533         * gimple-loop-jam.cc: ...here.
32534         * gimple-low.c: Moved to...
32535         * gimple-low.cc: ...here.
32536         * gimple-match-head.c: Moved to...
32537         * gimple-match-head.cc: ...here.
32538         * gimple-pretty-print.c: Moved to...
32539         * gimple-pretty-print.cc: ...here.
32540         * gimple-ssa-backprop.c: Moved to...
32541         * gimple-ssa-backprop.cc: ...here.
32542         * gimple-ssa-evrp-analyze.c: Moved to...
32543         * gimple-ssa-evrp-analyze.cc: ...here.
32544         * gimple-ssa-evrp.c: Moved to...
32545         * gimple-ssa-evrp.cc: ...here.
32546         * gimple-ssa-isolate-paths.c: Moved to...
32547         * gimple-ssa-isolate-paths.cc: ...here.
32548         * gimple-ssa-nonnull-compare.c: Moved to...
32549         * gimple-ssa-nonnull-compare.cc: ...here.
32550         * gimple-ssa-split-paths.c: Moved to...
32551         * gimple-ssa-split-paths.cc: ...here.
32552         * gimple-ssa-sprintf.c: Moved to...
32553         * gimple-ssa-sprintf.cc: ...here.
32554         * gimple-ssa-store-merging.c: Moved to...
32555         * gimple-ssa-store-merging.cc: ...here.
32556         * gimple-ssa-strength-reduction.c: Moved to...
32557         * gimple-ssa-strength-reduction.cc: ...here.
32558         * gimple-ssa-warn-alloca.c: Moved to...
32559         * gimple-ssa-warn-alloca.cc: ...here.
32560         * gimple-ssa-warn-restrict.c: Moved to...
32561         * gimple-ssa-warn-restrict.cc: ...here.
32562         * gimple-streamer-in.c: Moved to...
32563         * gimple-streamer-in.cc: ...here.
32564         * gimple-streamer-out.c: Moved to...
32565         * gimple-streamer-out.cc: ...here.
32566         * gimple-walk.c: Moved to...
32567         * gimple-walk.cc: ...here.
32568         * gimple-warn-recursion.c: Moved to...
32569         * gimple-warn-recursion.cc: ...here.
32570         * gimple.c: Moved to...
32571         * gimple.cc: ...here.
32572         * gimplify-me.c: Moved to...
32573         * gimplify-me.cc: ...here.
32574         * gimplify.c: Moved to...
32575         * gimplify.cc: ...here.
32576         * godump.c: Moved to...
32577         * godump.cc: ...here.
32578         * graph.c: Moved to...
32579         * graph.cc: ...here.
32580         * graphds.c: Moved to...
32581         * graphds.cc: ...here.
32582         * graphite-dependences.c: Moved to...
32583         * graphite-dependences.cc: ...here.
32584         * graphite-isl-ast-to-gimple.c: Moved to...
32585         * graphite-isl-ast-to-gimple.cc: ...here.
32586         * graphite-optimize-isl.c: Moved to...
32587         * graphite-optimize-isl.cc: ...here.
32588         * graphite-poly.c: Moved to...
32589         * graphite-poly.cc: ...here.
32590         * graphite-scop-detection.c: Moved to...
32591         * graphite-scop-detection.cc: ...here.
32592         * graphite-sese-to-poly.c: Moved to...
32593         * graphite-sese-to-poly.cc: ...here.
32594         * graphite.c: Moved to...
32595         * graphite.cc: ...here.
32596         * haifa-sched.c: Moved to...
32597         * haifa-sched.cc: ...here.
32598         * hash-map-tests.c: Moved to...
32599         * hash-map-tests.cc: ...here.
32600         * hash-set-tests.c: Moved to...
32601         * hash-set-tests.cc: ...here.
32602         * hash-table.c: Moved to...
32603         * hash-table.cc: ...here.
32604         * hooks.c: Moved to...
32605         * hooks.cc: ...here.
32606         * host-default.c: Moved to...
32607         * host-default.cc: ...here.
32608         * hw-doloop.c: Moved to...
32609         * hw-doloop.cc: ...here.
32610         * hwint.c: Moved to...
32611         * hwint.cc: ...here.
32612         * ifcvt.c: Moved to...
32613         * ifcvt.cc: ...here.
32614         * inchash.c: Moved to...
32615         * inchash.cc: ...here.
32616         * incpath.c: Moved to...
32617         * incpath.cc: ...here.
32618         * init-regs.c: Moved to...
32619         * init-regs.cc: ...here.
32620         * input.c: Moved to...
32621         * input.cc: ...here.
32622         * internal-fn.c: Moved to...
32623         * internal-fn.cc: ...here.
32624         * intl.c: Moved to...
32625         * intl.cc: ...here.
32626         * ipa-comdats.c: Moved to...
32627         * ipa-comdats.cc: ...here.
32628         * ipa-cp.c: Moved to...
32629         * ipa-cp.cc: ...here.
32630         * ipa-devirt.c: Moved to...
32631         * ipa-devirt.cc: ...here.
32632         * ipa-fnsummary.c: Moved to...
32633         * ipa-fnsummary.cc: ...here.
32634         * ipa-icf-gimple.c: Moved to...
32635         * ipa-icf-gimple.cc: ...here.
32636         * ipa-icf.c: Moved to...
32637         * ipa-icf.cc: ...here.
32638         * ipa-inline-analysis.c: Moved to...
32639         * ipa-inline-analysis.cc: ...here.
32640         * ipa-inline-transform.c: Moved to...
32641         * ipa-inline-transform.cc: ...here.
32642         * ipa-inline.c: Moved to...
32643         * ipa-inline.cc: ...here.
32644         * ipa-modref-tree.c: Moved to...
32645         * ipa-modref-tree.cc: ...here.
32646         * ipa-modref.c: Moved to...
32647         * ipa-modref.cc: ...here.
32648         * ipa-param-manipulation.c: Moved to...
32649         * ipa-param-manipulation.cc: ...here.
32650         * ipa-polymorphic-call.c: Moved to...
32651         * ipa-polymorphic-call.cc: ...here.
32652         * ipa-predicate.c: Moved to...
32653         * ipa-predicate.cc: ...here.
32654         * ipa-profile.c: Moved to...
32655         * ipa-profile.cc: ...here.
32656         * ipa-prop.c: Moved to...
32657         * ipa-prop.cc: ...here.
32658         * ipa-pure-const.c: Moved to...
32659         * ipa-pure-const.cc: ...here.
32660         * ipa-ref.c: Moved to...
32661         * ipa-ref.cc: ...here.
32662         * ipa-reference.c: Moved to...
32663         * ipa-reference.cc: ...here.
32664         * ipa-split.c: Moved to...
32665         * ipa-split.cc: ...here.
32666         * ipa-sra.c: Moved to...
32667         * ipa-sra.cc: ...here.
32668         * ipa-utils.c: Moved to...
32669         * ipa-utils.cc: ...here.
32670         * ipa-visibility.c: Moved to...
32671         * ipa-visibility.cc: ...here.
32672         * ipa.c: Moved to...
32673         * ipa.cc: ...here.
32674         * ira-build.c: Moved to...
32675         * ira-build.cc: ...here.
32676         * ira-color.c: Moved to...
32677         * ira-color.cc: ...here.
32678         * ira-conflicts.c: Moved to...
32679         * ira-conflicts.cc: ...here.
32680         * ira-costs.c: Moved to...
32681         * ira-costs.cc: ...here.
32682         * ira-emit.c: Moved to...
32683         * ira-emit.cc: ...here.
32684         * ira-lives.c: Moved to...
32685         * ira-lives.cc: ...here.
32686         * ira.c: Moved to...
32687         * ira.cc: ...here.
32688         * jump.c: Moved to...
32689         * jump.cc: ...here.
32690         * langhooks.c: Moved to...
32691         * langhooks.cc: ...here.
32692         * lcm.c: Moved to...
32693         * lcm.cc: ...here.
32694         * lists.c: Moved to...
32695         * lists.cc: ...here.
32696         * loop-doloop.c: Moved to...
32697         * loop-doloop.cc: ...here.
32698         * loop-init.c: Moved to...
32699         * loop-init.cc: ...here.
32700         * loop-invariant.c: Moved to...
32701         * loop-invariant.cc: ...here.
32702         * loop-iv.c: Moved to...
32703         * loop-iv.cc: ...here.
32704         * loop-unroll.c: Moved to...
32705         * loop-unroll.cc: ...here.
32706         * lower-subreg.c: Moved to...
32707         * lower-subreg.cc: ...here.
32708         * lra-assigns.c: Moved to...
32709         * lra-assigns.cc: ...here.
32710         * lra-coalesce.c: Moved to...
32711         * lra-coalesce.cc: ...here.
32712         * lra-constraints.c: Moved to...
32713         * lra-constraints.cc: ...here.
32714         * lra-eliminations.c: Moved to...
32715         * lra-eliminations.cc: ...here.
32716         * lra-lives.c: Moved to...
32717         * lra-lives.cc: ...here.
32718         * lra-remat.c: Moved to...
32719         * lra-remat.cc: ...here.
32720         * lra-spills.c: Moved to...
32721         * lra-spills.cc: ...here.
32722         * lra.c: Moved to...
32723         * lra.cc: ...here.
32724         * lto-cgraph.c: Moved to...
32725         * lto-cgraph.cc: ...here.
32726         * lto-compress.c: Moved to...
32727         * lto-compress.cc: ...here.
32728         * lto-opts.c: Moved to...
32729         * lto-opts.cc: ...here.
32730         * lto-section-in.c: Moved to...
32731         * lto-section-in.cc: ...here.
32732         * lto-section-out.c: Moved to...
32733         * lto-section-out.cc: ...here.
32734         * lto-streamer-in.c: Moved to...
32735         * lto-streamer-in.cc: ...here.
32736         * lto-streamer-out.c: Moved to...
32737         * lto-streamer-out.cc: ...here.
32738         * lto-streamer.c: Moved to...
32739         * lto-streamer.cc: ...here.
32740         * lto-wrapper.c: Moved to...
32741         * lto-wrapper.cc: ...here.
32742         * main.c: Moved to...
32743         * main.cc: ...here.
32744         * mcf.c: Moved to...
32745         * mcf.cc: ...here.
32746         * mode-switching.c: Moved to...
32747         * mode-switching.cc: ...here.
32748         * modulo-sched.c: Moved to...
32749         * modulo-sched.cc: ...here.
32750         * multiple_target.c: Moved to...
32751         * multiple_target.cc: ...here.
32752         * omp-expand.c: Moved to...
32753         * omp-expand.cc: ...here.
32754         * omp-general.c: Moved to...
32755         * omp-general.cc: ...here.
32756         * omp-low.c: Moved to...
32757         * omp-low.cc: ...here.
32758         * omp-offload.c: Moved to...
32759         * omp-offload.cc: ...here.
32760         * omp-simd-clone.c: Moved to...
32761         * omp-simd-clone.cc: ...here.
32762         * opt-suggestions.c: Moved to...
32763         * opt-suggestions.cc: ...here.
32764         * optabs-libfuncs.c: Moved to...
32765         * optabs-libfuncs.cc: ...here.
32766         * optabs-query.c: Moved to...
32767         * optabs-query.cc: ...here.
32768         * optabs-tree.c: Moved to...
32769         * optabs-tree.cc: ...here.
32770         * optabs.c: Moved to...
32771         * optabs.cc: ...here.
32772         * opts-common.c: Moved to...
32773         * opts-common.cc: ...here.
32774         * opts-global.c: Moved to...
32775         * opts-global.cc: ...here.
32776         * opts.c: Moved to...
32777         * opts.cc: ...here.
32778         * passes.c: Moved to...
32779         * passes.cc: ...here.
32780         * plugin.c: Moved to...
32781         * plugin.cc: ...here.
32782         * postreload-gcse.c: Moved to...
32783         * postreload-gcse.cc: ...here.
32784         * postreload.c: Moved to...
32785         * postreload.cc: ...here.
32786         * predict.c: Moved to...
32787         * predict.cc: ...here.
32788         * prefix.c: Moved to...
32789         * prefix.cc: ...here.
32790         * pretty-print.c: Moved to...
32791         * pretty-print.cc: ...here.
32792         * print-rtl-function.c: Moved to...
32793         * print-rtl-function.cc: ...here.
32794         * print-rtl.c: Moved to...
32795         * print-rtl.cc: ...here.
32796         * print-tree.c: Moved to...
32797         * print-tree.cc: ...here.
32798         * profile-count.c: Moved to...
32799         * profile-count.cc: ...here.
32800         * profile.c: Moved to...
32801         * profile.cc: ...here.
32802         * read-md.c: Moved to...
32803         * read-md.cc: ...here.
32804         * read-rtl-function.c: Moved to...
32805         * read-rtl-function.cc: ...here.
32806         * read-rtl.c: Moved to...
32807         * read-rtl.cc: ...here.
32808         * real.c: Moved to...
32809         * real.cc: ...here.
32810         * realmpfr.c: Moved to...
32811         * realmpfr.cc: ...here.
32812         * recog.c: Moved to...
32813         * recog.cc: ...here.
32814         * ree.c: Moved to...
32815         * ree.cc: ...here.
32816         * reg-stack.c: Moved to...
32817         * reg-stack.cc: ...here.
32818         * regcprop.c: Moved to...
32819         * regcprop.cc: ...here.
32820         * reginfo.c: Moved to...
32821         * reginfo.cc: ...here.
32822         * regrename.c: Moved to...
32823         * regrename.cc: ...here.
32824         * regstat.c: Moved to...
32825         * regstat.cc: ...here.
32826         * reload.c: Moved to...
32827         * reload.cc: ...here.
32828         * reload1.c: Moved to...
32829         * reload1.cc: ...here.
32830         * reorg.c: Moved to...
32831         * reorg.cc: ...here.
32832         * resource.c: Moved to...
32833         * resource.cc: ...here.
32834         * rtl-error.c: Moved to...
32835         * rtl-error.cc: ...here.
32836         * rtl-tests.c: Moved to...
32837         * rtl-tests.cc: ...here.
32838         * rtl.c: Moved to...
32839         * rtl.cc: ...here.
32840         * rtlanal.c: Moved to...
32841         * rtlanal.cc: ...here.
32842         * rtlhash.c: Moved to...
32843         * rtlhash.cc: ...here.
32844         * rtlhooks.c: Moved to...
32845         * rtlhooks.cc: ...here.
32846         * rtx-vector-builder.c: Moved to...
32847         * rtx-vector-builder.cc: ...here.
32848         * run-rtl-passes.c: Moved to...
32849         * run-rtl-passes.cc: ...here.
32850         * sancov.c: Moved to...
32851         * sancov.cc: ...here.
32852         * sanopt.c: Moved to...
32853         * sanopt.cc: ...here.
32854         * sbitmap.c: Moved to...
32855         * sbitmap.cc: ...here.
32856         * sched-deps.c: Moved to...
32857         * sched-deps.cc: ...here.
32858         * sched-ebb.c: Moved to...
32859         * sched-ebb.cc: ...here.
32860         * sched-rgn.c: Moved to...
32861         * sched-rgn.cc: ...here.
32862         * sel-sched-dump.c: Moved to...
32863         * sel-sched-dump.cc: ...here.
32864         * sel-sched-ir.c: Moved to...
32865         * sel-sched-ir.cc: ...here.
32866         * sel-sched.c: Moved to...
32867         * sel-sched.cc: ...here.
32868         * selftest-diagnostic.c: Moved to...
32869         * selftest-diagnostic.cc: ...here.
32870         * selftest-rtl.c: Moved to...
32871         * selftest-rtl.cc: ...here.
32872         * selftest-run-tests.c: Moved to...
32873         * selftest-run-tests.cc: ...here.
32874         * selftest.c: Moved to...
32875         * selftest.cc: ...here.
32876         * sese.c: Moved to...
32877         * sese.cc: ...here.
32878         * shrink-wrap.c: Moved to...
32879         * shrink-wrap.cc: ...here.
32880         * simplify-rtx.c: Moved to...
32881         * simplify-rtx.cc: ...here.
32882         * sparseset.c: Moved to...
32883         * sparseset.cc: ...here.
32884         * spellcheck-tree.c: Moved to...
32885         * spellcheck-tree.cc: ...here.
32886         * spellcheck.c: Moved to...
32887         * spellcheck.cc: ...here.
32888         * sreal.c: Moved to...
32889         * sreal.cc: ...here.
32890         * stack-ptr-mod.c: Moved to...
32891         * stack-ptr-mod.cc: ...here.
32892         * statistics.c: Moved to...
32893         * statistics.cc: ...here.
32894         * stmt.c: Moved to...
32895         * stmt.cc: ...here.
32896         * stor-layout.c: Moved to...
32897         * stor-layout.cc: ...here.
32898         * store-motion.c: Moved to...
32899         * store-motion.cc: ...here.
32900         * streamer-hooks.c: Moved to...
32901         * streamer-hooks.cc: ...here.
32902         * stringpool.c: Moved to...
32903         * stringpool.cc: ...here.
32904         * substring-locations.c: Moved to...
32905         * substring-locations.cc: ...here.
32906         * symtab.c: Moved to...
32907         * symtab.cc: ...here.
32908         * target-globals.c: Moved to...
32909         * target-globals.cc: ...here.
32910         * targhooks.c: Moved to...
32911         * targhooks.cc: ...here.
32912         * timevar.c: Moved to...
32913         * timevar.cc: ...here.
32914         * toplev.c: Moved to...
32915         * toplev.cc: ...here.
32916         * tracer.c: Moved to...
32917         * tracer.cc: ...here.
32918         * trans-mem.c: Moved to...
32919         * trans-mem.cc: ...here.
32920         * tree-affine.c: Moved to...
32921         * tree-affine.cc: ...here.
32922         * tree-call-cdce.c: Moved to...
32923         * tree-call-cdce.cc: ...here.
32924         * tree-cfg.c: Moved to...
32925         * tree-cfg.cc: ...here.
32926         * tree-cfgcleanup.c: Moved to...
32927         * tree-cfgcleanup.cc: ...here.
32928         * tree-chrec.c: Moved to...
32929         * tree-chrec.cc: ...here.
32930         * tree-complex.c: Moved to...
32931         * tree-complex.cc: ...here.
32932         * tree-data-ref.c: Moved to...
32933         * tree-data-ref.cc: ...here.
32934         * tree-dfa.c: Moved to...
32935         * tree-dfa.cc: ...here.
32936         * tree-diagnostic.c: Moved to...
32937         * tree-diagnostic.cc: ...here.
32938         * tree-dump.c: Moved to...
32939         * tree-dump.cc: ...here.
32940         * tree-eh.c: Moved to...
32941         * tree-eh.cc: ...here.
32942         * tree-emutls.c: Moved to...
32943         * tree-emutls.cc: ...here.
32944         * tree-if-conv.c: Moved to...
32945         * tree-if-conv.cc: ...here.
32946         * tree-inline.c: Moved to...
32947         * tree-inline.cc: ...here.
32948         * tree-into-ssa.c: Moved to...
32949         * tree-into-ssa.cc: ...here.
32950         * tree-iterator.c: Moved to...
32951         * tree-iterator.cc: ...here.
32952         * tree-loop-distribution.c: Moved to...
32953         * tree-loop-distribution.cc: ...here.
32954         * tree-nested.c: Moved to...
32955         * tree-nested.cc: ...here.
32956         * tree-nrv.c: Moved to...
32957         * tree-nrv.cc: ...here.
32958         * tree-object-size.c: Moved to...
32959         * tree-object-size.cc: ...here.
32960         * tree-outof-ssa.c: Moved to...
32961         * tree-outof-ssa.cc: ...here.
32962         * tree-parloops.c: Moved to...
32963         * tree-parloops.cc: ...here.
32964         * tree-phinodes.c: Moved to...
32965         * tree-phinodes.cc: ...here.
32966         * tree-predcom.c: Moved to...
32967         * tree-predcom.cc: ...here.
32968         * tree-pretty-print.c: Moved to...
32969         * tree-pretty-print.cc: ...here.
32970         * tree-profile.c: Moved to...
32971         * tree-profile.cc: ...here.
32972         * tree-scalar-evolution.c: Moved to...
32973         * tree-scalar-evolution.cc: ...here.
32974         * tree-sra.c: Moved to...
32975         * tree-sra.cc: ...here.
32976         * tree-ssa-address.c: Moved to...
32977         * tree-ssa-address.cc: ...here.
32978         * tree-ssa-alias.c: Moved to...
32979         * tree-ssa-alias.cc: ...here.
32980         * tree-ssa-ccp.c: Moved to...
32981         * tree-ssa-ccp.cc: ...here.
32982         * tree-ssa-coalesce.c: Moved to...
32983         * tree-ssa-coalesce.cc: ...here.
32984         * tree-ssa-copy.c: Moved to...
32985         * tree-ssa-copy.cc: ...here.
32986         * tree-ssa-dce.c: Moved to...
32987         * tree-ssa-dce.cc: ...here.
32988         * tree-ssa-dom.c: Moved to...
32989         * tree-ssa-dom.cc: ...here.
32990         * tree-ssa-dse.c: Moved to...
32991         * tree-ssa-dse.cc: ...here.
32992         * tree-ssa-forwprop.c: Moved to...
32993         * tree-ssa-forwprop.cc: ...here.
32994         * tree-ssa-ifcombine.c: Moved to...
32995         * tree-ssa-ifcombine.cc: ...here.
32996         * tree-ssa-live.c: Moved to...
32997         * tree-ssa-live.cc: ...here.
32998         * tree-ssa-loop-ch.c: Moved to...
32999         * tree-ssa-loop-ch.cc: ...here.
33000         * tree-ssa-loop-im.c: Moved to...
33001         * tree-ssa-loop-im.cc: ...here.
33002         * tree-ssa-loop-ivcanon.c: Moved to...
33003         * tree-ssa-loop-ivcanon.cc: ...here.
33004         * tree-ssa-loop-ivopts.c: Moved to...
33005         * tree-ssa-loop-ivopts.cc: ...here.
33006         * tree-ssa-loop-manip.c: Moved to...
33007         * tree-ssa-loop-manip.cc: ...here.
33008         * tree-ssa-loop-niter.c: Moved to...
33009         * tree-ssa-loop-niter.cc: ...here.
33010         * tree-ssa-loop-prefetch.c: Moved to...
33011         * tree-ssa-loop-prefetch.cc: ...here.
33012         * tree-ssa-loop-split.c: Moved to...
33013         * tree-ssa-loop-split.cc: ...here.
33014         * tree-ssa-loop-unswitch.c: Moved to...
33015         * tree-ssa-loop-unswitch.cc: ...here.
33016         * tree-ssa-loop.c: Moved to...
33017         * tree-ssa-loop.cc: ...here.
33018         * tree-ssa-math-opts.c: Moved to...
33019         * tree-ssa-math-opts.cc: ...here.
33020         * tree-ssa-operands.c: Moved to...
33021         * tree-ssa-operands.cc: ...here.
33022         * tree-ssa-phiopt.c: Moved to...
33023         * tree-ssa-phiopt.cc: ...here.
33024         * tree-ssa-phiprop.c: Moved to...
33025         * tree-ssa-phiprop.cc: ...here.
33026         * tree-ssa-pre.c: Moved to...
33027         * tree-ssa-pre.cc: ...here.
33028         * tree-ssa-propagate.c: Moved to...
33029         * tree-ssa-propagate.cc: ...here.
33030         * tree-ssa-reassoc.c: Moved to...
33031         * tree-ssa-reassoc.cc: ...here.
33032         * tree-ssa-sccvn.c: Moved to...
33033         * tree-ssa-sccvn.cc: ...here.
33034         * tree-ssa-scopedtables.c: Moved to...
33035         * tree-ssa-scopedtables.cc: ...here.
33036         * tree-ssa-sink.c: Moved to...
33037         * tree-ssa-sink.cc: ...here.
33038         * tree-ssa-strlen.c: Moved to...
33039         * tree-ssa-strlen.cc: ...here.
33040         * tree-ssa-structalias.c: Moved to...
33041         * tree-ssa-structalias.cc: ...here.
33042         * tree-ssa-tail-merge.c: Moved to...
33043         * tree-ssa-tail-merge.cc: ...here.
33044         * tree-ssa-ter.c: Moved to...
33045         * tree-ssa-ter.cc: ...here.
33046         * tree-ssa-threadbackward.c: Moved to...
33047         * tree-ssa-threadbackward.cc: ...here.
33048         * tree-ssa-threadedge.c: Moved to...
33049         * tree-ssa-threadedge.cc: ...here.
33050         * tree-ssa-threadupdate.c: Moved to...
33051         * tree-ssa-threadupdate.cc: ...here.
33052         * tree-ssa-uncprop.c: Moved to...
33053         * tree-ssa-uncprop.cc: ...here.
33054         * tree-ssa-uninit.c: Moved to...
33055         * tree-ssa-uninit.cc: ...here.
33056         * tree-ssa.c: Moved to...
33057         * tree-ssa.cc: ...here.
33058         * tree-ssanames.c: Moved to...
33059         * tree-ssanames.cc: ...here.
33060         * tree-stdarg.c: Moved to...
33061         * tree-stdarg.cc: ...here.
33062         * tree-streamer-in.c: Moved to...
33063         * tree-streamer-in.cc: ...here.
33064         * tree-streamer-out.c: Moved to...
33065         * tree-streamer-out.cc: ...here.
33066         * tree-streamer.c: Moved to...
33067         * tree-streamer.cc: ...here.
33068         * tree-switch-conversion.c: Moved to...
33069         * tree-switch-conversion.cc: ...here.
33070         * tree-tailcall.c: Moved to...
33071         * tree-tailcall.cc: ...here.
33072         * tree-vect-data-refs.c: Moved to...
33073         * tree-vect-data-refs.cc: ...here.
33074         * tree-vect-generic.c: Moved to...
33075         * tree-vect-generic.cc: ...here.
33076         * tree-vect-loop-manip.c: Moved to...
33077         * tree-vect-loop-manip.cc: ...here.
33078         * tree-vect-loop.c: Moved to...
33079         * tree-vect-loop.cc: ...here.
33080         * tree-vect-patterns.c: Moved to...
33081         * tree-vect-patterns.cc: ...here.
33082         * tree-vect-slp-patterns.c: Moved to...
33083         * tree-vect-slp-patterns.cc: ...here.
33084         * tree-vect-slp.c: Moved to...
33085         * tree-vect-slp.cc: ...here.
33086         * tree-vect-stmts.c: Moved to...
33087         * tree-vect-stmts.cc: ...here.
33088         * tree-vector-builder.c: Moved to...
33089         * tree-vector-builder.cc: ...here.
33090         * tree-vectorizer.c: Moved to...
33091         * tree-vectorizer.cc: ...here.
33092         * tree-vrp.c: Moved to...
33093         * tree-vrp.cc: ...here.
33094         * tree.c: Moved to...
33095         * tree.cc: ...here.
33096         * tsan.c: Moved to...
33097         * tsan.cc: ...here.
33098         * typed-splay-tree.c: Moved to...
33099         * typed-splay-tree.cc: ...here.
33100         * ubsan.c: Moved to...
33101         * ubsan.cc: ...here.
33102         * valtrack.c: Moved to...
33103         * valtrack.cc: ...here.
33104         * value-prof.c: Moved to...
33105         * value-prof.cc: ...here.
33106         * var-tracking.c: Moved to...
33107         * var-tracking.cc: ...here.
33108         * varasm.c: Moved to...
33109         * varasm.cc: ...here.
33110         * varpool.c: Moved to...
33111         * varpool.cc: ...here.
33112         * vec-perm-indices.c: Moved to...
33113         * vec-perm-indices.cc: ...here.
33114         * vec.c: Moved to...
33115         * vec.cc: ...here.
33116         * vmsdbgout.c: Moved to...
33117         * vmsdbgout.cc: ...here.
33118         * vr-values.c: Moved to...
33119         * vr-values.cc: ...here.
33120         * vtable-verify.c: Moved to...
33121         * vtable-verify.cc: ...here.
33122         * web.c: Moved to...
33123         * web.cc: ...here.
33124         * xcoffout.c: Moved to...
33125         * xcoffout.cc: ...here.
33127 2022-01-17  qing zhao  <qing.zhao@oracle.com>
33129         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
33130         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
33131         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
33132         specially.
33133         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
33134         (warn_uninitialized_vars): Likewise.
33135         (warn_uninitialized_phi): Likewise.
33137 2022-01-17  Jason Merrill  <jason@redhat.com>
33139         * diagnostic.h (struct diagnostic_context): Add includes_seen.
33140         * diagnostic.c (diagnostic_initialize): Initialize it.
33141         (diagnostic_finish): Clean it up.
33142         (includes_seen): New function.
33143         (diagnostic_report_current_module): Use it.
33145 2022-01-17  Richard Biener  <rguenther@suse.de>
33147         PR middle-end/101292
33148         * diagnostic-spec.c (copy_warning): Make sure to not
33149         reference old hashtable content on possible resize.
33150         * warning-control.cc (copy_warning): Likewise.
33152 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
33154         PR target/103973
33155         * tree-cfg.h (cond_only_block_p): Declare.
33156         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
33157         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
33158         * optabs.def (spaceship_optab): New optab.
33159         * internal-fn.def (SPACESHIP): New internal function.
33160         * internal-fn.h (expand_SPACESHIP): Declare.
33161         * internal-fn.c (expand_PHI): Formatting fix.
33162         (expand_SPACESHIP): New function.
33163         * tree-ssa-math-opts.c (optimize_spaceship): New function.
33164         (math_opts_dom_walker::after_dom_children): Use it.
33165         * config/i386/i386.md (spaceship<mode>3): New define_expand.
33166         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
33167         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
33168         * doc/md.texi (spaceship@var{m}3): Document.
33170 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
33172         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
33173         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
33174         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
33175         known constant values to simplify code.
33177 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
33179         PR target/103124
33180         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
33182 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
33184         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
33185         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
33186         Insert zero-idiom in output template when attr enabled, set new attribute to
33187         true for non-mask/maskz insn.
33188         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
33189         Likewise.
33190         (avx512dq_mul<mode>3<mask_name>): Likewise.
33191         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
33192         (avx2_perm<mode>_1<mask_name>): Likewise.
33193         (avx512f_perm<mode>_1<mask_name>): Likewise.
33194         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
33195         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
33196         Likewise.
33197         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
33198         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
33199         Likewise.
33200         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
33201         subst_attr.
33202         (mask4_dest_false_dep_for_glc_cond): Likewise.
33203         (mask6_dest_false_dep_for_glc_cond): Likewise.
33204         (mask10_dest_false_dep_for_glc_cond): Likewise.
33205         (maskc_dest_false_dep_for_glc_cond): Likewise.
33206         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
33207         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
33208         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
33209         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
33211 2022-01-15  Martin Sebor  <msebor@redhat.com>
33213         PR c/63272
33214         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
33215         -Wdangling-pointer.
33216         * doc/invoke.texi (-Wdangling-pointer): Document new option.
33217         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
33218         (pass_waccess::check_pointer_uses): New function.
33219         (pass_waccess::gimple_call_return_arg): New function.
33220         (pass_waccess::gimple_call_return_arg_ref): New function.
33221         (pass_waccess::check_call_dangling): New function.
33222         (pass_waccess::check_dangling_uses): New function overloads.
33223         (pass_waccess::check_dangling_stores): New function.
33224         (pass_waccess::check_dangling_stores): New function.
33225         (pass_waccess::m_clobbers): New data member.
33226         (pass_waccess::m_func): New data member.
33227         (pass_waccess::m_run_number): New data member.
33228         (pass_waccess::m_check_dangling_p): New data member.
33229         (pass_waccess::check_alloca): Check m_early_checks_p.
33230         (pass_waccess::check_alloc_size_call): Same.
33231         (pass_waccess::check_strcat): Same.
33232         (pass_waccess::check_strncat): Same.
33233         (pass_waccess::check_stxcpy): Same.
33234         (pass_waccess::check_stxncpy): Same.
33235         (pass_waccess::check_strncmp): Same.
33236         (pass_waccess::check_memop_access): Same.
33237         (pass_waccess::check_read_access): Same.
33238         (pass_waccess::check_builtin): Call check_pointer_uses.
33239         (pass_waccess::warn_invalid_pointer): Add arguments.
33240         (is_auto_decl): New function.
33241         (pass_waccess::check_stmt): New function.
33242         (pass_waccess::check_block): Call check_stmt.
33243         (pass_waccess::execute): Call check_dangling_uses,
33244         check_dangling_stores.  Empty m_clobbers.
33245         * passes.def (pass_warn_access): Invoke pass two more times.
33247 2022-01-15  Martin Sebor  <msebor@redhat.com>
33249         PR tree-optimization/80532
33250         * common.opt (-Wuse-after-free): New options.
33251         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
33252         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
33253         * diagnostic-spec.h (NW_DANGLING): New enumerator.
33254         * doc/invoke.texi (-Wuse-after-free): Document new option.
33255         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
33256         (pass_waccess::check_call_access): ...to this.
33257         (pass_waccess::check): Rename...
33258         (pass_waccess::check_block): ...to this.
33259         (pass_waccess::check_pointer_uses): New function.
33260         (pass_waccess::gimple_call_return_arg): New function.
33261         (pass_waccess::warn_invalid_pointer): New function.
33262         (pass_waccess::check_builtin): Handle free and realloc.
33263         (gimple_use_after_inval_p): New function.
33264         (get_realloc_lhs): New function.
33265         (maybe_warn_mismatched_realloc): New function.
33266         (pointers_related_p): New function.
33267         (pass_waccess::check_call): Call check_pointer_uses.
33268         (pass_waccess::execute): Compute and free dominance info.
33270 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
33272         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
33273         expand_simple_unop and expand_simple_binop instead of manually
33274         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
33275         consistently.  Eliminate common subexpressions and simplify code.
33276         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
33277         (<any_logic:code><MODEF:mode>3): Make public.
33279 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
33281         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
33282         reverse flag as "reverse" for the sake of consistency.
33283         * ipa-sra.c: Fix copyright year.
33284         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
33285         (dump_isra_access): Tweak dump line.
33286         (isra_write_node_summary): Write the reverse flag.
33287         (isra_read_node_info): Read it.
33288         (pull_accesses_from_callee): Test its consistency and copy it.
33290 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
33292         PR middle-end/104026
33293         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
33294         partial_load_store_bias.
33296 2022-01-14  Martin Sebor  <msebor@redhat.com>
33298         PR middle-end/101475
33299         * pointer-query.cc (handle_component_ref): Use the size of
33300         the enclosing object if it's smaller than the member.
33302 2022-01-14  Martin Liska  <mliska@suse.cz>
33304         * configure: Regenerate.
33306 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
33308         * config/i386/i386.md (*add<mode>_1_slp"):
33309         Mark alternative 1 output operand earlyclobbered.
33310         (*sub<mode>_1_slp): Ditto.
33311         (*and<mode>_1_slp): Ditto.
33312         (*<code><mode>_1_slp): Ditto.
33313         (*neg<mode>_1_slp): Ditto.
33314         (*one_cmpl<mode>_1_slp): Ditto.
33315         (*ashl<mode>3_1_slp): Ditto.
33316         (*<insn><mode>3_1_slp): Ditto.
33317         (*<insn><mode>3_1_slp): Ditto.
33319 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
33321         PR tree-optimization/104015
33322         * tree-vect-loop.c (vect_analyze_loop): Check
33323         param_vect_partial_vector_usage for supports_partial_vectors.
33325 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
33327         PR c++/89074
33328         * fold-const.c (address_compare): Punt on comparison of address of
33329         one object with address of end of another object if
33330         folding_initializer.
33332 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
33334         PR target/98737
33335         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
33336         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
33337         and __atomic_op_fetch (p, x, y) iop x into
33338         __atomic_fetch_op (p, x, y).
33340 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
33342         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
33343         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
33344         (INCOMING_RETURN_ADDR_RTX): Likewise.
33345         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
33347 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
33349         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
33350         computin checking accumulator regs.
33351         (arc_expand_prologue): Update comments.
33352         (arc_expand_epilogue): Likewise.
33354 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
33355             Uroš Bizjak  <ubizjak@gmail.com>
33357         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
33358         (ix86_expand_ti_to_v1ti): Use force_reg.
33359         (ix86_expand_v1ti_shift): Use force_reg.
33360         (ix86_expand_v1ti_rotate): Use force_reg.
33361         (ix86_expand_v1ti_ashiftrt): Provide new three operation
33362         implementations for shifts by 111..126 bits.  Use force_reg.
33364 2022-01-14  Martin Liska  <mliska@suse.cz>
33366         * common/config/arm/arm-common.c (arm_target_mode): Fix
33367         warning: unterminated quoting directive [-Wformat=].
33369 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
33371         PR tree-optimization/104009
33372         * tree-object-size.c (compute_builtin_object_size): Bail out on
33373         negative offset.
33374         (plus_stmt_object_size): Return maximum of wholesize and minimum
33375         of 0 for negative offset.
33377 2022-01-14  liuhongt  <hongtao.liu@intel.com>
33379         PR target/104001
33380         PR target/94790
33381         PR target/104014
33382         * config/i386/i386.md (*xor2andn): Refine predicate of
33383         operands[0] from nonimmediate_operand to
33384         register_operand, remove TARGET_AVX512BW from condition.
33386 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
33388         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
33389         be used on field decls.
33390         (Common Function Attributes): Add entry on "tainted_args" attribute.
33392 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
33393             Jason Merrill  <jason@redhat.com>
33395         PR c++/70417
33396         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
33398 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
33400         PR target/103861
33401         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
33402         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
33403         * config/i386/mmx.md (<any_shift:insn>v2qi):
33404         New insn_and_split pattern.
33406 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
33408         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
33409         (expand_partial_store_optab_fn): Likewise.
33410         (internal_len_load_store_bias): New function.
33411         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
33412         (internal_len_load_store_bias): New function.
33413         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
33414         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
33415         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
33416         (vect_estimate_min_profitable_iters): Account for bias.
33417         (vect_get_loop_len): Add bias-adjusted length.
33418         * tree-vect-stmts.c (vectorizable_store): Use.
33419         (vectorizable_load): Use.
33420         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
33421         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
33422         * config/rs6000/vsx.md: Use const0 bias predicate.
33423         * doc/md.texi: Document bias value.
33425 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
33427         PR tree-optimization/83072
33428         PR tree-optimization/83073
33429         PR tree-optimization/97909
33430         * fold-const.c (expr_not_equal_to): Use a multi-range class.
33432 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
33434         PR tree-optimization/96707
33435         * range-op.cc (operator_rshift::lhs_op1_relation): New.
33437 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
33439         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
33440         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
33441         (negv2qi splitters): Use lowpart_subreg instead of
33442         gen_lowpart to create subreg.
33443         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
33444         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
33445         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
33446         gen_lowpart to create subreg.
33447         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
33449 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
33451         PR target/104003
33452         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
33454 2022-01-13  Martin Liska  <mliska@suse.cz>
33456         * common/config/arm/arm-common.c (arm_target_mode): Wrap
33457         keywords with %<, %> and remove trailing punctuation char.
33458         (arm_canon_arch_option_1): Likewise.
33459         (arm_asm_auto_mfpu): Likewise.
33460         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
33461         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
33462         (use_vfp_abi): Likewise.
33463         (aapcs_vfp_is_call_or_return_candidate): Likewise.
33464         (arm_handle_cmse_nonsecure_entry): Likewise.
33465         (arm_handle_cmse_nonsecure_call): Likewise.
33466         (thumb1_md_asm_adjust): Likewise.
33468 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
33470         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
33471         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
33472         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
33473         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
33474         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
33475         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
33476         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
33477         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
33478         macro.
33480 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
33482         PR tree-optimization/103989
33483         * tree-inline.c (setup_one_parameter): Don't copy parms with
33484         empty type.
33486 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
33488         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
33489         'TYPE_ADDR_SPACE' for offloading.
33490         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
33491         'TYPE_ADDR_SPACE' for offloading.
33493 2022-01-13  Julian Brown  <julian@codesourcery.com>
33494             Thomas Schwinge  <thomas@codesourcery.com>
33496         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
33497         of...
33498         (add_async_clauses_and_wait): ...here. Call new outlined function.
33499         (decompose_kernels_region_body): Add wait at the end of
33500         explicitly-asynchronous kernels regions.
33502 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
33504         PR middle-end/100280
33505         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
33506         Mark variables used in synthesized data clauses as addressable.
33508 2022-01-13  Martin Liska  <mliska@suse.cz>
33510         * config/epiphany/epiphany.c (epiphany_mode_priority):
33511         Use gcc_unreachable for not handled cases.
33513 2022-01-13  Martin Liska  <mliska@suse.cz>
33515         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
33516         Use %qs format specifier.
33517         (epiphany_override_options): Wrap keyword in %<, %>.
33519 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
33521         PR target/94790
33522         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
33524 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
33526         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
33528 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
33530         PR target/100637
33531         PR target/103861
33532         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
33533         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
33534         when constructing vector logic RTXes.
33535         (expand_vec_perm_pshufb2): Ditto.
33536         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
33537         (<plusminus:insn>v2qi3): Ditto.
33538         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
33539         (vcondu<mode><mode>): Ditto.
33540         (vcond_mask_<mode><mode>): Ditto.
33541         (one_cmpl<VI_32:mode>2): Remove expander.
33542         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
33543         Use VI_16_32 mode iterator.
33544         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
33545         Use lowpart_subreg instead of gen_lowpart to create subreg.
33546         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
33547         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
33548         Disparage GPR alternative a bit.  Add CC clobber.
33549         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
33550         Use lowpart_subreg instead of gen_lowpart to create subreg.
33551         (*<any_logic:code><VI_16_32:mode>3): Merge from
33552         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
33553         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
33554         Add CC clobber.
33555         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
33556         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
33558 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
33560         * configure.ac: Check sizeof ino_t and dev_t.
33561         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
33562         syscall being able to handle 64bit inodes.
33563         * config.in: Regenerate.
33564         * configure: Regenerate.
33565         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
33566         (remove_duplicates): Use it.
33568 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
33570         PR tree-optimization/103551
33571         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
33573 2022-01-12  Richard Biener  <rguenther@suse.de>
33575         PR tree-optimization/103990
33576         * tree-pass.h (tail_merge_optimize): Drop unused argument.
33577         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
33578         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
33579         and adjust call to tail_merge_optimize.
33581 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
33583         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
33584         does not add autovectorize_vector_modes.
33586 2022-01-12  Martin Liska  <mliska@suse.cz>
33588         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
33589         %qs where possible.
33590         (aarch64_parse_sve_width_string): Likewise.
33591         (aarch64_override_options_internal): Likewise.
33592         (aarch64_print_hint_for_extensions): Likewise.
33593         (aarch64_validate_sls_mitigation): Likewise.
33594         (aarch64_handle_attr_arch): Likewise.
33595         (aarch64_handle_attr_cpu): Likewise.
33596         (aarch64_handle_attr_tune): Likewise.
33597         (aarch64_handle_attr_isa_flags): Likewise.
33599 2022-01-12  Martin Liska  <mliska@suse.cz>
33601         * config.gcc: Include elfos.h before ${tm_file}.
33603 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
33605         * config/cris/cris.c: Quote identifiers in parameters to error
33606         and internal_error, and remove extraneous spaces with punctuation.
33607         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
33608         expression to internal_error, pass it as a parameter instead of
33609         appending it to the format part.
33611 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
33613         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
33614         parameter to as_a.
33616 2022-01-11  qing zhao  <qing.zhao@oracle.com>
33618         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
33619         Change the 3rd argument of function .DEFERRED_INIT to the name of the
33620         decl.
33621         (gimplify_decl_expr): Delete the 3rd argument when call
33622         gimple_add_init_for_auto_var.
33623         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
33624         the 3rd argument change of function .DEFERRED_INIT.
33625         * tree-cfg.c (verify_gimple_call): Update comments and verification
33626         to reflect the 3rd argument change of function .DEFERRED_INIT.
33627         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
33628         (sra_modify_deferred_init): Change the 3rd argument of function
33629         .DEFERRED_INIT to the name of the decl.
33631 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
33633         * flag-types.h (enum gfc_convert): Add flags for
33634         conversion.
33636 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
33638         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
33639         checks for only C/C++ front ends before allowing the long double
33640         format to change without a warning.
33642 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
33644         PR rtl-optimization/103974
33645         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
33646         extra argument, default true, that says whether old-reload
33647         targets should be excluded.
33648         * ira-color.c (color_pass): Pass false.
33650 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
33652         PR target/103861
33653         * config/i386/mmx.md (vcond<mode><mode>):
33654         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
33655         (vcondu<mode><mode>): Ditto.
33656         (vcond_mask_<mode><mode>): Ditto.
33657         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
33658         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
33659         Use VI_16_32 mode iterator.
33660         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
33661         Update for rename.  Handle V2QImode.
33662         (expand_vec_perm_blend): Update for rename.
33664 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
33666         PR c++/101597
33667         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
33669 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
33671         PR middle-end/70090
33672         * tree-object-size.c (size_valid_p): New function.
33673         (size_for_offset): Remove OFFSET constness assertion.
33674         (addr_object_size): Build dynamic expressions for object
33675         sizes and use size_valid_p to decide if it is valid for the
33676         given OBJECT_SIZE_TYPE.
33677         (compute_builtin_object_size): Allow dynamic offsets when
33678         computing size at O0.
33679         (call_object_size): Call size_valid_p.
33680         (plus_stmt_object_size): Allow non-constant offset and use
33681         size_valid_p to decide if it is valid for the given
33682         OBJECT_SIZE_TYPE.
33684 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
33686         PR middle-end/70090
33687         * tree-object-size.c (alloc_object_size): Make and return
33688         non-constant size expression.
33689         (call_object_size): Return expression or unknown based on
33690         whether dynamic object size is requested.
33692 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
33694         PR middle-end/70090
33695         * tree-object-size.c: Include tree-dfa.h.
33696         (parm_object_size): New function.
33697         (collect_object_sizes_for): Call it.
33699 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
33701         PR middle-end/70090
33702         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
33703         expressions.
33704         * tree-object-size.c: Include gimplify-me.h.
33705         (struct object_size_info): New member UNKNOWNS.
33706         (size_initval_p, size_usable_p, object_sizes_get_raw): New
33707         functions.
33708         (object_sizes_get): Return suitable gimple variable for
33709         object size.
33710         (bundle_sizes): New function.
33711         (object_sizes_set): Use it and handle dynamic object size
33712         expressions.
33713         (object_sizes_set_temp): New function.
33714         (size_for_offset): Adjust for dynamic size expressions.
33715         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
33716         New functions.
33717         (compute_builtin_object_size): Call gimplify_size_expressions
33718         for OST_DYNAMIC.
33719         (dynamic_object_size): New function.
33720         (cond_expr_object_size): Use it.
33721         (phi_dynamic_object_size): New function.
33722         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
33723         accommodate dynamic object sizes.
33725 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
33726             Jakub Jelinek  <jakub@redhat.com>
33728         PR tree-optimization/103961
33729         * tree-object-size.c (plus_stmt_object_size): Always avoid
33730         computing offset for -1 size.
33732 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
33734         PR tree-optimization/103821
33735         * range-op.cc (range_operator::fold_range): Only do precise ranges
33736         when there are not too many subranges.
33738 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
33740         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
33741         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
33743 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
33744             Richard Biener  <rguenther@suse.de>
33746         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
33747         highpart_mults_inserted field.
33748         (convert_mult_to_highpart): New function to convert right shift
33749         of a widening multiply into a MULT_HIGHPART_EXPR.
33750         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
33751         Call new convert_mult_to_highpart function.
33752         (pass_optimize_widening_mul::execute): Add a statistics counter
33753         for tracking "highpart multiplications inserted" events.
33755 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
33757         PR target/102239
33758         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
33759         declare.
33760         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
33761         function.
33762         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
33764 2022-01-11  Olivier Hainque  <hainque@adacore.com>
33766         * gcc.c (driver_handle_option): State --sysroot as
33767         validated.
33769 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
33771         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
33772         useless related to option -mno-power10.
33774 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
33776         PR target/53652
33777         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
33778         operands[1] from register_operand to vector_operand.
33780 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
33782         PR target/103861
33783         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
33784         Handle V2QImode.
33785         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
33786         Use VI1_16_32 mode iterator.
33787         (*eq<mode>3): Ditto.
33788         (*gt<mode>3): Ditto.
33789         (*xop_maskcmp<mode>3): Ditto.
33790         (*xop_maskcmp_uns<mode>3): Ditto.
33791         (vec_cmp<mode><mode>): Ditto.
33792         (vec_cmpu<mode><mode>): Ditto.
33794 2022-01-10  Richard Biener  <rguenther@suse.de>
33796         PR tree-optimization/103948
33797         * tree-vect-generic.c (expand_vector_condition): Return true if
33798         all ones vector is returned for true, all zeros vector for false
33799         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
33801 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
33803         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
33804         when _ARCH_PWR10. Use signed types.
33805         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
33806         (_mm_blendv_pd): Likewise.
33808 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
33810         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
33811         epilogue costing.
33812         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
33813         epilogues, unless we are guaranteed that we can't have partial vectors.
33814         * genopinit.c: (partial_vectors_supported): Generate new function.
33816 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
33818         PR target/102024
33819         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
33820         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
33821         always ignore them, when seeing other zero sized bitfields, either
33822         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
33823         it.  Pass it to recursive calls.  Add wrapper
33824         with old arguments and diagnose ABI differences for C structures
33825         with zero width bitfields.  Formatting fixes.
33827 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
33829         PR rtl-optimization/98782
33830         * ira-int.h (ira_soft_conflict): Declare.
33831         * ira-color.c (max_soft_conflict_loop_depth): New constant.
33832         (ira_soft_conflict): New function.
33833         (spill_soft_conflicts): Likewise.
33834         (assign_hard_reg): Use them to handle the case described by
33835         the comment above ira_soft_conflict.
33836         (improve_allocation): Likewise.
33837         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
33838         to share the same register.
33840 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
33842         PR rtl-optimization/98782
33843         * ira-int.h (ira_caller_save_cost): New function.
33844         (ira_caller_save_loop_spill_p): Likewise.
33845         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
33846         cheaper to spill a call-clobbered register throughout a loop rather
33847         than spill it around each individual call.  If so, treat all
33848         call-clobbered registers as conflicts and...
33849         (propagate_allocno_info): ...do not propagate call information
33850         from the child to the parent.
33851         * ira-color.c (move_spill_restore): Update accordingly.
33852         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
33854 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
33856         PR rtl-optimization/98782
33857         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
33858         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
33859         (ira_single_region_allocno_p): New function.
33860         (ira_total_conflict_hard_regs): Likewise.
33861         * ira-build.c (ira_create_allocno): Initialize
33862         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
33863         (ira_propagate_hard_reg_costs): New function.
33864         (propagate_allocno_info): Use it.  Try to avoid propagating
33865         hard register conflicts to parent allocnos if we can handle
33866         the conflicts by spilling instead.  Limit the propagated
33867         register costs to the cost of spilling throughout the child loop.
33868         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
33869         test whether a child and parent allocno can share the same
33870         register.
33871         (move_spill_restore): Adjust for the new behavior of
33872         propagate_allocno_info.
33874 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
33876         PR rtl-optimization/98782
33877         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
33878         extracted from...
33879         * ira-color.c (color_pass): ...here.
33881 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
33883         PR rtl-optimization/98782
33884         * ira-color.c (color_pass): Add comments to describe the spill costs.
33885         (move_spill_restore): Likewise.  Fix reversed calculation.
33887 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
33889         PR rtl-optimization/98782
33890         * ira-int.h (ira_loop_border_costs): New class.
33891         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
33892         New constructor.
33893         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
33894         (color_pass): Likewise.
33895         (move_spill_restore): Likewise.
33897 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
33899         PR target/103465
33900         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
33902 2022-01-10  Richard Biener  <rguenther@suse.de>
33904         PR tree-optimization/100359
33905         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
33906         Allow non-growing peeling with !allow_peel and UL_ALL.
33908 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
33910         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
33911         special case for TImode to V1TImode moves, going via V2DImode.
33913 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
33915         PR c++/89074
33916         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
33917         simplification.
33919 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
33921         * doc/analyzer.texi
33922         (Special Functions for Debugging the Analyzer): Document
33923         __analyzer_dump_escaped.
33925 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
33927         * doc/analyzer.texi (Other Debugging Techniques): Document
33928         region::is_named_decl_p.
33930 2022-01-07  Andrew Pinski  <apinski@marvell.com>
33932         PR target/102941
33933         * config/arm/aarch-common.c (arm_md_asm_adjust):
33934         Use a temp if !REG_P.
33936 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
33938         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
33939         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
33941 2022-01-07  liuhongt  <hongtao.liu@intel.com>
33943         PR rtl-optimization/103750
33944         * fwprop.c (forward_propagate_into): Allow propagations from
33945         inner loop to outer loop.
33947 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
33949         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
33951 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
33953         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
33954         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
33955         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
33957 2022-01-07  liuhongt  <hongtao.liu@intel.com>
33959         * config/i386/sse.md
33960         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
33961         UNSPEC_PCMP_UNSIGNED.
33963 2022-01-07  liuhongt  <hongtao.liu@intel.com>
33965         PR target/103753
33966         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
33967         gen_avx2_pblendph_1 when elt == 0.
33968         * config/i386/sse.md (avx2_pblendph): Rename to ..
33969         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
33970         (*avx2_pblendw): Rename to ..
33971         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
33972         (avx2_pblendw): Rename to ..
33973         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
33974         (blendsuf): Removed.
33975         (sse4_1_pblend<blendsuf>): Renamed to ..
33976         (sse4_1_pblend<ssemodesuffix>): .. this.
33978 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
33980         PR target/103925
33981         * config/i386/i386.c (ix86_output_indirect_function_return):
33982         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
33984 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
33986         PR target/102952
33987         * config/i386/i386-opts.h (harden_sls): Replace
33988         harden_sls_indirect_branch with harden_sls_indirect_jmp.
33989         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
33990         Likewise.
33991         (ix86_output_indirect_jmp): Likewise.
33992         (ix86_output_call_insn): Likewise.
33993         * config/i386/i386.opt: Replace indirect-branch with
33994         indirect-jmp.  Replace harden_sls_indirect_branch with
33995         harden_sls_indirect_jmp.
33996         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
33997         indirect-jmp.
33999 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
34001         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
34002         Add %q modifier for operands in general registers.
34003         <MODE_SI>: Add %q modifier for operands in general registers.
34004         * config/i386/i386.md (*movhi_internal): Change type attribute of
34005         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
34006         to SImode for non-avx512fp16 targets.
34007         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
34008         * config/i386/mmx.md (*movv2qi_internal):
34009         Ditto for xmm-gpr interunit alternatives 8,9.
34011 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
34013         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
34014         vector extensions.
34015         (riscv_ext_version_table): Add version info for vector extensions.
34016         (riscv_ext_flag_table): Add option mask for vector extensions.
34017         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
34018         (MASK_VECTOR_EEW_64): New.
34019         (MASK_VECTOR_EEW_FP_32): New.
34020         (MASK_VECTOR_EEW_FP_64): New.
34021         (MASK_ZVL32B): New.
34022         (MASK_ZVL64B): New.
34023         (MASK_ZVL128B): New.
34024         (MASK_ZVL256B): New.
34025         (MASK_ZVL512B): New.
34026         (MASK_ZVL1024B): New.
34027         (MASK_ZVL2048B): New.
34028         (MASK_ZVL4096B): New.
34029         (MASK_ZVL8192B): New.
34030         (MASK_ZVL16384B): New.
34031         (MASK_ZVL32768B): New.
34032         (MASK_ZVL65536B): New.
34033         (TARGET_ZVL32B): New.
34034         (TARGET_ZVL64B): New.
34035         (TARGET_ZVL128B): New.
34036         (TARGET_ZVL256B): New.
34037         (TARGET_ZVL512B): New.
34038         (TARGET_ZVL1024B): New.
34039         (TARGET_ZVL2048B): New.
34040         (TARGET_ZVL4096B): New.
34041         (TARGET_ZVL8192B): New.
34042         (TARGET_ZVL16384B): New.
34043         (TARGET_ZVL32768B): New.
34044         (TARGET_ZVL65536B): New.
34045         * config/riscv/riscv.opt (Mask(VECTOR)): New.
34046         (riscv_vector_eew_flags): New.
34047         (riscv_zvl_flags): New.
34049 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
34051         * common/config/riscv/riscv-common.c
34052         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
34053         digit.
34055 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
34057         PR tree-optimization/103899
34058         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
34059         warning by moving context variable to the only spot where it is used
34060         and moving gcc_assert into if body.
34062 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
34064         PR rtl-optimization/103908
34065         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
34066         asm goto.
34068 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
34070         PR target/103622
34071         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
34072         Skip over instances with undefined function types.
34074 2022-01-05  Andrew Pinski  <apinski@marvell.com>
34076         PR target/103910
34077         * config/i386/i386.h (x86_mfence): Mark with GTY.
34079 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
34081         PR target/103861
34082         * config/i386/mmx.md (VI_16_32): New mode iterator.
34083         (VI1_16_32): Ditto.
34084         (mmxvecsize): Handle V2QI mode.
34085         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
34086         Use VI1_16_32 mode iterator.
34087         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
34088         Use VI1_16_32 mode iterator.
34089         (abs<mode>2): Use VI_16_32 mode iterator.
34090         (uavgv2qi3_ceil): New insn pattern.
34092 2022-01-05  Martin Sebor  <msebor@redhat.com>
34094         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
34095         %qs to avoid -Wformat-diag.
34097 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
34099         PR target/103915
34100         * config/i386/mmx.md (one_cmplv2qi2): Change
34101         alternatives 1,2 type from sselog to sselog1.
34103 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
34105         PR target/103905
34106         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
34107         narrow mode remapped elements for !one_operand_p case.
34109 2022-01-05  Richard Biener  <rguenther@suse.de>
34111         PR tree-optimization/103816
34112         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
34113         check DR_GROUP_GAP compute for overflow and representability.
34115 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
34117         PR fortran/103691
34118         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
34119         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
34120         it can do unwanted rhs folding like &a[0] into &2.0 etc.
34122 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
34124         PR ipa/102059
34125         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
34126         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
34127         (rs6000_need_ipa_fn_target_info): New function.
34128         (rs6000_update_ipa_fn_target_info): Likewise.
34129         (rs6000_can_inline_p): Adjust for ipa function summary target info.
34130         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
34131         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
34132         summary target info.
34133         (analyze_function_body): Adjust for ipa function summary target info
34134         and call hook rs6000_need_ipa_fn_target_info and
34135         rs6000_update_ipa_fn_target_info.
34136         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
34137         target info.
34138         (inline_read_section): Likewise.
34139         (ipa_fn_summary_write): Likewise.
34140         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
34141         * doc/tm.texi: Regenerate.
34142         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
34143         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
34144         * target.def (update_ipa_fn_target_info): New hook.
34145         (need_ipa_fn_target_info): Likewise.
34146         * targhooks.c (default_need_ipa_fn_target_info): New function.
34147         (default_update_ipa_fn_target_info): Likewise.
34148         * targhooks.h (default_update_ipa_fn_target_info): New declare.
34149         (default_need_ipa_fn_target_info): Likewise.
34151 2022-01-04  Martin Sebor  <msebor@redhat.com>
34153         PR middle-end/99612
34154         * builtins.c (get_memmodel): Move warning code to
34155         gimple-ssa-warn-access.cc.
34156         (expand_builtin_atomic_compare_exchange): Same.
34157         (expand_ifn_atomic_compare_exchange): Same.
34158         (expand_builtin_atomic_load): Same.
34159         (expand_builtin_atomic_store): Same.
34160         (expand_builtin_atomic_clear): Same.
34161         * doc/extend.texi (__atomic_exchange_n): Update valid memory
34162         models.
34163         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
34164         (struct memmodel_pair): New struct.
34165         (memmodel_name): New function.
34166         (pass_waccess::maybe_warn_memmodel): New function.
34167         (pass_waccess::check_atomic_memmodel): New function.
34168         (pass_waccess::check_atomic_builtin): Handle memory model.
34169         * input.c (expansion_point_location_if_in_system_header): Return
34170         original location if expansion location is in a system header.
34172 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
34174         PR target/103861
34175         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
34176         (one_cmplv2qi3 splitters): New post-reload splitters.
34177         (*andnotv2qi3): New insn pattern.
34178         (andnotv2qi3 splitters): New post-reload splitters.
34179         (<any_logic:code>v2qi3): New insn pattern.
34180         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
34182 2022-01-04  Richard Biener  <rguenther@suse.de>
34184         PR tree-optimization/103800
34185         * tree-vect-loop.c (vectorizable_phi): Remove assert and
34186         expand comment.
34188 2022-01-04  Richard Biener  <rguenther@suse.de>
34190         PR tree-optimization/103690
34191         * tree-pass.h (tail_merge_optimize): Adjust.
34192         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
34193         to re-split critical edges, move CFG cleanup ...
34194         * tree-ssa-pre.c (pass_pre::execute): ... here, before
34195         simple_dce_from_worklist and delay freeing inserted_exprs from
34196         ...
34197         (fini_pre): .. here.
34199 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
34201         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
34202         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
34203         (setcc_from_bi): Remove SImode specific pattern.
34204         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
34205         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
34206         for sign- and zero-extending BImode predicates to integers.
34207         (setcc_int<mode>): Remove previous (-1-based) instructions.
34208         (cstorebi4): Remove BImode to SImode specific expander.
34209         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
34210         (cstore<mode>4): For both integer and floating point modes.
34212 2022-01-04  Olivier Hainque  <hainque@adacore.com>
34214         * gcc.c (driver_handle_option): do_save --sysroot.
34216 2022-01-04  Richard Biener  <rguenther@suse.de>
34218         PR tree-optimization/103864
34219         PR tree-optimization/103544
34220         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
34221         reductions wrapped in conversions from SLP handling.
34222         (vect_analyze_slp): Revert PR103544 change.
34224 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
34226         PR rtl-optimization/103860
34227         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
34228         uselessly for blocks for which it has been called already.
34230 2022-01-04  Cui,Lili  <lili.cui@intel.com>
34232         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
34233         to Alderlake and Rocketlake.
34235 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
34237         PR middle-end/103643
34238         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
34239         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
34241 2022-01-04  liuhongt  <hongtao.liu@intel.com>
34243         PR target/103895
34244         * config/i386/sse.md (*bit_and_float_vector_all_ones):
34245         Force_reg operand 1 to avoid ICE.
34247 2022-01-04  Jason Merrill  <jason@redhat.com>
34249         * tree-pretty-print.c (do_niy): Add spc parameter.
34250         (NIY): Pass it.
34251         (print_call_name): Add spc local variable.
34253 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
34255         PR target/103894
34256         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
34257         (mov<V_32:mode>_internal): Ditto.
34258         (*push<V_32:mode>_rex64): Ditto.
34259         (movmisalign<V_32:mode>): Ditto.
34260         (*push<V_32:mode>_rex64 splitter): Enable for
34261         TARGET_64BIT && TARGET_SSE.
34262         (*push<V_32:mode>2): Remove insn pattern.
34264 2022-01-03  Andrew Pinski  <apinski@marvell.com>
34266         PR c/33193
34267         * doc/extend.texi: Extend the documentation about Complex
34268         types for casting and also rewrite the __real__/__imag__
34269         expression portion to use tables.
34270         Move __builtin_complex to the Complex type section.
34272 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
34274         PR target/98737
34275         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
34276         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
34277         New internal fns.
34278         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
34279         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
34280         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
34281         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
34282         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
34283         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
34284         functions.
34285         * optabs.def (atomic_add_fetch_cmp_0_optab,
34286         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
34287         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
34288         direct optabs.
34289         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
34290         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
34291         * tree-ssa-ccp.c: Include internal-fn.h.
34292         (optimize_atomic_bit_test_and): Add . before internal fn call
34293         in function comment.  Change return type from void to bool and
34294         return true only if successfully replaced.
34295         (optimize_atomic_op_fetch_cmp_0): New function.
34296         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
34297         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
34298         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
34299         for *XOR* ones only if optimize_atomic_bit_test_and failed.
34300         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
34301         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
34302         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
34303         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
34304         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
34305         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
34306         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
34307         new named patterns.
34309 2022-01-03  Richard Biener  <rguenther@suse.de>
34311         PR middle-end/103851
34312         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
34314 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
34316         PR c++/94716
34317         * symtab.c: Include fold-const.h.
34318         (symtab_node::equal_address_to): If folding_initializer is true,
34319         handle it like memory_accessed.  Simplify.
34321 2022-01-03  Martin Liska  <mliska@suse.cz>
34323         * doc/extend.texi: Use ; for function declarations.
34325 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
34327         PR c++/103600
34328         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
34329         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
34331 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
34333         * gcc.c (process_command): Update copyright notice dates.
34334         * gcov-dump.c (print_version): Ditto.
34335         * gcov.c (print_version): Ditto.
34336         * gcov-tool.c (print_version): Ditto.
34337         * gengtype.c (create_file): Ditto.
34338         * doc/cpp.texi: Bump @copying's copyright year.
34339         * doc/cppinternals.texi: Ditto.
34340         * doc/gcc.texi: Ditto.
34341         * doc/gccint.texi: Ditto.
34342         * doc/gcov.texi: Ditto.
34343         * doc/install.texi: Ditto.
34344         * doc/invoke.texi: Ditto.
34346 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
34348         PR target/103861
34349         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
34350         (VALID_INT_MODE_P): Ditto.
34351         * config/i386/i386.c (ix86_secondary_reload): Handle
34352         V2QImode reloads from SSE register to memory.
34353         (vector_mode_supported_p): Always return true for V2QImode.
34354         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
34355         (*negqi_ext<mode>_2): Ditto.
34356         * config/i386/mmx.md (movv2qi): New expander.
34357         (movmisalignv2qi): Ditto.
34358         (*movv2qi_internal): New insn pattern.
34359         (*pushv2qi2): Ditto.
34360         (negv2qi2 and splitters): Ditto.
34361         (<plusminus:insn>v2qi3 and splitters): Ditto.
34363 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
34365         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
34366         sync_lock_test_and_set libfunc. Call convert_memory_address to
34367         convert memory address to Pmode.
34368         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
34371 Copyright (C) 2022 Free Software Foundation, Inc.
34373 Copying and distribution of this file, with or without modification,
34374 are permitted in any medium without royalty provided the copyright
34375 notice and this notice are preserved.